Die Einführung fortschrittlicher KI-Modelle hat zu weitverbreiteten Bedenken hinsichtlich Code-Sicherheitslücken geführt. Da Angreifer Zugriff auf neue Funktionen zum Generieren 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-Agent für Codesicherheit, der schwerwiegende Sicherheitslücken in Ihrer Codebasis finden, überprüfen und beheben kann. CodeMender umschließt ein feinabgestimmtes Harness um ein LLM und verwendet von Google DeepMind entwickelte Prompts, Skills und Orchestrierungslogik, um das Modell in ein Agentensystem zu verwandeln, das auf Codesicherheit spezialisiert ist.
Funktionsweise
CodeMender ist für die Größe und Vielfalt moderner Unternehmensumgebungen konzipiert, in denen Code in zahlreichen Sprachen und Systemtypen vorhanden ist:
- Schwachstellen finden: Der Agent scannt Ihre Codebasis mithilfe eines LLM, das von ihm gesteuert wird. Dabei werden spezielle Tools und Prompt Engineering eingesetzt, um das Modell auf Sicherheitslücken zu konzentrieren. Alternativ können Sie eine Liste mit Sicherheitslücken aus externen Tools zum Scannen von Sicherheitslücken importieren.
- Sicherheitslücken überprüfen: Erstellen Sie den Code und versuchen Sie, gefundene Sicherheitslücken auszunutzen, um zu prüfen, ob sie ausgenutzt werden können. So können bestätigte Sicherheitslücken priorisiert und die Falsch-Positiv-Rate gesenkt werden.
- 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 feinabgestimmten Harness von CodeMender liefert Ergebnisse von höherer Qualität als die Verwendung eines LLM allein zum Auffinden und Beheben von Sicherheitslücken.
Systemarchitektur
Aus Nutzersicht besteht das CodeMender-System aus zwei Komponenten:
- Agent: Ein gehostetes Multi-Agent-System, das die zentrale Geschäftslogik und das Reasoning 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) fungiert. Optional kann er in einer lokalen Sandbox auf Prozessebene isoliert werden, um Code sicher zu kompilieren, Tests auszuführen und Sicherheitslücken zu prüfen.
Unterstützte Sprachen und Frameworks
CodeMender unterstützt standardmäßig die folgenden Sprachen: C/C++, C# / .NET, Go, Java, JavaScript und TypeScript, Kotlin, Python, Ruby, Rust und PHP. Außerdem bietet sie umfassende Unterstützung für Standardbibliotheken in diesen Sprachen sowie für gängige Enterprise-Frameworks wie HTML/CSS, Django, Flask, React, Spring Boot, ASP.NET und Express.
Die aufgeführten Programmiersprachen sind keine feste Beschränkung. Da CodeMender ein KI-Agent für die Codesicherheit ist, kann er Code in jeder Sprache analysieren und korrigieren, die vom zugrunde liegenden Modell verstanden wird. Support ist in der Regel für alle nicht proprietären Sprachen verfügbar.
Zusätzliche Programmiersprachen scannen
Sie können CodeMender so konfigurieren, dass nach Programmiersprachen gesucht wird, die nicht im Standardsatz enthalten sind. Dazu haben Sie zwei Möglichkeiten:
- Globale Konfiguration: Fügen Sie die Dateiendung der Programmiersprache dem Abschnitt
scan.extensions.includeder globalen CodeMender-Konfigurationsdatei~/.codemender/config.yamlhinzu. - Konfiguration pro Repository: Fügen Sie die Dateiendung der Programmiersprache dem Abschnitt
scan.extensions.includeder CodeMender-Konfigurationsdateiconfig.yamlim Repository hinzu.
So scannen Sie beispielsweise zusätzliche Sprachen oder Skriptformate:
scan:
extensions:
include:
# Default languages
- .py
- .java
- .go
- .js
- .jsx
- .mjs
- .cjs
- .ts
- .tsx
- .c
- .cc
- .cpp
- .cxx
- .h
- .hpp
- .cs
- .rs
- .kt
- .kts
- .rb
- .php
# Additional / custom languages
- .swift
- .scala
- .sh
# Exclude build, dependency, cache, and artifact directories
exclude_dirs:
- node_modules
- vendor
- dist
- bin
- target
- obj
- build
- .gradle
Weitere Informationen zum Konfigurieren von Scanoptionen finden Sie unter Konfigurationsparameter (config.yaml).
Hinweis zur Qualität
CodeMender veröffentlicht keine formalen sprachspezifischen Bewertungen. Die Standardsprachen spiegeln wider, wo wir die größte Benchmark-Abdeckung haben. Die Ergebnisse in anderen Sprachen variieren. Wenn Ihre Organisation eine bestimmte Sprache benötigt, die für eine detailliertere Bewertung oder standardmäßige Einbeziehung priorisiert werden soll, wenden Sie sich an Ihr Google-Account-Team.
Unterstützte Modelle
CodeMender unterstützt die folgenden Modelle:
Klicken Sie, um unterstützte 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.
Statuszeile für Livestreams
Übergeben Sie während der Ausführung von cm find, cm fix, cm verify oder cm session resume das Flag --compact, um eine laufende Statuszeile anzuzeigen, die aktualisiert wird, während der Agent arbeitet:
cm find ./src/auth/ --compact
In der Statuszeile werden kumulative Sitzungsgesamtsummen angegeben:
Tokens: 40k in / 12k out / 60k total
Bei fortgesetzten Sitzungen wird die Zählung ab dem Punkt fortgesetzt, an dem der vorherige Lauf beendet wurde. Die Anzahl der total kann die internen Reasoning-Tokens des Modells enthalten und daher in + out überschreiten.
Zusammenfassung schließen
Wenn ein Befehl erfolgreich abgeschlossen wurde und mindestens ein Tool-Schritt 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
Wenn Sie die kumulative abgerechnete Tokennutzung und die Kostentrends für Ihr Google Cloud Projekt ansehen möchten, lesen Sie den Abschnitt Cloud Billing-Berichte und Kostentrends aufrufen.
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, müssen Sie sicherstellen, dass Ihre Umgebung richtig 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 die 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, Netzwerkzugriffsprofile und Sicherheitsausnahmen für die Sandbox-Umgebung.
Modell angeben
Standardmäßig wird für CodeMender Gemini 3.8 Flash verwendet. Wenn Sie das Standardmodell überschreiben möchten, übergeben Sie das Flag --model mit der entsprechenden Modell-ID:
- Gemini 3.8 Flash (Standard):
--model gemini-3.8-flash - Gemini 3.7 Flash:
--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 findcm verifycm 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 Richtlinien zur Datenaufbewahrung 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 sichergestellt, dass Sie Ihre vollständigen Quellcode-Repositories niemals auf die Server von Google hochladen und der gehostete Agent sie nicht unabhängig klont.
Stattdessen werden die Daten, die an den von Google gehosteten Agenten gesendet werden, von der CLI streng lokalisiert. Sie bestehen aus:
- Gezielte Dateiinhalte oder Code-Snippets, Informationen zu Sicherheitslücken, vorgeschlagene Patches und Ergebnisse der Befehlsausführung.
- Metadaten, Diagnosedaten, Fehler und Nutzungstelemetrie (z. B. verbrauchte Tokens und Befehlsdauer).
Wir verwenden Ihren Kundensourcecode niemals, um die zugrunde liegenden Modellgewichte zu trainieren.
Was ist 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 lang im Speicher der Gemini Enterprise Agent Platform auf, damit Nutzer unterbrochene Scans nahtlos fortsetzen können. Nach 7 Tagen wird sie automatisch vom System gelöscht (siehe Zero Data Retention).
- Explizites Löschen:Kunden müssen nicht 7 Tage warten, sondern können durch Aufrufen von
DeleteInteractioneine sofortige Bereinigung aller Sitzungsdaten auslösen. - 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 „Zero-Data-Access“-Ansatz in Bezug auf die Sichtbarkeit für Menschen:
- Kein menschlicher Zugriff:Keine menschlichen Gruppen oder Google-Techniker haben Zugriff auf Kundendaten in der Produktionsumgebung.
- Keine Sichtbarkeit für Bediener:Auch für das Debugging in der Produktion und die Fehlerverfolgung sind Google-Bediener eingeschränkt und haben keinen Einblick in den Quellcodekontext des Kunden oder in vorübergehende Sitzungsstatus.
- Strenge Isolation:Wir isolieren alle Daten logisch und kontrollieren den Zugriff darauf nach Organisation und Abrechnungsprojekt des Kunden, um die Privatsphäre der Mandanten in unserer gemeinsam genutzten Infrastruktur zu schützen.
- VPC Service Controls (VPC-SC): Die Architektur von CodeMender unterstützt VPC Service Controls (VPC-SC) vollständig, um Ihre Umgebung zusätzlich zu schützen. So können Sie einen sicheren Sicherheitsperimeter für Ihre Google Cloud Ressourcen definieren und das Risiko einer Daten-Exfiltration verringern, wenn Ihre lokalisierten Daten an die Cloud-Reasoning-Engine gesendet werden.
Nächste Schritte
Eine ausführliche Anleitung finden Sie in den folgenden Leitfäden:
- CLI installieren und konfigurieren
- Code auf Sicherheitslücken scannen und überprüfen
- Sicherheitsergebnisse von Drittanbietern importieren
- Code-Schwachstellen beheben und Unterschiede verwalten
- Sitzungen verwalten und Berichte exportieren