- OpenAI hat die CLI und zugehörige Tools von Codex Security als Open Source veröffentlicht, sodass sie in lokalen Entwicklungsumgebungen und in CI genutzt werden können
- Es analysiert autorisierte Repositories, erkennt Sicherheitslücken und prüft, ob sie tatsächlich ausnutzbar sind, und liefert dazu den relevanten Code sowie Belege
- Statt nur das gesamte Repository zu prüfen, können auch nur bestimmte Pfade, Änderungen zwischen Commits oder nicht committete Arbeitsstände untersucht werden
- Unterstützt werden ein Deep-Modus, der einen größeren Bereich als normale Scans untersucht, sowie eine Wissensbasis, die Architektur, Threat Model und Sicherheitsrichtlinien eines Projekts berücksichtigt
- Gefundene Punkte werden strukturiert mit Schweregrad, Vertrauensniveau, Belegen und Behebungsmethoden ausgegeben; außerdem lassen sich Scan-Historien vergleichen oder an CI-Richtlinien anbinden
Erkennung und Verifizierung von Schwachstellen
- Es bleibt nicht bei der Auflistung verdächtiger Code-Muster, sondern analysiert Code-Fluss und Kontext, um zu prüfen, ob es sich tatsächlich um ein Sicherheitsproblem handelt
- Für jeden Fund werden folgende Informationen bereitgestellt
- Typ und Schweregrad der Schwachstelle
- Vertrauensniveau der Bewertung
- Betroffene Dateien und Code-Positionen
- Begründung für die Einstufung als Schwachstelle
- Mögliche Angriffs- oder Ausnutzungspfade
- Empfohlene Behebungsmethode
Auswahl des Scan-Bereichs
- Der Analyseumfang kann je nach Ziel des Scans eingeschränkt werden
- Scan des gesamten Repositorys
- Scan nur bestimmter Verzeichnisse oder Pakete
- Scan der Änderungen zwischen einem Referenz-Commit und dem aktuellen Commit
- Scan von gestagten oder noch nicht committeten lokalen Änderungen
- Da sich auch nur neu hinzugefügter oder geänderter Code prüfen lässt, eignet es sich für Code-Reviews und Prüfungen vor dem Deployment
Deep-Modus
- Verwendet mehr Zeit und Analyseaufwand als ein normaler Scan, um ein Repository umfassender zu prüfen
- Wird für komplexe Schwachstellen genutzt, bei denen Beziehungen zwischen mehreren Dateien und Komponenten verfolgt werden müssen, oder für Probleme, die mit oberflächlichen Musterprüfungen schwer zu finden sind
- Kann nicht nur auf das gesamte Repository, sondern auch auf angegebene Pfade angewendet werden
Einbeziehung von Projektwissen
- Analysiert den Code nicht isoliert, sondern kann projektspezifischen Kontext in die Prüfung einbeziehen
- Bewertet projektspezifische Risiken auf Basis von Architekturdokumenten, Threat Models, Sicherheitsrichtlinien und internen Regeln
- So können auch Codesegmente geprüft werden, die nach allgemeinen Sicherheitsregeln unauffällig wirken, aber gegen die Designprinzipien des jeweiligen Systems verstoßen
Ergebnisbericht und Vollständigkeit des Scans
- Dokumentiert nicht nur gefundene Schwachstellen, sondern auch, welche Bereiche tatsächlich untersucht wurden
- Der Bericht kann folgende Scan-Status enthalten
- Analysierter Umfang
- Vom Scan ausgeschlossene Bereiche
- Nicht abgeschlossene und zurückgestellte Aufgaben
- Fragen, die zusätzliche Prüfung erfordern
- Dadurch lässt sich nicht nur die Ergebnisliste, sondern auch nachvollziehen, bis zu welchem Grad das Repository überprüft wurde
Kontinuierliche Sicherheitsprüfungen
- Frühere Scan-Ergebnisse können erneut geöffnet oder derselbe Scan erneut ausgeführt werden, um Veränderungen bei Funden nachzuverfolgen
- Durch den Vergleich der Ergebnisse vor und nach Code-Änderungen lässt sich prüfen, ob neue Schwachstellen entstanden oder bestehende behoben wurden
- Kann an Pre-Commit-Scans, Code-Reviews, Sammelscans über mehrere Repositories und Sicherheitsrichtlinien in CI-Pipelines angebunden werden
1 Kommentare
Meinungen auf Hacker News
Ich bin Michael, Mitgründer von Promptfoo und arbeite bei OpenAI an der Codex Security CLI. Danke für den Hinweis auf das Authentifizierungsproblem; da wir sie gerade erst als Open Source veröffentlicht haben, gibt es noch viel zu verbessern, und das Produkt wird sich schnell weiterentwickeln.
Probiert sie aus und sagt uns, was gut funktioniert und was verbessert werden sollte; ich beantworte auch gern Fragen.
CLI-Dokumentation: https://learn.chatgpt.com/docs/security/cli
Wir stellen auch Leute ein, die mitentwickeln wollen: https://openai.com/careers/full-stack-software-engineer-cybe...
Die eigenen Produkte der Labore widerlegen diese Behauptung; hoffentlich glauben weniger Menschen daran.
Ich habe es auf einem kleinen Repository ausgeführt, nach fast einer Stunde brach es ab und verbrauchte die Hälfte meines wöchentlichen Pro-Tarif-Kontingents.
Ich habe
npx codex-security scan .ausgeführt und den Scan mit bis zu 8 Worker-Slots laufen lassen, aber nach 52 Minuten kam ein Fehler: Während des Scans habe sich derHEADdes Repositories geändert, daher könnten die Ergebnisse nicht gespeichert werden, und ich solle einen neuen Scan starten.Der Scanner selbst ist der am wenigsten interessante Teil; das umgebende Ausführungssystem, das Deduplizierung zwischen Läufen, False-Positive-Tracking, Budgetkontrolle und die Entscheidung über das Bestehen von CI übernimmt, ist das eigentliche Produkt. Ich denke, die interessanteste Innovation wird auch aus dieser Schicht kommen.
Beim Bau von AQ, einem Coding-Ausführungssystem für Teams, habe ich genau dasselbe Muster gesehen. Anfangs dachte ich, das rohe Modell selbst sei die Antwort, aber das änderte sich schnell; zweckgebundene Ausführungssysteme sind deutlich leistungsfähiger als erwartet.
Ich bekomme ständig den Fehler, dass ich versuche, eine nicht erlaubte Aktion auszuführen, was sehr nervig ist. Ich würde gern wissen, bei welchen Projekttypen es funktioniert und wie Code-Ownership geprüft wird.
Zum Beispiel frage ich mich, ob es beim Linux-Kernel grundsätzlich nicht funktioniert, selbst wenn er einen von mir geschriebenen Patch enthält.
Sicherheitstools von KI-Unternehmen fühlen sich an wie eine Feuerwache, die von Brandstiftern betrieben wird. Sie sind nützlich, aber es ist schwer, nicht darüber nachzudenken, wer von den vielen Bränden profitiert.
Es scheint, dass es das bereits als Codex-Plugin gab; die Kernnachricht ist, dass OpenAI es Open Source gemacht hat und die Entwicklung schnell voranschreitet.
Während des Scans enthält die CLI-Ausgabe kaum interessante Informationen. Es wäre schön, Informationen wie Tokenverbrauch oder Fortschritt zu sehen.
Alibaba hat ebenfalls ein CLI-basiertes Code-Review-Tool als Open Source veröffentlicht: https://github.com/alibaba/open-code-review
Ich frage mich, ob dieses Tool den Code zur Analyse zu ChatGPT hochlädt. Bei manchen Unternehmensprojekten ist externe Übertragung von Code möglicherweise nicht erlaubt.
Ich frage mich, ob solche Tools Unternehmen wie Snyk aus dem Geschäft drängen werden. Wir nutzen Snyk bei der Arbeit, aber ich war damit nicht zufrieden.