Schnellstart für die Codex Security CLI
Richten Sie Codex Security ein, führen Sie einen lokalen Scan aus und prüfen Sie den Bericht, die Befunde und die Abdeckung.
Führen Sie mit der eigenständigen Codex Security CLI einen Standardscan eines lokalen Repositorys durch. Am Ende dieser Schnellstartanleitung liegt ein gespeicherter Bericht vor, den Sie prüfen und später erneut aufrufen können. Für Scans innerhalb einer Codex-Unterhaltung verwenden Sie das Codex Security- Plugin.
Voraussetzungen prüfen
Verwenden Sie Node.js 24 oder 26 oder Node.js 22 ab Version 22.13.0.
Sie benötigen außerdem Python 3.10 oder neuer.
Python 3.10 benötigt zusätzlich tomli. Scans mit OpenAI-Inferenz setzen Zugriff auf Codex Security voraus.
Je nach Konto und Repository erfordern Scans des gesamten Repositorys möglicherweise auch
Trusted Access for Cyber.
Die CLI wird mit Ihren Betriebssystemberechtigungen ausgeführt und wartet nicht auf eine Genehmigung. Scanprozesse können Ihre Umgebung erben. Entfernen Sie daher nicht benötigte Zugangsdaten, bevor Sie beginnen. Siehe Berechtigungen für lokale Scans.
CLI einrichten und überprüfen
Führen Sie das öffentliche Paket mit npx aus:
npx @openai/codex-security --versionDer Befehl gibt die installierte Paketversion aus. Verwenden Sie info --json, um
die Version des enthaltenen Plugins zu prüfen, oder --help, um die Befehle aufzulisten. Paketänderungen sind
unter CLI- und SDK-Releases aufgeführt.
Anmelden
Melden Sie sich mit Ihrem ChatGPT-Konto an:
npx @openai/codex-security loginFügen Sie auf einem Rechner ohne Browser --device-auth hinzu und folgen Sie den angezeigten
Anmeldeanweisungen. Verwenden Sie --auth chatgpt in den folgenden Scanbefehlen, um
diese Anmeldung auszuwählen, auch wenn Ihre Umgebung zusätzlich einen API key enthält.
Informationen zu API keys und anderen Anbietern finden Sie unter Authentifizierung für Scans auswählen. Verwenden Sie für Amazon Bedrock AWS-Zugangsdaten und Modellzugriff anstelle einer ChatGPT- Anmeldung oder eines OpenAI API key.
Einen Scan vorbereiten
Ersetzen Sie diese Pfade durch Ihr Repository und ein neues Ergebnisverzeichnis außerhalb seines Git-Arbeitsbaums:
REPOSITORY=/path/to/repository
SCAN_DIR=/path/outside/repository/codex-security-resultsErgebnisse können Quellcodeauszüge und Details zu Schwachstellen enthalten. Wählen Sie einen privaten
Speicherort. Wenn Sie --output-dir weglassen, verwendet die CLI ihr persistentes Zustandsverzeichnis.
Prüfen Sie das Ziel und den Ausgabespeicherort:
npx @openai/codex-security scan "$REPOSITORY" \
--auth chatgpt --output-dir "$SCAN_DIR" --dry-runEin erfolgreicher Testlauf bestätigt die lokalen Eingaben. Er startet keinen Scan, lädt keine Zugangsdaten und prüft den Python-Interpreter des Plugins nicht. Er belegt daher nicht, dass Authentifizierung und Einrichtung der Laufzeitumgebung erfolgreich sein werden.
Ihren ersten Scan ausführen
Entfernen Sie --dry-run, um den Scan zu starten:
npx @openai/codex-security scan "$REPOSITORY" \
--auth chatgpt --output-dir "$SCAN_DIR"Ein interaktives Terminal zeigt ein Live-Dashboard an. Nicht interaktive Terminals zeigen Fortschrittsmeldungen
zeilenweise an. Fügen Sie --headless hinzu, um auch in einem interaktiven Terminal zeilenweise Fortschrittsmeldungen zu verwenden.
Das Dashboard und gespeicherte Protokolle können Quellcode oder Zugangsdaten enthalten. Prüfen
Sie diese vor der Weitergabe.
Nach Abschluss des Scans enthält stderr den Berichtspfad, die Anzahl der Befunde und die verstrichene Zeit. Zum Beispiel:
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-resultsStandardmäßig führt der Schweregrad eines Befunds nicht dazu, dass ein Scan fehlschlägt. Für
maschinenlesbare Ausgaben auf stdout fügen Sie --json hinzu. Damit Befunde eine CI-Prüfung fehlschlagen lassen, legen Sie eine
Schweregradrichtlinie fest.
Ergebnisse prüfen
Öffnen Sie report.md im angegebenen Verzeichnis. Bestätigen Sie das Ziel und die Revision
und lesen Sie dann die Angaben zur Prüfabdeckung, bevor Sie einzelne Befunde prüfen.
Prüfen Sie scan.status in scan-manifest.json, um sicherzustellen, dass der Scan abgeschlossen wurde.
Prüfen Sie coverage.json auf untersuchte Bereiche, ausgeschlossene Pfade, zurückgestellte Arbeiten
und offene Fragen.
Ein abgeschlossener Scan endet mit 0, sofern Befunde keinen konfigurierten Schweregradschwellenwert
erreichen; in diesem Fall wird 1 zurückgegeben. Abdeckungslücken ändern den Exit-Code nicht, daher
bedeutet der Exit-Code 0 nicht, dass jede Datei geprüft wurde. Fehler bei Eingabe, Ausführung, Ergebnisintegrität
oder erforderlicher Ausgabe führen zum Exit-Code 2. Die
CLI-Referenz erläutert
die Exit-Codes.
Prüfen Sie für jeden Befund den betroffenen Code, die Voraussetzungen für Angreifer, die Validierungsnachweise und die verbleibenden Unsicherheiten. Ein auf dem Quellcode basierender Befund umfasst nicht zwangsläufig eine erfolgreiche Reproduktion zur Laufzeit. Wählen Sie einen Befund erst dann zur Behebung aus, wenn seine Nachweise das behauptete Problem belegen.
Geben Sie das Scanverzeichnis stets vollständig weiter und archivieren Sie es als Ganzes. Es enthält
scan-manifest.json, findings.json und coverage.json sowie den Bericht
und ergänzende Artefakte. Unter Scan-
Artefakte finden Sie die vollständige Struktur.
Einen gespeicherten Scan erneut aufrufen
Listen Sie die Scans für das Repository auf:
npx @openai/codex-security scans list "$REPOSITORY"Kopieren Sie eine Scan-ID aus den Ergebnissen:
npx @openai/codex-security scans show SCAN_IDNach einem vollständig abgeschlossenen interaktiven Scan mit Befunden bietet die CLI auch eine Befundübersicht an. Prüfen Sie dort die Nachweise, bevor Sie eine Korrektur auswählen. Verwenden Sie für gespeicherte Befunde die Befehle zum Validieren und Patchen.
Den nächsten Scan auswählen
| Ziel | Leitfaden |
|---|---|
| Ausgewählte Pfade oder einen Diff scannen | Scan-Ziel auswählen |
| Tiefenscans verwenden oder ihre Laufzeit begrenzen | Tiefenscans konfigurieren |
| Architektur- oder Sicherheitsrichtlinien bereitstellen | Sicherheitskontext hinzufügen |
| Modell oder Reasoning-Aufwand ändern | Laufzeitumgebung konfigurieren |
| Ein Limit für die geschätzten Kosten festlegen | Ausgabe- und Richtlinienoptionen |
| Mehrere Repositorys scannen | Massenscans |
| GitHub-Pull-Requests scannen oder geplante Scans ausführen | Leitfaden zu GitHub Actions |
| Einen anderen CI-Anbieter wählen | CI/CD-Übersicht |
Bei Authentifizierungsproblemen, Unterschieden zwischen wiederholten Scans oder Rückmeldungen zu falsch positiven Befunden finden Sie Informationen in den CLI-FAQ.