Aller au contenu principal

Tests de sécurité

English: en/testing.md

Tests du Control Plane​

cd services/control-plane
pytest -q tests/test_security_*.py tests/test_platform_security_manifests.py
FichierCouvre
test_security_api.pyAPI de posture et réglages de sécurité
test_security_auth.pyJWT (alg none, confusion HS/RS, kid, claims), clés API
test_security_commands.pysafe_exec : injection de commande, ffmpeg, garak
test_security_config.pyDéfauts sûrs et analyse des listes
test_security_egress.pyGarde de sortie : SSRF, rebinding DNS, redirections, métadonnées
test_security_egress_wiring.pyGarde de sortie branchée sur outils, MCP, OAuth
test_security_events.pyÉvénements de sécurité dans la chaîne d'audit
test_security_http.pyEn-têtes, limites de corps, hôtes, proxys, limitation de débit, garde de démarrage
test_security_inputs.pyGabarits, YAML, traversée de chemin, IDOR, affectation de masse, CSV
test_security_prompt_injection.pyInjection directe et indirecte, sortie, canari
test_security_sql_inputs.py, test_security_sql_static.pyInjection SQL (charges et vérificateur statique)
test_security_tenant_settings.pyValidation des réglages de tenant
test_security_attack_suite.pySuite d'attaques sur toutes les opérations de l'API : authentification, rôles, fuzz d'injection, IDOR, affectation de masse, WebSocket, webhooks
test_platform_security_manifests.pyManifestes Helm, Cilium, Kyverno, PostgreSQL

Scanners (commandes de .gitlab-ci.yml)​

OutilCommande localeJob GitLabJob Forgejo
banditbandit -r services/control-plane/src sdks/python/src --severity-level high --confidence-level mediumbanditsecurity-sast
semgrepsemgrep scan --config p/owasp-top-ten --config p/python --config p/typescript --severity ERROR --errorsemgrepsecurity-semgrep
pip-auditpip-audit --strict <projet>pip-auditsecurity-deps-python
npm auditnpm audit --audit-level=high --omit=devnpm-auditsecurity-deps-node
gitleaksgitleaks git --redact --exit-code 1 . puis gitleaks dir --redact --exit-code 1 .gitleakssecurity-secrets
Trivytrivy fs ., trivy config deploy, trivy image <image>trivy-fs, trivy-config, trivy-imagesecurity-fs
OWASP ZAP baselinezap-baseline.py -t <cible> (image ghcr.io/zaproxy/zaproxy)zap-baselinesecurity-dast
kyvernokyverno test deploy/policies/kyverno/testsmanifestssecurity-manifests
opaopa test deploy/policies/opa -vopapolicies
garakpython -m garak --model_type rest --generator_option_file deploy/ci/garak-rest.json --probes promptinject,dan,leakreplaygarakai-redteam
promptfoonpx --yes promptfoo@latest eval -c deploy/ci/promptfoo.yamlpromptfooai-redteam

Les seuils et la politique de blocage sont décrits dans ci-security-gates.