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 OpenAI Codex, tirés de vos propres règles.

Vos règles d'entreprise arrivent dans Codex avant chaque patch. Ce qu'il ne doit jamais faire est bloqué avant de s'exécuter.

npx -y @cybedefend/vibedefend@latest install

Créer un compte gratuitToute version récente de OpenAI CodexLire la documentation

OpenAI CodexOpenAI Codex é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 OpenAI CodexL'installeur trouve les agents présents sur votre machine et les coche pour vous.
  4. Codez comme d'habitudeUne fois, dans Codex : lancez /hooks et approuvez les entrées cybedefend.

Vérifiez à tout moment : vibedefend status

Ce que VibeDefend ajoute à OpenAI Codex.

Règles servies

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

OpenAI CodexOpenAI Codex é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 ; OpenAI Codex reçoit la référence gérée à la place.

OpenAI CodexOpenAI Codexwebhooks.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.

OpenAI CodexOpenAI Codex

  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.

OpenAI CodexOpenAI Codex

  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 OpenAI Codex ?
Il ajoute ses hooks et enregistre le serveur MCP cybedefend, dans ~/.codex/hooks.json, ~/.codex/config.toml. 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 OpenAI Codex faut-il ?
Une version récente de OpenAI Codex, 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.
Pourquoi les hooks affichent-ils Active 0 dans Codex ?
Codex 0.131 et plus récent laisse les nouveaux hooks en sommeil tant que vous ne les avez pas approuvés. Ouvrez Codex, lancez /hooks et approuvez les entrées cybedefend.
Détails techniques pour OpenAI Codex
Serveur MCP
Disponible~/.codex/config.toml
Règles avant chaque modification
DisponiblePreToolUse^(Edit|Write|apply_patch|Bash)$Avant apply_patch, les éditions et les commandes shell qui écrivent des fichiers. Les commandes en lecture seule ne récupèrent rien.
Actions dangereuses bloquées
DisponiblePreToolUse
Règles chargées au démarrage
DisponibleSessionStart
Revue en fin de session
DisponibleStop
Revue des longues sessions
Non disponiblePas d'équivalentCodex n'a pas d'événement avant la compaction.
Rappel à chaque prompt
Par le serveur MCPServer.instructionsCodex reçoit les consignes CybeDefend par le serveur MCP à chaque session : pas besoin de rappel.

Ce qu'il écrit pour OpenAI Codex

  • ~/.codex/hooks.json
  • ~/.codex/config.toml

Plus le runner des hooks dans ~/.cybedefend/. Vos propres hooks restent : relancer l'installeur ne remplace que les entrées de VibeDefend.

Approuvez les hooks une fois. Codex 0.131 et plus récent vous demande de faire confiance à chaque hook : ouvrez Codex, lancez /hooks et approuvez les entrées cybedefend. D'ici là, le panneau affiche Installed N, Active 0.

Une connexion de plus, une seule fois : le jeton MCP de Codex ne peut pas appeler les points d'accès qu'utilisent les hooks. L'installeur active aussi hooks = true dans ~/.codex/config.toml pour vous.

Quelque chose cloche ? vibedefend status donne un état en lecture seule, et vibedefend doctor répare ce qu'il peut.