chore(release): latest 0.1.1 + sécurité/CI/docs
This commit is contained in:
parent
5084395c1e
commit
15494a735f
@ -259,11 +259,28 @@ jobs:
|
||||
run: |
|
||||
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)
|
||||
release-guard:
|
||||
name: Release Guard
|
||||
runs-on: ubuntu-latest
|
||||
needs: [code-quality, unit-tests, documentation-tests]
|
||||
needs: [code-quality, unit-tests, documentation-tests, security-audit]
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
@ -334,4 +351,3 @@ jobs:
|
||||
run: |
|
||||
echo "❌ Some tests failed!"
|
||||
exit 1
|
||||
|
||||
|
15
AGENTS.md
15
AGENTS.md
@ -179,6 +179,21 @@ Les règles détaillées de réalisation et de contrôle sont précisées dans `
|
||||
|
||||
---
|
||||
|
||||
### Agent Sécurité
|
||||
|
||||
**Rôle (Responsable)** :
|
||||
|
||||
- Mettre en œuvre et surveiller `scripts/security/audit.sh` (cargo audit, npm audit si applicable, scan de secrets).
|
||||
- Garantir l’absence de secrets en clair; gérer la rotation des secrets CI.
|
||||
- Vérifier permissions et non‑exposition d’endpoints.
|
||||
- Intégrer l’audit au `release-guard` et bloquer en cas d’échec.
|
||||
|
||||
**Artefacts :**
|
||||
|
||||
- `scripts/security/audit.sh`, `.gitea/workflows/ci.yml` (job `security-audit`), `docs/SECURITY_AUDIT.md`, `SECURITY.md`.
|
||||
|
||||
---
|
||||
|
||||
## Agents complémentaires
|
||||
|
||||
### Agent Coordination
|
||||
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1760,7 +1760,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "sdk_relay"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
@ -1,5 +1,10 @@
|
||||
# Audit de Sécurité - sdk_relay
|
||||
|
||||
- CI: job `security-audit` exécutant `scripts/security/audit.sh`.
|
||||
- Portée: cargo audit, npm audit si présent, scan de secrets.
|
||||
- Critères bloquants: vulnérabilités élevées/critiques non ignorées, secrets détectés.
|
||||
- Bloquant release via `release-guard`.
|
||||
|
||||
## Portée
|
||||
- Serveur WebSocket (8090)
|
||||
- Serveur HTTP (8091)
|
||||
@ -26,5 +31,3 @@
|
||||
## Résultats et suivi
|
||||
- Issues Gitea créées pour findings
|
||||
- Plan de remédiation par priorité
|
||||
|
||||
|
||||
|
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