CodeMender – Übersicht

Die Einführung fortschrittlicher KI-Modelle hat zu weit verbreiteten Bedenken hinsichtlich Codesicherheitslücken geführt. Da Angreifer Zugriff auf neue Funktionen zur Generierung von Exploits erhalten, stehen Sicherheitsteams unter enormem Zeitdruck, um Sicherheitslücken proaktiv zu finden und zu beheben, bevor Angreifer sie ausnutzen können.

CodeMender ist ein KI-Agent für die Codesicherheit, der schwerwiegende Sicherheitslücken in Ihrer Codebasis finden, überprüfen und beheben kann. CodeMender umschließt ein fein abgestimmtes Framework um ein LLM und verwendet von Google DeepMind entwickelte Prompts, Fähigkeiten und Orchestrierungslogik, um das Modell in ein Agentensystem zu verwandeln, das auf Codesicherheit spezialisiert ist.

Funktionsweise

CodeMender bewältigt die Größe und Vielfalt moderner Unternehmensumgebungen, in denen Code in zahlreichen Sprachen und Systemtypen vorkommt:

  • Sicherheitslücken finden : Scannen Sie Ihre Codebasis mit einem LLM, das vom Agenten gesteuert wird, und nutzen Sie spezielle Tools und Prompt Engineering, um das Modell auf Sicherheitslücken zu konzentrieren. Alternativ können Sie eine Liste von Sicherheitslücken aus externen Tools zum Scannen auf Sicherheitslücken importieren.
  • Sicherheitslücken überprüfen : Erstellen Sie den Code und versuchen Sie, gefundene Sicherheitslücken auszunutzen, um zu prüfen, ob sie ausnutzbar sind. So können Sie bestätigte Sicherheitslücken priorisieren und die Rate falsch positiver Ergebnisse reduzieren.
  • Sicherheitslücken beheben : Generieren und testen Sie einen Patch, der mit der Sprache Ihrer Codebasis kompatibel ist.

In allen drei Phasen können Sie CodeMender Kontext zur Verfügung stellen, damit die Besonderheiten Ihrer Anwendung und Ihres Bedrohungsmodells berücksichtigt werden. Diese Kombination aus einem LLM und dem fein abgestimmten Framework von CodeMender liefert Ergebnisse in höherer Qualität als die Verwendung eines LLM allein zum Finden und Beheben von Sicherheitslücken.

Systemarchitektur

Aus Nutzersicht besteht das CodeMender-System aus zwei Komponenten:

  • Agent: Ein gehostetes Multi-Agenten-System, das die Kern-Geschäftslogik und das logische Schlussfolgern ausführt.
  • Client: Ein Client, der auf Ihrem Computer ausgeführt wird und sowohl als CLI (zum Ausgeben von Befehlen und Anzeigen von Ausgaben) als auch als Daemon (zum Ausführen von Befehlen im Namen des Agenten, mit optionaler Isolation in einer lokalen Sandbox auf Prozessebene, um Code sicher zu kompilieren, Tests auszuführen und Sicherheitslücken zu überprüfen) fungiert.

Unterstützte Sprachen und Frameworks

CodeMender unterstützt die wichtigsten Arten von Sicherheitslücken in allen wichtigen Programmiersprachen: C/C++, Go, Java, Python, TypeScript / JavaScript, Rust und Ruby. Außerdem bietet es umfassende Unterstützung für Standardbibliotheken in diesen Sprachen sowie für gängige Unternehmensframeworks (z. B. HTML/CSS, Django, Flask, React, Spring Boot und Express).

Die unterstützten Arten von Sicherheitslücken decken ein breites Spektrum von Software-Sicherheitslücken in den Bereichen Anwendungslogik, Datenverarbeitung, Speicherverwaltung und Authentifizierungsabläufe ab.

Unterstützte Modelle

CodeMender unterstützt die folgenden Modelle:

Klicken Sie hier, um die unterstützten Modelle zu maximieren.

Informationen zum Angeben eines Modells beim Ausführen von CodeMender-CLI-Befehlen finden Sie unter Modell angeben.

Unterstützte Regionen

CodeMender ist weltweit verfügbar.

Tokennutzung beobachten

Die Tokennutzung wird in CodeMender an zwei Stellen angezeigt: in einer Live-Statuszeile während der Ausführung eines Befehls und in einer einzeiligen Zusammenfassung, wenn ein Befehl erfolgreich abgeschlossen wurde. Die Anzahl umfasst Eingabe-, Ausgabe- und Gesamttokens für die aktuelle Sitzung.

Live-Statuszeile

Wenn cm find, cm fix, cm verify oder cm session resume ausgeführt wird, übergeben Sie das Flag --compact, um eine fortlaufende Statuszeile anzuzeigen, die aktualisiert wird, während der Agent arbeitet:

cm find ./src/auth/ --compact

In der Statuszeile werden die kumulativen Sitzungssummen angezeigt:

Tokens: 40k in / 12k out / 60k total

Bei fortgesetzten Sitzungen wird ab dem Punkt weitergezählt, an dem die vorherige Ausführung beendet wurde. Die Anzahl total kann die internen Tokens für logisches Schlussfolgern des Modells enthalten, sodass sie in + out übersteigen kann.

Zusammenfassung nach Beendigung

Wenn ein Befehl erfolgreich abgeschlossen wurde und mindestens ein Toolschritt ausgeführt wurde, gibt CodeMender eine einzeilige Zusammenfassung mit der verstrichenen Zeit und der Gesamtzahl der Tokens aus:

 Completed 14 tool steps in 3m 42s | Tokens: 40k in / 12k out / 60k total

Abgerechnete Tokennutzung

