Démarrage rapide avec Codex Security CLI
Configurez Codex Security, exécutez une analyse locale et examinez le rapport, les résultats et la couverture.
Exécutez une analyse standard d’un dépôt local avec la CLI autonome de Codex Security. Ce guide de démarrage rapide aboutit à un rapport enregistré que vous pouvez examiner et consulter à nouveau. Pour les analyses au sein d’une conversation Codex, utilisez le plugin Codex Security .
Vérifier les prérequis
Utilisez Node.js 24 ou 26, ou Node.js 22 à partir de la version 22.13.0.
Vous avez également besoin de Python 3.10 ou version ultérieure.
Python 3.10 nécessite aussi tomli. Les analyses utilisant l’inférence OpenAI nécessitent un accès à Codex Security.
Selon votre compte et votre dépôt, les analyses de l’intégralité du dépôt peuvent également
nécessiter Trusted Access for Cyber.
La CLI s’exécute avec les autorisations de votre système d’exploitation et ne s’interrompt pas pour demander une approbation. Les processus d’analyse peuvent hériter de votre environnement : supprimez donc les identifiants sans rapport avant de commencer. Consultez les autorisations des analyses locales.
Configurer et vérifier la CLI
Exécutez le package public avec npx :
npx @openai/codex-security --versionLa commande affiche la version du package installé. Utilisez info --json pour vérifier
la version du plugin inclus, ou --help pour lister les commandes. Les modifications du package sont
répertoriées dans les versions de la CLI et du SDK.
Se connecter
Connectez-vous avec votre compte ChatGPT :
npx @openai/codex-security loginSur une machine sans navigateur, ajoutez --device-auth et suivez les instructions de connexion
affichées. Utilisez --auth chatgpt dans les commandes d’analyse ci-dessous pour sélectionner
cette connexion même si votre environnement contient également une API key.
Pour les API keys et les autres fournisseurs, consultez Choisir l’authentification des analyses. Pour Amazon Bedrock, utilisez les identifiants AWS et l’accès aux modèles plutôt qu’une connexion ChatGPT ou une API key OpenAI.
Préparer une analyse
Remplacez ces chemins par celui de votre dépôt et celui d’un nouveau répertoire de résultats situé en dehors de son worktree Git :
REPOSITORY=/path/to/repository
SCAN_DIR=/path/outside/repository/codex-security-resultsLes résultats peuvent inclure des extraits du code source et des détails sur les vulnérabilités. Choisissez un emplacement
privé. Si vous omettez --output-dir, la CLI utilise son répertoire d’état persistant.
Vérifiez la cible et l’emplacement de sortie :
npx @openai/codex-security scan "$REPOSITORY" \
--auth chatgpt --output-dir "$SCAN_DIR" --dry-runUne simulation réussie confirme les données d’entrée locales. Elle ne lance pas d’analyse, ne charge pas d’identifiants et ne vérifie pas l’interpréteur Python du plugin ; elle ne garantit donc pas que l’authentification et la configuration de l’environnement d’exécution fonctionneront.
Exécuter votre première analyse
Supprimez --dry-run pour lancer l’analyse :
npx @openai/codex-security scan "$REPOSITORY" \
--auth chatgpt --output-dir "$SCAN_DIR"Un terminal interactif affiche un tableau de bord en temps réel. Les terminaux non interactifs affichent des lignes
de progression. Ajoutez --headless pour afficher aussi des lignes de progression dans un terminal interactif.
Le tableau de bord et les journaux enregistrés peuvent contenir du code source ou des identifiants. Examinez-les
avant de les partager.
À la fin de l’analyse, stderr indique le chemin du rapport, le nombre de constats et le temps écoulé. Par exemple :
REPORT /path/outside/repository/codex-security-results/report.md
FINDINGS 2 (2 confirmed this scan; 0 previously found; 1 high, 1 medium)
ELAPSED 42s
RESULTS /path/outside/repository/codex-security-resultsPar défaut, la gravité d’un constat ne fait pas échouer l’analyse. Pour
obtenir une sortie stdout exploitable par une machine, ajoutez --json. Pour que les constats fassent échouer un contrôle CI, définissez une
stratégie de gravité.
Examiner les résultats
Ouvrez report.md dans le répertoire indiqué. Confirmez la cible et la révision,
puis consultez la couverture avant d’examiner chaque constat.
Vérifiez scan.status dans scan-manifest.json pour confirmer que l’analyse s’est terminée.
Consultez coverage.json pour connaître les surfaces examinées, les chemins exclus, les travaux reportés
et les questions en suspens.
Une analyse terminée renvoie le code de sortie 0, sauf si des constats atteignent un seuil de gravité
configuré, auquel cas elle renvoie 1. Les lacunes de couverture ne modifient pas le code de sortie :
un code de sortie 0 ne signifie donc pas que chaque fichier a été examiné. Les erreurs d’entrée, d’exécution, d’intégrité des résultats
ou de production des sorties requises renvoient 2. La
référence de la CLI explique
les codes de sortie.
Pour chaque constat, vérifiez le code concerné, les conditions préalables nécessaires à l’attaquant, les éléments de validation et les incertitudes restantes. Un constat fondé sur le code source ne comprend pas nécessairement une reproduction réussie à l’exécution. Ne sélectionnez un constat à corriger que lorsque les éléments qui l’étayent confirment le problème signalé.
Conservez l’intégralité du répertoire d’analyse lorsque vous le partagez ou l’archivez. Il contient
scan-manifest.json, findings.json et coverage.json, ainsi que le rapport
et les artefacts justificatifs. Consultez Artefacts
d’analyse pour connaître la structure complète.
Revenir sur une analyse enregistrée
Listez les analyses du dépôt :
npx @openai/codex-security scans list "$REPOSITORY"Copiez un identifiant d’analyse depuis les résultats :
npx @openai/codex-security scans show SCAN_IDAprès une analyse interactive complète ayant produit des constats, la CLI propose également un outil de navigation parmi les constats. Examinez-y les éléments justificatifs avant de choisir une correction. Pour les constats enregistrés, utilisez les commandes de validation et de correction.
Choisir la prochaine analyse
| Objectif | Guide |
|---|---|
| Analyser des chemins sélectionnés ou un diff | Sélectionner la cible de l’analyse |
| Utiliser des analyses approfondies ou limiter leur durée | Configurer les analyses approfondies |
| Fournir l’architecture ou les politiques de sécurité | Ajouter du contexte de sécurité |
| Changer de modèle ou de niveau d’effort de raisonnement | Configurer l’environnement d’exécution |
| Définir une limite de coût estimé | Options de sortie et de politique |
| Analyser plusieurs dépôts | Analyses en masse |
| Analyser des pull requests GitHub ou exécuter des analyses planifiées | Guide GitHub Actions |
| Choisir un autre fournisseur CI | Présentation de CI/CD |
Pour les problèmes d’authentification, les différences entre analyses successives ou les retours sur les faux positifs, consultez la FAQ de la CLI.