Codex Security CI/CD im Überblick

Wählen Sie eine CI-Integration, bereiten Sie den Scanzugriff vor und legen Sie fest, wie sich Befunde und Scanabdeckung auf Ihre Pipeline auswirken.

Führen Sie Codex Security in CI aus, um Änderungen aus Pull Requests oder Merge Requests zu prüfen, Ihren Standardbranch zu scannen und Befunde sowie Abdeckung zu speichern. Die Anleitung Ihres CI-Anbieters beschreibt den Workflow, die Berichtsverarbeitung und die Optionen zur Durchsetzung von Richtlinien.

Workflow vorbereiten

Für Scans benötigen Sie Zugriff auf Codex Security. Speichern Sie einen OpenAI API key im Secret-Speicher Ihres CI-Anbieters als CODEX_SECURITY_API_KEY und ordnen Sie ihn dann der Umgebungsvariablen OPENAI_API_KEY des Scanprozesses zu.

Führen Sie Scans nur für Repositorys und Änderungen aus, denen Sie vertrauen. Scans verwenden die lokalen Berechtigungen des Runners und warten nicht auf eine Genehmigung. Verwenden Sie separate Jobs für nicht zugehörige Zugangsdaten und Bereitstellungsschritte.

Ein zugelassenes Daybreak-Modell verwenden

Für den Zugriff auf Daybreak Blue über Trusted Access for Cyber setzen Sie die Eingabe model der GitHub Action auf gpt-6-sol und cyber-access-program auf daybreak_blue. Für direkte CLI-Scans verwenden Sie --model gpt-6-sol und --cyber-access-program daybreak_blue.

Verwenden Sie einen API key aus einem Projekt, für das Daybreak Blue aktiviert ist und das Zugriff auf das gewählte Modell hat. Das Festlegen des Modells oder Programms gewährt keinen Zugriff. Die Einstellungen der Action finden Sie unter Optionalen Daybreak-Zugriff konfigurieren.

Eine Integration auswählen

Den GitHub Actions-Workflow hinzufügen

Nutzen Sie die Anleitung zu GitHub Actions für Pull-Request-Prüfungen und geplante Repositoryscans. Die Codex Security Action installiert die CLI, speichert Berichte und fügt eine Jobzusammenfassung sowie Quellcodeannotationen hinzu. Die Anleitung behandelt die Einrichtung des Runners, optionalen Daybreak-Zugriff, SARIF-Uploads und die Durchsetzung von Schweregradrichtlinien.

Die GitLab CI/CD-Pipeline hinzufügen

Nutzen Sie die Anleitung zu GitLab CI/CD für Scans von Merge Requests, des Standardbranches und für geplante Scans. Beginnen Sie mit einer reinen Scanpipeline und ergänzen Sie dann Berichtsverarbeitung, Richtliniendurchsetzung und optional verifizierte Fehlerbehebungen.

Ein anderes CI-System verwenden

Installieren Sie das öffentliche Paket @openai/codex-security und führen Sie die CLI direkt aus. Verwenden Sie --auth api-key, wählen Sie einen Repository- oder Diff-Scan und speichern Sie die Ausgabe in einem privaten Verzeichnis außerhalb des Git-Worktrees. Ihr Runner muss die im CLI-Schnellstart beschriebenen Abhängigkeiten bereitstellen.

Informationen zu Scanoptionen, Diff-Revisionen, Berichtsformaten, Zustands- und Ausgabeverzeichnissen sowie zum Wiederholungsverhalten finden Sie in der CLI-Referenz.

Schweregradrichtlinie auswählen

Beginnen Sie mit Ergebnissen, die nur als Hinweise dienen. Prüfen Sie repräsentative Befunde, Scanabdeckung, Kosten und Laufzeit, bevor Sie entscheiden, welche Ergebnisse einen Merge blockieren sollen.

Bewerten Sie sowohl die Befunde als auch die Vollständigkeit des Scans. Die Schweregradrichtlinie bewertet Befunde aus dem aktuellen Scan, deren Schweregrad den konfigurierten Schwellenwert erreicht oder überschreitet. Frühere offene Befunde in der Repositoryzusammenfassung haben keinen Einfluss auf diese Richtlinie. Ein unvollständiger Scan kann Bereiche ungeprüft lassen, selbst wenn er keine Befunde meldet.

In der Action-Version action-v0.3.0 bedeutet ein abgeschlossener Scan, dass die konfigurierte Analyse ein gültiges Ergebnis erzeugt hat. Ausnahmen vom Prüfumfang, zurückgestellte Untersuchungen und andere Hinweise zur Abdeckung umgehen die Schweregradrichtlinie nicht. Fehler des Scanners und bei der erforderlichen Berichterstellung lassen den Job fehlschlagen. CLI 0.3.0 gibt bei Fehlern in der Eingabe, Ausführung, Ergebnisintegrität oder erforderlichen Ausgabe den Exitcode 2 zurück. Prüfen Sie coverage.json bei der Bewertung des Ergebnisses; der Abschluss bestätigt nicht, dass jede Schwachstelle gefunden wurde.

Konfigurieren Sie die Durchsetzung anhand der Anleitung zu GitHub Actions oder der Anleitung zu GitLab CI/CD. Für direkte CLI-Integrationen finden Sie weitere Informationen unter Schweregraddurchsetzung und Exitcodes.