Informationen zur kumulativen abgerechneten Tokennutzung und zu Kostentrends für Ihr Google Cloud project finden Sie unter Abrechnungsberichte und Kostentrends ansehen in Cloud Billing.

Erste Schritte mit der CLI

Richten Sie das CLI-Tool ein und initialisieren Sie Ihren Arbeitsbereich, um mit dem Scannen zu beginnen.

Vorbereitung

Bevor Sie die CodeMender-CLI initialisieren, prüfen Sie, ob Ihre Umgebung richtig vorbereitet ist:

  • Google Cloud-Projekt einrichten: Richten Sie Ihr Google Cloud project mit den erforderlichen APIs und IAM-Rollen ein.
  • **CodeMender-CLI herunterladen**: Laden Sie die CodeMender-CLI-Binärdatei für Ihr Betriebssystem herunter und installieren Sie sie.
  • Google Cloud-Anmeldedaten konfigurieren: Konfigurieren Sie Google Cloud Standardanmeldedaten für Anwendungen, um die CLI zu authentifizieren.
  • Quellcode bereitstellen:Klonen oder kopieren Sie den Quellcode des Projekts, das Sie scannen möchten, in Ihren Arbeitsbereich.
  • Sandbox konfigurieren: Definieren Sie Verzeichnis-Mounts, Profile für den Netzwerkzugriff und Sicherheitsausnahmen für die Sandbox-Umgebung.

Modell angeben

Standardmäßig verwendet CodeMender Gemini 3.7 Flash. Wenn Sie das Standardmodell überschreiben möchten, übergeben Sie das Flag --model mit der entsprechenden Modell-ID:

  • Gemini 3.7 Flash (Standard): --model gemini-3.7-flash
  • Gemini 3.6 Flash: --model gemini-3.6-flash
  • Gemini 3.5 Flash: --model gemini-3.5-flash
  • Gemini 3.1 Pro (Vorabversion): --model gemini-3.1-pro-preview

Die folgenden Befehle unterstützen das Flag --model:

  • cm find
  • cm verify
  • cm fix

Verwenden Sie die folgende Syntax, um ein Modell anzugeben, wenn Sie einen dieser Befehle ausführen:

cm COMMAND TARGET --model MODEL_NAME

Sicherheit und Datenschutz

In den folgenden Abschnitten werden das Sicherheitsmodell, die Richtlinien zur Datenaufbewahrung und die Zugriffssteuerung von CodeMender beschrieben:

Welche Daten sendet CodeMender an die Cloud?

Bei der Verwendung von CodeMender vermittelt das lokale CLI-Tool den Zugriff auf Ihren Code. So wird verhindert, dass Sie Ihre vollständigen Quellcode-Repositories auf die Server von Google hochladen und der gehostete Agent sie nicht unabhängig klont.

Stattdessen lokalisiert die CLI die Daten, die sie an den von Google gehosteten Agenten sendet, streng. Diese Daten bestehen aus:

  • Gezielten Dateiinhalten oder Code-Snippets, Informationen zu Sicherheitslücken, vorgeschlagenen Patches und Ergebnissen der Befehlsausführung.
  • Metadaten, Diagnosen, Fehlern und Telemetriedaten zur Nutzung (z. B. verbrauchte Tokens und Befehlsdauer).

Wir verwenden Ihren Quellcode niemals, um die zugrunde liegenden Modellgewichte zu trainieren.

Wie lautet die Aufbewahrungsrichtlinie?

CodeMender verwendet eine strenge, kurzfristige Richtlinie zur Datenaufbewahrung:

  • Maximale Aufbewahrungsdauer von 7 Tagen:Wir bewahren Sitzungsdaten, einschließlich Code-Snippets und Tracking-Status, bis zu 7 Tage im Speicher der Gemini Enterprise Agent Platform auf, damit Nutzer unterbrochene Scans nahtlos fortsetzen können. Nach 7 Tagen werden sie automatisch vom System gelöscht (siehe Keine Datenaufbewahrung).
  • Explizites Löschen:Kunden müssen nicht 7 Tage warten, sondern können mit dem Aufruf von DeleteInteraction sofort alle Sitzungsdaten löschen.
  • Kurzlebige Ergebnisse:Wir speichern Ergebnisse zu Sicherheitslücken und Patches nicht in langlebigen Datenbanken. Sie werden während der Pipeline im Arbeitsspeicher gesammelt.

Wer kann auf die Daten zugreifen?

CodeMender verwendet einen Ansatz ohne Datenzugriff in Bezug auf die Sichtbarkeit für Menschen:

  • Kein menschlicher Zugriff:Keine menschlichen Gruppen oder Google-Entwickler haben Zugriff auf Kundendaten in der Produktionsumgebung.
  • Keine Sichtbarkeit für Operatoren:Auch für das Debugging und die Fehlerverfolgung in der Produktion sind Google-Operatoren eingeschränkt und haben keine Sichtbarkeit für den Quellcodekontext des Kunden oder für vorübergehende Sitzungsstatus.
  • Strenge Isolation:Wir isolieren alle Daten logisch und steuern den Zugriff darauf nach Organisation und Abrechnungsprojekt des Kunden, um die Privatsphäre von Mandanten in unserer gemeinsam genutzten Infrastruktur zu schützen.
  • VPC Service Controls (VPC-SC) : Um Ihre Umgebung weiter zu schützen, unterstützt die Architektur von CodeMender vollständig VPC Service Controls (VPC-SC). So können Sie einen sicheren Sicherheitsbereich für Ihre Google Cloud-Ressourcen definieren, um das Risiko einer Daten-Exfiltration zu minimieren, während Ihre lokalisierten Daten an die Cloud-Engine für logisches Schlussfolgern gesendet werden.

Nächste Schritte

Eine ausführliche Anleitung finden Sie in den folgenden Leitfäden: