Deutsch

Häufig gestellte Fragen zur Codex Security CLI

Antworten zu Scans mit Codex Security, Befunden, falsch positiven Ergebnissen, Abdeckung, Kosten und CI.

Hier finden Sie Antworten auf häufig gestellte Fragen zum Scannen von Repositorys und zum Verwalten von Sicherheitsbefunden im Terminal. Beginnen Sie für die Installation und einen ersten Scan mit dem CLI-Schnellstart.

Repository-Scans

Wer kann die CLI verwenden?

Das Paket @openai/codex-security ist öffentlich verfügbar. Installieren Sie die CLI und das SDK:

npm install @openai/codex-security

Das Ausführen von Scans erfordert Zugriff auf Codex Security. Verwenden Sie für optimale Ergebnisse ein Konto, das für Trusted Access for Cyber verifiziert wurde.

Warum verwendet ein Scan nach der Anmeldung einen API key?

Wenn Ihre Umgebung OPENAI_API_KEY oder CODEX_API_KEY enthält, verwenden Scans ohne interaktives Terminal sowie JSON- und JSONL-Scans standardmäßig den API key aus der Umgebung, selbst nach einer erfolgreichen Anmeldung mit ChatGPT oder einem Zugriffstoken. Bei interaktiven Scans mit Textausgabe werden Sie zur Auswahl aufgefordert, wenn auch eine ChatGPT-Anmeldung verfügbar ist. Bei Testläufen werden weder Anmeldedaten abgefragt noch geladen.

Um Ihre gespeicherten Anmeldedaten für einen Scan zu verwenden, wählen Sie sie ausdrücklich aus:

npx @openai/codex-security scan . --auth chatgpt

Um einen API key aus OPENAI_API_KEY oder CODEX_API_KEY vorauszusetzen:

npx @openai/codex-security scan . --auth api-key

Um Ihre gespeicherten Anmeldedaten als automatische Standardeinstellung festzulegen, führen Sie unset OPENAI_API_KEY CODEX_API_KEY aus. Alle unterstützten Authentifizierungsmodi finden Sie in der CLI-Referenz.

Wie funktionieren Repository-Massenscans?

Melden Sie sich mit GitHub CLI an:

gh auth login

Ermitteln und wählen Sie Repositorys eines GitHub-Kontos oder einer Organisation aus:

npx @openai/codex-security bulk-scan

Geben Sie für eine vorbereitete Liste eine Repository-CSV-Datei und ein Ausgabeverzeichnis an:

npx @openai/codex-security bulk-scan repositories.csv \
  --output-dir /path/outside/repositories/security-scans \
  --workers 4

Unter Sicherheits-Massenscans ausführen finden Sie Informationen zur GitHub- Ermittlung, zum CSV-Format, zu Kampagnenergebnissen und zu verfügbaren Optionen.

Kann ein unterbrochener Massenscan fortgesetzt werden?

Ja. Führen Sie denselben Massenscan-Befehl mit der ursprünglichen CSV-Datei und dem ursprünglichen Ausgabeverzeichnis aus. Codex Security überspringt abgeschlossene Repositorys, sofern deren gespeicherte Scan-Artefakte unverändert vorhanden sind.

Fügen Sie --max-attempts 3 hinzu, um vorübergehende Repository- oder Scanfehler erneut zu versuchen:

npx @openai/codex-security bulk-scan repositories.csv \
  --output-dir /path/outside/repositories/security-scans \
  --workers 4 \
  --max-attempts 3

Wie kann ein Scan Architektur- und Sicherheitsrichtlinien verwenden?

Übergeben Sie Architekturdokumente, Bedrohungsmodelle oder Sicherheitsrichtlinien mit --knowledge-base:

npx @openai/codex-security scan . \
  --knowledge-base /path/to/architecture.md \
  --knowledge-base /path/to/security-policies

Codex Security verwendet diese Dokumente als Kontext für den aktuellen Scan. Informationen zu unterstützten Dateitypen und zum Verhalten bei Verzeichnissen finden Sie unter Sicherheitskontext hinzufügen.

Befunde und Abdeckung

Wo finden Teams frühere Scanergebnisse?

Listen Sie die gespeicherten Scans für Ihr Repository auf:

npx @openai/codex-security scans list /path/to/repository

Verwenden Sie eine Scan-ID aus den Ergebnissen, um die zugehörigen Befunde zu untersuchen:

npx @openai/codex-security scans show SCAN_ID

Bei jedem abgeschlossenen Scan werden der Bericht, die Befunde, die Abdeckung und die zugehörigen Artefakte gemeinsam gespeichert. Den vollständigen Aufbau finden Sie unter Scan- Artefakte.

Was ist zu tun, wenn die CLI den Scanverlauf nicht speichern kann?

Codex Security speichert den Scanverlauf in einer Workbench-Datenbank. Wenn das standardmäßige Statusverzeichnis nicht beschreibbar ist, wählen Sie ein privates Verzeichnis außerhalb des Repositorys aus:

export CODEX_SECURITY_STATE_DIR=/path/outside/repository/codex-security-state

Wie unterscheiden Scans zwischen neuen und bekannten Befunden?

Ordnen Sie Befunde einander zu, die in beiden Scans dieselbe Grundursache haben:

npx @openai/codex-security scans match PREVIOUS_SCAN_ID CURRENT_SCAN_ID

Vergleichen Sie die zugeordneten Befunde:

npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_ID

