avivgerz-hue/vibe-shield

Applique un examen de sécurité défensif en six phases aux modifications affectant les applications, les API, les données, les agents IA et la configuration MCP. Utilise des preuves statiques, préserve le comportement et signale les limites.

Qu'est-ce que vibe-shield ?

Vibe Shield est un protocole structuré d'examen de sécurité défensif conçu pour les agents IA et les développeurs. Il guide les utilisateurs à travers six phases : reconnaissance de la surface d'attaque, analyse statique automatisée avec l'outil CLI `@vibefoundry/vibe-shield`, modélisation contextuelle des menaces, remédiation chirurgicale sans régression, vérification par les tests, et validation de sécurité exécutive. L'outil prend en charge les environnements modernes comme Next.js, Supabase, les agents IA et les configurations MCP. Chaque phase met l'accent sur des preuves statiques plutôt que sur l'exploitabilité, et insiste sur l'honnêteté quant aux limites et faux positifs. Le protocole est conçu pour être exécuté localement via npx, garantissant que le code source et les secrets ne sont pas transmis. L'objectif est de fournir un processus de révision reproductible, transparent et sûr pour les activités de développement à haute vélocité sans engourdir l'équipe de sécurité par de fausses affirmations.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/avivgerz-hue/vibe-shield/tree/HEAD/.claude/skills/vibe-shield

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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

Skills associés