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-securityDas 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 chatgptUm einen API key aus OPENAI_API_KEY oder CODEX_API_KEY vorauszusetzen:
npx @openai/codex-security scan . --auth api-keyUm 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 loginErmitteln und wählen Sie Repositorys eines GitHub-Kontos oder einer Organisation aus:
npx @openai/codex-security bulk-scanGeben 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 4Unter 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 3Wie 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-policiesCodex 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/repositoryVerwenden Sie eine Scan-ID aus den Ergebnissen, um die zugehörigen Befunde zu untersuchen:
npx @openai/codex-security scans show SCAN_IDBei 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-stateWie 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_IDVergleichen Sie die zugeordneten Befunde:
npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_IDDer 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_IDErfassen 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_IDOrdnen Sie die Baseline-Befunde dem neuen Scan zu:
npx @openai/codex-security scans match BASELINE_SCAN_ID REPEAT_SCAN_IDVergleichen Sie die zugeordneten Ergebnisse:
npx @openai/codex-security scans compare BASELINE_SCAN_ID REPEAT_SCAN_IDStellen 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_IDOrdnen Sie die ursprünglichen Befunde dem neuen Scan zu:
npx @openai/codex-security scans match BEFORE_SCAN_ID AFTER_SCAN_IDVergleichen Sie die zugeordneten Befunde:
npx @openai/codex-security scans compare BEFORE_SCAN_ID AFTER_SCAN_IDBestä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 5Das 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-hookScannen 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 highEin 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.