Aller au contenu principal

Sécurité

La sécurité dans claude-atelier est structurelle : enforced par des hooks et des scripts, pas par la bonne volonté de Claude.


Gate pré-push — 5 étapes

bash scripts/pre-push-gate.sh
ÉtapeVérificationBloquant
1. Audit secretsPatterns dangereux dans le diffOui
2. Fichiers sensibles.env, .pem, .key trackésOui
3. LintESLint / ruff / CheckstyleOui
4. Buildnpm build / mvn compileOui
5. Testsnpm test / pytestOui
danger

Un seul [FAIL] bloque le push. Jamais de --no-verify.

# Gate rapide (secrets + fichiers sensibles seulement)
bash scripts/pre-push-gate.sh --quick

Fichiers interdits de commit

.gitignore et .claudeignore :

.env
.env.*
*.pem
*.key
*.p12
id_rsa
id_ed25519
google-services.json
GoogleService-Info.plist
serviceAccountKey.json
*credentials*.json
*secret*.json
.aws/credentials
node_modules/
dist/

Permissions — deny list

{
"permissions": {
"deny": [
"Bash(sudo:*)",
"Bash(rm -rf /*)",
"Bash(git push --force:*)"
],
"allow": [
"Bash(git push:*)",
"Bash(git commit:*)"
]
}
}
Mode nuit

En acceptEdits : git push est autorisé après gate verte. sudo et rm -rf / restent en deny.


Hooks de sécurité

HookCe qu'il bloque
guard-secrets.shPatterns secrets dans le diff
guard-no-force-push.shgit push --force
guard-claudeignore.shPremier commit sans .claudeignore
guard-gitignore.shPremier commit sans .gitignore
guard-pre-push.shLance la gate complète

Urgence — secret commité

# 1. Ne pas pusher
# 2. Révoquer le secret IMMÉDIATEMENT
# 3. Nettoyer l'historique
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch <fichier>' HEAD
# 4. Notifier l'équipe

Détails : .claude/security/emergency.md