Des garde-fous pour Cursor, tirés de vos propres règles.
Vos règles d'entreprise arrivent dans Cursor avant chaque modification. Ce qu'il ne doit jamais faire est bloqué avant de s'exécuter.
npx -y @cybedefend/vibedefend@latest install
Cursor écritbilling/refund.ts
export async function refund(req: Request) { const { id, amount } = await req.json(); const invoice = await db.invoices.find({ id, tenant: req.tenant, }); if (amount > 500) await approvals.second(invoice); return payments.refund(invoice, amount); }
Chaque requête est cloisonnée par tenant.
rules/data-access.mdUn remboursement de plus de 500 € demande un second validateur.
Approuvée une fois par Sofia M.Vérifié avant le commit : rien à corriger
Prêt en quatre étapes.
- Lancez une commandeDans n'importe quel terminal, sur macOS, Linux ou Windows. Node 18.17 ou plus récent.
- Choisissez la région, connectez-vousUE ou US. Votre navigateur s'ouvre pour la connexion, aucune clé à coller.
- Cochez CursorL'installeur trouve les agents présents sur votre machine et les coche pour vous.
- Codez comme d'habitudeOuvrez Cursor 1.7 ou plus récent : VibeDefend tourne à ses côtés.
Ce que VibeDefend ajoute à Cursor.
Règles servies
Vos règles métier et de sécurité arrivent dans Cursor avant chaque modification.
Cursor écritsrc/billing/cart-checkout.ts
const total = new Decimal128(cart.sum); const rows = await db.query( "SELECT * FROM carts WHERE id = $1", [id] );
Les montants utilisent Decimal128, jamais Number.
Tirée de src/billing.ts:14Toute requête qui mêle une saisie utilisateur est paramétrée.
OWASP Top 10Servies avant la modification
Garde-fou des secrets
Les lectures brutes de secrets sont refusées ; Cursor reçoit la référence gérée à la place.
Cursorwebhooks.ts
cat .env | grep STRIPEBloqué : lecture brute d'un secret
À la place
process.env.STRIPE_WEBHOOK_SECRETnpm test -- webhooksLes tests passent
Consigné pour l'équipe
Garde-fou des actions
Commandes destructrices, suppressions de schéma, chemins protégés : arrêtés avant de s'exécuter.
Cursor
rm -rf dist/Autorisé : sortie de build
rm -rf .cache/Autorisé : cache
rm -rf ./storage/uploadsBloqué : chemin protégé, fichiers des utilisateurs
Consigné pour l'équipe
Alertes en direct
Les alertes SAST, SCA, secrets, IaC et CI/CD, en direct dans la session.
Cursor
SAST
src/db/users.repo.ts:42SQL injection
SCA
package.jsonlodash 4.17.20, CVE-2021-23337
Secrets
config/prod.ymlAWS access key
IaC
infra/main.tfS3 bucket public-read
CI/CD
.github/workflows/deploy.ymlpull_request_target
Dans le contexte de l'agent, en direct
Vos questions.
VibeDefend modifie-t-il ma configuration Cursor ?
~/.cursor/hooks.json, ~/.cursor/mcp.json. Vos propres hooks restent : relancer l'installeur ne remplace que les entrées de VibeDefend.Qu'est-ce qui quitte ma machine ?
Quelle version de Cursor faut-il ?
Faut-il relier chaque dépôt ?
vibedefend link une fois. La commande écrit .cybedefend/config.json avec l'identifiant du projet.Comment le retirer ?
vibedefend uninstall : la commande retire chaque fichier installé par VibeDefend. Si vous avez installé le paquet globalement, lancez ensuite npm uninstall -g @cybedefend/vibedefend.Règles Cursor ou VibeDefend : quelle différence ?
Détails techniques pour Cursor
- Serveur MCP
- Disponible
~/.cursor/mcp.json - Règles avant chaque modification
- Disponible
preToolUseEdit|Write|MultiEdit - Actions dangereuses bloquées
- Disponible
preToolUse - Règles chargées au démarrage
- Disponible
sessionStart - Revue en fin de session
- Disponible
stop - Revue des longues sessions
- Disponible
preCompact - Rappel à chaque prompt
- Non disponiblePas d'équivalentNon disponible dans Cursor.
Ce qu'il écrit pour Cursor
~/.cursor/hooks.json~/.cursor/mcp.json
Plus le runner des hooks dans ~/.cybedefend/. Vos propres hooks restent : relancer l'installeur ne remplace que les entrées de VibeDefend.
Cursor 1.7 ou plus récent : les versions antérieures ignorent hooks.json. Si la commande cursor n'est pas dans votre PATH, l'installeur ne peut pas lire la version et installe les hooks quand même : vérifiez-la vous-même.
Un hook qui échoue ne vous bloque pas. Seul un refus du garde arrête un appel d'outil.
Quelque chose cloche ? vibedefend status donne un état en lecture seule, et vibedefend doctor répare ce qu'il peut.