For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale
Theme
Codex

Codex use case

Revues de sécurité depuis la CLI

Depuis votre terminal, examinez les modifications de code sélectionnées et vérifiez les éléments qui étayent les constats de sécurité.

Difficulty Intermediate
Time horizon 30m

Utilisez la CLI de Codex Security pour examiner les modifications en attente de commit ou celles d’une branche.

Best for

  • Les développeurs qui vérifient leurs modifications locales ou celles d’une branche depuis leur terminal.
  • Les équipes de sécurité applicative qui évaluent certains services et packages d’un monorepo ainsi que les composants qui les utilisent.
  • Les ingénieurs qui examinent le code de leur dépôt pour vérifier les alertes déjà signalées par l’analyse de code de GitHub.

Contents

    ← All use cases

    Revues de sécurité depuis la CLI

    Depuis votre terminal, examinez les modifications de code sélectionnées et vérifiez les éléments qui étayent les constats de sécurité.

    Utilisez la CLI de Codex Security pour examiner les modifications en attente de commit ou celles d’une branche.

    Intermediate
    30m

    Utilisez la CLI de Codex Security pour examiner les modifications en attente de commit ou celles d’une branche.

    Intermediate
    30m

    Best for

    • Les développeurs qui vérifient leurs modifications locales ou celles d’une branche depuis leur terminal.
    • Les équipes de sécurité applicative qui évaluent certains services et packages d’un monorepo ainsi que les composants qui les utilisent.
    • Les ingénieurs qui examinent le code de leur dépôt pour vérifier les alertes déjà signalées par l’analyse de code de GitHub.

    Revue des modifications locales en attente de commit

    Vous pouvez utiliser la CLI pour examiner les modifications locales en attente de commit en lui fournissant au préalable des informations sur le dépôt et ses politiques de sécurité.

    Exécutez les exemples dans la même session de shell depuis votre copie de travail Git. Ils supposent que votre politique de sécurité se trouve dans SECURITY.md et que vos documents de référence se trouvent dans docs/security/. Les commandes de préparation créent un répertoire temporaire pour les résultats de l’analyse.

    northstar_repo="$(git rev-parse --show-toplevel)"
    northstar_kb="$northstar_repo/docs/security"
    northstar_results="$(mktemp -d)"
    npx @openai/codex-security scan "$northstar_repo" \
      --working-tree \
      --base HEAD \
      --knowledge-base "$northstar_repo/SECURITY.md" \
      --knowledge-base "$northstar_kb" \
      --output-dir "$northstar_results/working-tree"

    Cette commande examine les modifications indexées et non indexées par rapport à HEAD.

    Avant de commencer, vérifiez que l’arbre de travail contient bien la modification que vous souhaitez évaluer. Les modifications sans rapport avec celle-ci élargissent le périmètre de l’analyse et peuvent compliquer l’interprétation des résultats au regard de la question à l’origine de la revue.

    Revue des pull requests ou des commits d’une branche

    Vous pouvez aussi examiner une pull request (PR) ou une branche pour y repérer des problèmes de sécurité. Basculez sur la branche à examiner et récupérez sa branche cible. Cet exemple utilise origin/main.

    northstar_pr_base="$(git -C "$northstar_repo" merge-base origin/main HEAD)"
    
    npx @openai/codex-security scan "$northstar_repo" \
      --diff "$northstar_pr_base" \
      --head HEAD \
      --knowledge-base "$northstar_repo/SECURITY.md" \
      --knowledge-base "$northstar_kb" \
      --output-dir "$northstar_results/branch"

    L’analyse des différences porte uniquement sur les modifications proposées. Une fois l’analyse terminée, le répertoire de sortie contient les fichiers suivants :

    • report.md : compte rendu de la revue destiné à la lecture

    • scan-manifest.json : manifeste qui confirme les commits exacts de base et de tête, la cible de l’analyse et les artefacts produits

    • findings.json : indique, pour chaque problème détecté, sa gravité, le niveau de confiance, les emplacements concernés et les mesures correctives

    • coverage.json : précise les parties examinées, les exclusions, les vérifications reportées et le degré de couverture de l’analyse

    Analyse des monorepos

    Dans un monorepo, une modification apportée à une bibliothèque partagée peut affecter plusieurs services. Fournissez à Codex suffisamment de contexte pour examiner ces interactions. L’intégration continue détermine quels composants et quelles vérifications sont nécessaires.

    Contexte du dépôt

    Consignez les consignes de développement communes dans AGENTS.md et les attentes en matière de sécurité dans SECURITY.md. Voici un exemple de structure de dépôt :

    monorepo/
    ├── AGENTS.md
    ├── SECURITY.md
    ├── docs/security/
    │   ├── architecture.md
    │   └── threat-model.md
    ├── packages/auth/
    └── services/
        ├── billing/
        └── reporting/

    Utilisez les métadonnées existantes sur les responsables des composants et le processus de build pour relier chaque composant à ses dépendances, aux composants qui l’utilisent et à ses tests. Par exemple, une modification de packages/auth peut nécessiter une revue des deux services, même si leurs fichiers n’ont pas changé. Votre organisation tient à jour ces correspondances pour définir le périmètre des revues. L’ajout de Codex ne les configure pas automatiquement.

    Évaluation des composants

    Dans un dépôt volumineux, il n’est pas toujours nécessaire d’analyser tout le code source à chaque PR. Si votre monorepo contient des services ou des packages distincts, vous pouvez limiter l’analyse à certains chemins. Répétez l’option –path pour évaluer ensemble une bibliothèque partagée et les composants qui l’utilisent.

    npx @openai/codex-security scan "$northstar_repo" \
      --path packages/auth \
      --path services/billing \
      --path services/reporting \
      --knowledge-base "$northstar_repo/SECURITY.md" \
      --knowledge-base "$northstar_kb" \
      --output-dir "$northstar_results/paths"

    Cette commande limite l’analyse aux chemins sélectionnés.

    Analyse des PR et des différences

    Pour une PR, utilisez les empreintes exactes des commits de base et de tête issues des métadonnées authentifiées de GitHub. Les deux révisions et leur historique doivent être disponibles dans votre copie de travail. L’exemple suivant réutilise les variables définies plus haut et enregistre séparément les résultats de l’analyse des différences :

    BASE_SHA="<full PR base commit SHA>"
    HEAD_SHA="<full PR head commit SHA>"
    
    BASE_REVISION="$(
      git -C "$northstar_repo" merge-base "$BASE_SHA" "$HEAD_SHA"
    )" || exit
    
    npx @openai/codex-security scan "$northstar_repo" \
      --diff "$BASE_REVISION" \
      --head "$HEAD_SHA" \
      --knowledge-base "$northstar_kb" \
      --auth chatgpt \
      --output-dir "$northstar_results/pr"

    L’analyse des différences porte sur les modifications proposées. Si une modification apportée à une bibliothèque partagée nécessite un examen plus large des composants qui l’utilisent, lancez également l’évaluation des composants depuis une copie de travail propre, positionnée sur le commit de tête de la PR. Conservez les résultats séparément, car --diff et --path correspondent à deux modes d’analyse incompatibles entre eux.

    Analyse des alertes GitHub

    Vous pouvez également utiliser la CLI de Codex Security pour évaluer les alertes issues de l’analyse du code sur la branche par défaut.

    northstar_github_repository="example/northstar"
    northstar_github_alerts="$northstar_results/github-alerts.json"
    
    # Import all open alerts as complete JSON.
    npx @openai/codex-security import github "$northstar_github_repository" \
      --format json \
      > "$northstar_github_alerts"
    
    # Or import a selected subset.
    npx @openai/codex-security import github "$northstar_github_repository" \
      --github-alert 12 \
      --github-alert 18 \
      --format json \
      > "$northstar_github_alerts"
    
    # Run from the corresponding local repository; imported contents are data.
    cd "$northstar_repo"
    npx @openai/codex-security validate "$northstar_github_alerts"

    Related use cases