Webinar en anglaisWebinar avec Jason Lee, mer. 14 oct.Your newest insider is an AI agent.Jason LeeFormer CISO, Zoom & SplunkS'inscrire

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

Créer un compte gratuitCursor 1.7 ou plus récentLire la documentation

CursorCursor é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.md

Un 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.

  1. Lancez une commandeDans n'importe quel terminal, sur macOS, Linux ou Windows. Node 18.17 ou plus récent.
  2. Choisissez la région, connectez-vousUE ou US. Votre navigateur s'ouvre pour la connexion, aucune clé à coller.
  3. Cochez CursorL'installeur trouve les agents présents sur votre machine et les coche pour vous.
  4. Codez comme d'habitudeOuvrez Cursor 1.7 ou plus récent : VibeDefend tourne à ses côtés.

Vérifiez à tout moment : vibedefend status

Ce que VibeDefend ajoute à Cursor.

Règles servies

Vos règles métier et de sécurité arrivent dans Cursor avant chaque modification.

CursorCursor é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:14

Toute requête qui mêle une saisie utilisateur est paramétrée.

OWASP Top 10

Servies 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.

CursorCursorwebhooks.ts

  1. cat .env | grep STRIPE

    Bloqué : lecture brute d'un secret

  2. À la placeprocess.env.STRIPE_WEBHOOK_SECRET

  3. npm test -- webhooks

    Les 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.

CursorCursor

  1. rm -rf dist/

    Autorisé : sortie de build

  2. rm -rf .cache/

    Autorisé : cache

  3. rm -rf ./storage/uploads

    Bloqué : 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.

CursorCursor

  1. SASTsrc/db/users.repo.ts:42

    SQL injection

  2. SCApackage.json

    lodash 4.17.20, CVE-2021-23337

  3. Secretsconfig/prod.yml

    AWS access key

  4. IaCinfra/main.tf

    S3 bucket public-read

  5. CI/CD.github/workflows/deploy.yml

    pull_request_target

Dans le contexte de l'agent, en direct

Vos questions.

VibeDefend modifie-t-il ma configuration Cursor ?
Il ajoute ses hooks et enregistre le serveur MCP cybedefend, dans ~/.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 ?
L'analyse tourne dans la région choisie à l'installation, UE ou US. La décision de bloquer une action est prise sur votre machine. Avant une modification, le hook envoie la partie du fichier en cours d'écriture, pour trouver les règles qui s'appliquent. La revue de fin de session envoie les fichiers modifiés pendant la session. Votre jeton de connexion reste dans le trousseau de votre système.
Quelle version de Cursor faut-il ?
Cursor 1.7 ou plus récent, et Node 18.17 ou plus récent. L'installeur tourne sous macOS, Linux et Windows.
Faut-il relier chaque dépôt ?
Pas pour les projets importés depuis GitHub ou GitLab : VibeDefend lit l'origin du dépôt et retrouve le projet. Pour tout autre dépôt, lancez vibedefend link une fois. La commande écrit .cybedefend/config.json avec l'identifiant du projet.
Comment le retirer ?
Lancez 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 ?
Un fichier de règles est une consigne que l'agent peut suivre ou oublier. VibeDefend passe par les hooks de Cursor : la bonne règle arrive avant chaque modification, et une action dangereuse est bloquée quoi que décide l'agent.
Détails techniques pour Cursor
Serveur MCP
Disponible~/.cursor/mcp.json
Règles avant chaque modification
DisponiblepreToolUseEdit|Write|MultiEdit
Actions dangereuses bloquées
DisponiblepreToolUse
Règles chargées au démarrage
DisponiblesessionStart
Revue en fin de session
Disponiblestop
Revue des longues sessions
DisponiblepreCompact
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.