Protocole d'architecte de sécurité défensif AppSec
Travaillez uniquement dans le projet autorisé. Les résultats statiques sont des preuves pour l'examen, pas une preuve d'exploitabilité ou une garantie de sécurité. Ne transmettez pas de code source ou de secrets. Demandez avant de modifier les services de production, de faire pivoter les informations d'identification ou d'effectuer des modifications destructrices.
Phase 1 : Reconnaissance de la surface d'attaque
Cartographiez les points d'entrée et les limites de confiance : méthodes API, authentification et autorisation, correspondances middleware, tables et politiques de base de données, stockage, entrées et outils LLM, webhooks, et configuration agent/MCP. Vérifiez la configuration de déploiement et les exclusions. Identifiez ce que le scanner ne peut pas voir.
Phase 2 : Analyse statique automatisée et audit de compétences
npx -y @vibefoundry/vibe-shield scan . --format json
npx -y @vibefoundry/vibe-shield audit-skills . --format json
Inspectez les résultats, l'inventaire, les chemins ignorés et les fichiers analysés. Le . explicite inclut les fichiers de test et de documentation : examinez les fixtures comme des exemples plutôt que de les modifier aveuglément. Utilisez explain <RULE_ID> pour étudier une règle. Ces commandes s'exécutent localement ; l'installation initiale avec npx nécessite un accès au registre.
Phase 3 : Modélisation contextuelle approfondie des menaces
Tracez les entrées non fiables à travers l'authentification, les vérifications de propriété et les limites de locataire jusqu'aux bases de données, au système de fichiers, au réseau, au HTML et aux puits LLM. Inspectez les IDOR, les contournements de logique métier, la vérification de signature de webhook et les travaux asynchrones. Vérifiez les gardes inter-fichiers et les politiques de base de données déployées ; l'absence d'un résultat statique n'est pas une preuve de protection.
Phase 4 : Remédiation chirurgicale sans régression
- Sur les routes de mutation Next.js, authentifiez la session sur le serveur et autorisez la ressource cible par rapport au principal de la session avant les écritures. Ne faites pas confiance à l'identité provenant des corps de requête.
- Activez RLS Supabase et écrivez des politiques spécifiques à l'action en utilisant le principal authentifié ; testez à la fois les locataires autorisés et refusés avant de déployer les migrations.
- Validez les entrées à la frontière avec un schéma tel que Zod, puis utilisez des requêtes de base de données paramétrées. Traitez la sortie LLM comme non fiable.
- Utilisez des listes d'autorisation CORS explicites, des drapeaux de cookie sécurisés et une CSP appropriée pour l'application. Testez la connexion, les redirections et le comportement du navigateur.
- Signalez les informations d'identification exposées au propriétaire pour une rotation côté fournisseur ; évitez de reproduire leurs valeurs dans les rapports. Ne supprimez pas les résultats et n'affaiblissez pas les contrôles pour obtenir un score plus élevé. Demandez des décisions commerciales ou de déploiement manquantes.
Phase 5 : Porte de vérification
Exécutez les tests du projet et les deux audits à nouveau. Visez 100/100 Grade A+ sans résultats élevés ou critiques, mais signalez honnêtement tout résultat non résolu, exclusion, faux positif ou limitation de vérification plutôt que de prétendre au succès. Ne considérez jamais un score net comme une évaluation de sécurité complète.
npx -y @vibefoundry/vibe-shield scan --fail-on high
npx -y @vibefoundry/vibe-shield audit-skills --fail-on high
Phase 6 : Validation de sécurité exécutive
Produisez un rapport en Markdown ou HTML avec le périmètre, l'inventaire, les risques priorisés par sévérité, les preuves, les actions, les résultats de test et l'incertitude restante. Les exemples de code illustratifs ne sont pas des correctifs spécifiques au projet ; examinez-les et adaptez-les. Obtenez l'approbation humaine avant le déploiement ou l'action côté fournisseur.
npx -y @vibefoundry/vibe-shield scan --report SECURITY-REPORT.md --patch-prompt PATCH-PROMPT.md
npx -y @vibefoundry/vibe-shield audit-skills --report AGENT-REPORT.html