2 Punkte von GN⁺ 3 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • 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

 
GN⁺ 3 시간 전
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...

    • In der Codex-App kam es mit 5.6 Sol vor, dass sie sagte, sie habe eine Schwachstelle gefunden, könne mir aber nicht sagen, worin sie besteht. Ich frage mich, wie die aktuellen Guardrails zur Schwachstellenerkennung damit umgehen.
    • Ich frage mich, wann man dieses Tool statt des Codex-Plugins verwenden sollte, das meines Wissens auch über die CLI aufgerufen werden kann.
    • Ich frage mich, ob Aufrufe der OpenAI API zwingend erforderlich sind oder ob man auch einen lokalen OpenAI-kompatiblen LLM-Endpunkt betreiben und nutzen kann.
    • Genau deshalb glaube ich nicht an die Werbung vom „erstaunlichen Modell, das alles auf einmal erledigt und Programmierer überflüssig macht“. Entgegen den Behauptungen, die LLM-Labore ständig aufstellen, treten selbst in den Produkten, die sie selbst bauen, immer wieder Fehler wie Authentifizierungsprobleme auf.
      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 der HEAD des 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

    • Das sind völlig unterschiedliche Produkte.
  • 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.

    • Wenn ein Unternehmen die Nutzung von ChatGPT verbietet, darf es wahrscheinlich auch kein ChatGPT-Tool für Sicherheitsanalysen verwenden.
    • Als Möglichkeit, ein GPT-Modell zu nutzen, ohne Daten an OpenAI zu senden, kann man Amazon Bedrock wählen.
  • 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.

    • Die Messlatte für den Wettbewerb wurde damit höher gelegt, und nachhaltige Expertise muss sich entsprechend weiterentwickeln.
    • Ich frage mich, wie ein paar Code-Schnipsel Snyk aus dem Geschäft drängen sollen.