CodeMender – Übersicht

Die Einführung fortschrittlicher KI-Modelle hat zu weit verbreiteten Bedenken hinsichtlich Code-Sicherheitslü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.

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

Funktionsweise

CodeMender kann mit der Größe und Vielfalt moderner Unternehmensumgebungen umgehen, in denen Code in zahlreichen Sprachen und Systemtypen vorhanden ist:

  • Sicherheitslücken finden : Scannen Sie Ihre Codebasis mit einem LLM, das vom Agenten gesteuert wird. Dabei werden spezielle Tools und Prompt-Engineering genutzt, um das Modell auf Sicherheitslücken zu konzentrieren. Alternativ können Sie eine Liste von Sicherheitslücken aus externen Sicherheitsscanning-Tools 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 bereitstellen, 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, optional mit 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 verfolgen

CodeMender zeigt den Tokenverbrauch an zwei Stellen an: 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

Während 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 angegeben:

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 den Gesamtzahlen 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 Projekt 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 korrekt vorbereitet ist:

  • Google Cloud-Projekt einrichten: Richten Sie Ihr Google Cloud Projekt 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 (Application Default Credentials, ADC), 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 Verzeichnisbereitstellungen, Profile für den Netzwerkzugriff und Sicherheitsausnahmen für die Sandbox-Umgebung.

Modell angeben

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

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

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

  • cm find
  • cm verify
  • cm fix

Wenn Sie ein Modell angeben möchten, wenn Sie einen dieser Befehle ausführen, verwenden Sie die folgende Syntax:

cm COMMAND TARGET --model MODEL_NAME

Sicherheit und Datenschutz

In den folgenden Abschnitten werden das Sicherheitsmodell, die Datenaufbewahrungsrichtlinien und die Zugriffssteuerung von CodeMender beschrieben:

Welche Daten sendet CodeMender an die Cloud?

Wenn Sie CodeMender verwenden, 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:

  • Zielgerichteten 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 Datenaufbewahrungsrichtlinie:

  • 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 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: