chore(release): latest 0.1.1 + sécurité/CI/docs
This commit is contained in:
parent
c661490981
commit
cb08fcf6df
@ -256,11 +256,28 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "Documentation checks completed"
|
echo "Documentation checks completed"
|
||||||
|
|
||||||
|
security-audit:
|
||||||
|
name: Security Audit
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Ensure scripts executable
|
||||||
|
run: |
|
||||||
|
chmod +x scripts/security/audit.sh || true
|
||||||
|
- name: Run template security audit
|
||||||
|
run: |
|
||||||
|
if [ -f scripts/security/audit.sh ]; then
|
||||||
|
./scripts/security/audit.sh
|
||||||
|
else
|
||||||
|
echo "No security audit script (ok)"
|
||||||
|
fi
|
||||||
|
|
||||||
# Job de release guard (cohérence release)
|
# Job de release guard (cohérence release)
|
||||||
release-guard:
|
release-guard:
|
||||||
name: Release Guard
|
name: Release Guard
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [code-quality, unit-tests, documentation-tests]
|
needs: [code-quality, unit-tests, documentation-tests, security-audit]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@ -331,4 +348,3 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "❌ Some tests failed!"
|
echo "❌ Some tests failed!"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
|
12
AGENTS.md
12
AGENTS.md
@ -179,6 +179,18 @@ Les règles détaillées de réalisation et de contrôle sont précisées dans `
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### Agent Sécurité (Responsable)
|
||||||
|
**Missions**
|
||||||
|
- Orchestrer l’audit de sécurité automatisé via `scripts/security/audit.sh` (cargo audit, npm audit, scan de secrets).
|
||||||
|
- Interdire l’introduction de secrets en clair; assurer la rotation des secrets CI.
|
||||||
|
- Vérifier permissions et non‑exposition d’endpoints privés.
|
||||||
|
- Bloquer la release si l’audit échoue (intégré au `release-guard`).
|
||||||
|
|
||||||
|
**Artefacts**
|
||||||
|
- `scripts/security/audit.sh`, `.gitea/workflows/ci.yml` (job `security-audit`), `docs/SECURITY_AUDIT.md`, `SECURITY.md`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Agents complémentaires
|
## Agents complémentaires
|
||||||
|
|
||||||
### Agent Coordination
|
### Agent Coordination
|
||||||
|
@ -78,7 +78,7 @@ Cette checklist détaille tous les éléments nécessaires pour préparer le pro
|
|||||||
### 📋 **Phase 2 : Préparation du Repository**
|
### 📋 **Phase 2 : Préparation du Repository**
|
||||||
|
|
||||||
#### Repository Public
|
#### Repository Public
|
||||||
- [ ] **Créer repository public** - Sur GitHub/GitLab
|
- [ ] **Créer repository public** - Sur Gitea/GitHub/GitLab
|
||||||
- [ ] **Configurer les branches** - main, develop, feature/*
|
- [ ] **Configurer les branches** - main, develop, feature/*
|
||||||
- [ ] **Configurer les protections** - Branch protection rules
|
- [ ] **Configurer les protections** - Branch protection rules
|
||||||
- [ ] **Configurer les labels** - bug, enhancement, documentation, etc.
|
- [ ] **Configurer les labels** - bug, enhancement, documentation, etc.
|
||||||
@ -230,5 +230,3 @@ cargo update
|
|||||||
---
|
---
|
||||||
|
|
||||||
**Le projet a une base technique et documentaire excellente qui facilitera grandement son adoption par la communauté open source !** 🌟
|
**Le projet a une base technique et documentaire excellente qui facilitera grandement son adoption par la communauté open source !** 🌟
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
# Audit de Sécurité - sdk_common
|
# Audit de Sécurité - sdk_common
|
||||||
|
|
||||||
|
- CI: job `security-audit` exécutant `scripts/security/audit.sh`.
|
||||||
|
- Portée: cargo audit, npm audit si présent, scan de secrets.
|
||||||
|
- Refus release si findings bloquants (élevé/critique) ou secrets détectés.
|
||||||
|
- Rattachement `release-guard` pour bloquer push/tag.
|
||||||
|
|
||||||
## 🔍 Résumé de l'Audit
|
## 🔍 Résumé de l'Audit
|
||||||
|
|
||||||
**Date d'audit** : 19 décembre 2024
|
**Date d'audit** : 19 décembre 2024
|
||||||
@ -196,5 +201,3 @@ export BLINDBIT_API_KEY="your_api_key"
|
|||||||
---
|
---
|
||||||
|
|
||||||
**Le projet sdk_common présente un bon niveau de sécurité pour l'open source. Les recommandations ci-dessus permettront de renforcer encore la sécurité.** 🔒
|
**Le projet sdk_common présente un bon niveau de sécurité pour l'open source. Les recommandations ci-dessus permettront de renforcer encore la sécurité.** 🔒
|
||||||
|
|
||||||
|
|
||||||
|
35
scripts/security/audit.sh
Normal file
35
scripts/security/audit.sh
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "[security-audit] démarrage"
|
||||||
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. && pwd)"
|
||||||
|
cd "$ROOT_DIR"
|
||||||
|
|
||||||
|
rc=0
|
||||||
|
|
||||||
|
# 1) Audit Rust (si Cargo.toml présent et cargo disponible)
|
||||||
|
if command -v cargo >/dev/null 2>&1 && [ -f Cargo.toml ] || find . -maxdepth 2 -name Cargo.toml | grep -q . ; then
|
||||||
|
echo "[security-audit] cargo audit"
|
||||||
|
if ! cargo audit --deny warnings; then rc=1; fi || true
|
||||||
|
else
|
||||||
|
echo "[security-audit] pas de projet Rust (ok)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2) Audit npm (si package.json présent)
|
||||||
|
if [ -f package.json ]; then
|
||||||
|
echo "[security-audit] npm audit --audit-level=moderate"
|
||||||
|
if ! npm audit --audit-level=moderate; then rc=1; fi || true
|
||||||
|
else
|
||||||
|
echo "[security-audit] pas de package.json (ok)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3) Recherche de secrets grossiers
|
||||||
|
echo "[security-audit] scan secrets"
|
||||||
|
if grep -RIE "(?i)(api[_-]?key|secret|password|private[_-]?key)" --exclude-dir .git --exclude-dir node_modules --exclude-dir target --exclude "*.md" . >/dev/null 2>&1; then
|
||||||
|
echo "[security-audit] secrets potentiels détectés"; rc=1
|
||||||
|
else
|
||||||
|
echo "[security-audit] aucun secret évident"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[security-audit] terminé rc=$rc"
|
||||||
|
exit $rc
|
Loading…
x
Reference in New Issue
Block a user