Der Vergleich identifiziert neue, weiterhin bestehende, erneut aufgetretene, behobene und unbekannte Befunde. Ein Befund gilt nur dann als behoben, wenn der spätere Scan das ursprüngliche Ziel und den betroffenen Pfad lückenlos abdeckt.

Wie funktioniert Feedback zu falsch positiven Ergebnissen?

Untersuchen Sie den gespeicherten Scan, um die Vorkommnis-ID zu ermitteln:

npx @openai/codex-security scans show SCAN_ID

Erfassen Sie, warum dieser Befund nicht zutrifft:

npx @openai/codex-security findings false-positive FINDING_OCCURRENCE_ID \
  --reason "The framework escapes this input before it reaches the query"

Künftige Scans desselben Repositorys erhalten diese Erklärung als Kontext. Sie prüfen dennoch unabhängig den aktuellen Quellcode, die Schutzmaßnahmen und die Erreichbarkeit. Eine Verwerfung unterdrückt weder eine Regel noch einen Pfad oder eine Schwachstellenklasse.

Einzelheiten zu den Befehlen finden Sie in der Referenz zu Befunden.

Warum können wiederholte Scans unterschiedliche Befunde liefern?

KI-gestützte Scans können selbst bei derselben Scan-Konfiguration variieren. Führen Sie zunächst Ihren Baseline-Scan erneut aus:

npx @openai/codex-security scans rerun BASELINE_SCAN_ID

Ordnen Sie die Baseline-Befunde dem neuen Scan zu:

npx @openai/codex-security scans match BASELINE_SCAN_ID REPEAT_SCAN_ID

Vergleichen Sie die zugeordneten Ergebnisse:

npx @openai/codex-security scans compare BASELINE_SCAN_ID REPEAT_SCAN_ID

Stellen Sie gemeinsame Architektur- und Sicherheitsvorgaben bereit, wenn fehlender Kontext zu den Abweichungen beitragen könnte. Durch die Zuordnung kann derselbe zugrunde liegende Befund über mehrere Durchläufe hinweg erkannt werden, sie macht Scans jedoch nicht deterministisch. Prüfen Sie jeden wichtigen Befund, der nicht mehr erscheint, direkt erneut.

Wie kann ein Team bestätigen, dass eine Korrektur funktioniert hat?

Führen Sie nach dem Anwenden einer Korrektur den ursprünglichen Scan erneut aus:

npx @openai/codex-security scans rerun BEFORE_SCAN_ID

Ordnen Sie die ursprünglichen Befunde dem neuen Scan zu:

npx @openai/codex-security scans match BEFORE_SCAN_ID AFTER_SCAN_ID

Vergleichen Sie die zugeordneten Befunde:

npx @openai/codex-security scans compare BEFORE_SCAN_ID AFTER_SCAN_ID

Bestätigen Sie, dass der neue Scan das ursprüngliche Ziel und den betroffenen Pfad lückenlos abdeckt. Prüfen Sie anschließend den ursprünglichen Befund direkt anhand des aktuellen Checkouts erneut:

npx @openai/codex-security validate /path/to/original/findings.json \
  "Recheck the SQL injection in src/orders.ts:42 against the current code"

Ein fehlender Befund oder ein Scanvergleich allein beweist nicht, dass eine Korrektur funktioniert hat.

Was bedeutet unvollständige Abdeckung?

Die Abdeckung kann complete, partial oder unknown sein. Prüfen Sie coverage.json auf ausgeschlossene Pfade, zurückgestellte Bereiche und offene Fragen, bevor Sie einen Scan als Nachweis einer Überprüfung betrachten.

Scans mit teilweiser oder unbekannter Abdeckung geben den Exit-Code 2 zurück, selbst wenn keine Schweregradrichtlinie festgelegt ist. Verfügbare Befunde und Abdeckungsinformationen werden dennoch gespeichert. Ein späterer Scan kann nicht belegen, dass ein früherer Befund nicht mehr vorhanden ist, wenn er dessen ursprünglichen Pfad nicht abdeckt.

Automatisierung und Kosten

Wie funktionieren Kostenlimits für Scans?

Legen Sie vor dem Start des Scans ein geschätztes Kostenlimit in USD fest:

npx @openai/codex-security scan . --max-cost 5

Das Limit ist eine Schätzung und keine feste Ausgabenobergrenze. Bereits laufende Anfragen können auch oberhalb des Limits abgeschlossen werden. Codex Security bewahrt verfügbare Ergebnisse auf, wenn der Scan beendet wird.

Können Scans Commits und Pull Requests prüfen?

Installieren Sie eine Pre-Commit-Sicherheitsprüfung für zum Commit vorgemerkte und nicht vorgemerkte Änderungen:

npx @openai/codex-security install-hook

Scannen Sie für Pull-Request-Prüfungen die committeten Änderungen und legen Sie einen Schweregrad- Schwellenwert fest:

npx @openai/codex-security scan . \
  --diff origin/main \
  --fail-on-severity high

Ein vollständiger Scan gibt den Exit-Code 1 zurück, wenn er ein Problem mit mindestens dem ausgewählten Schweregrad findet. Unter Scans in CI ausführen finden Sie den vollständigen GitHub Actions-Workflow sowie Informationen zur Artefaktverarbeitung und zum SARIF-Export.

Kann eine andere Anwendung Scans direkt ausführen?

Ja. Verwenden Sie das TypeScript SDK, um Scans zu starten, Ziele auszuwählen, Befunde und Abdeckung zu untersuchen, den Fortschritt zu verfolgen und Kostenkontrollen aus einer Anwendung oder einem Entwicklerwerkzeug anzuwenden.