CLI installieren und Anmeldedaten konfigurieren

CodeMender ist ein autonomer KI-Agent für die Codesicherheit, der umfassende Cybersicherheitslücken in Ihrer Codebasis scannt, überprüft und behebt. Bevor Sie CodeMender ausführen, laden Sie die Befehlszeile herunter und initialisieren Sie die Arbeitsbereichsoptionen.

Architektur und Sicherheitsmodell

CodeMender verwendet ein Local-First-Ausführungsmodell:

  • Gehostete Reasoning Engine: Agenten-Reasoning, Bedrohungsmodellierung und Orchestrierungslogik werden sicher in Google Cloud der Gemini Enterprise Agent Platform ausgeführt.
  • Lokale Ausführungs-CLI: Der Quellcode verlässt Ihre Workstation oder Ihren CI/CD-Container niemals in großen Mengen. Das lokale cm-CLI-Tool führt Dateilesevorgänge, lokale Build-Prüfungen und Exploit-Überprüfungen (Proof of Concept, PoC) in Ihrer lokalen Sandbox aus. Dabei werden nur gezielte Code-Snippets und Tool-Ausführungsergebnisse über die Interactions API in der Gemini Enterprise Agent Platform an das Cloud-Back-End gesendet.

Umgebung einrichten

Um CodeMender zu verwenden, richten Sie Ihr Google Cloud Projekt ein, laden Sie die Befehlszeile herunter und installieren Sie sie, konfigurieren Sie Ihre Anmeldedaten und initialisieren Sie Ihren Arbeitsbereich.

Projekteinrichtung und IAM-Berechtigungen

Bevor Sie die Befehlszeile herunterladen und Anmeldedaten konfigurieren, prüfen Sie, ob das Ziel Google Cloud projekt mit den erforderlichen APIs und Berechtigungen richtig eingerichtet ist.

Erforderliche APIs

Achten Sie darauf, dass die folgenden Google Cloud APIs in Ihrem Projekt aktiviert sind:

  1. Vertex AI API (aiplatform.googleapis.com) – Ermöglicht das Streaming und die Verwaltung von Agentensitzungen.
  2. Cloud Resource Manager API (cloudresourcemanager.googleapis.com) – Validiert die Authentifizierungsstatus von Nutzern und Projektmetadaten.

Damit Nutzer die CLI-Befehle ausführen können, muss ihnen die folgende IAM-Rolle zugewiesen werden:

  1. Vertex AI-Nutzer (roles/aiplatform.user) – Ermöglicht Nutzern, aktive Sitzungen zu erstellen, zu streamen und zu verwalten.

CodeMender-Befehlszeile herunterladen und installieren

Die CodeMender-CLI-Binärdateien werden in Artifact Registry gehostet. Wählen Sie den Tab für Ihr Betriebssystem aus, um die Befehlszeile herunterzuladen und zu installieren.

Linux x86_64

So laden Sie die CodeMender-Befehlszeile für Linux (x86_64) herunter und installieren sie:

  1. Laden Sie das Paket mit einer der folgenden Methoden herunter:
    • gcloud CLI:Führen Sie den folgenden Befehl aus:
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-linux-amd64.zip \
        --destination=./
    • curl:Führen Sie den folgenden Befehl aus:
      curl -L -o cm-linux-amd64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-linux-amd64.zip:download?alt=media"
  2. Installieren Sie die Befehlszeile:
    unzip cm-linux-amd64.zip
    chmod +x cm
    sudo mv cm /usr/local/bin/cm

Linux ARM64

So laden Sie die CodeMender-Befehlszeile für Linux (ARM64) herunter und installieren sie:

  1. Laden Sie das Paket mit einer der folgenden Methoden herunter:
    • gcloud CLI:Führen Sie den folgenden Befehl aus:
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-linux-arm64.zip \
        --destination=./
    • curl:Führen Sie den folgenden Befehl aus:
      curl -L -o cm-linux-arm64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-linux-arm64.zip:download?alt=media"
  2. Installieren Sie die Befehlszeile:
    unzip cm-linux-arm64.zip
    chmod +x cm
    sudo mv cm /usr/local/bin/cm

macOS Intel

So laden Sie die CodeMender-Befehlszeile für macOS (Intel) herunter und installieren sie:

  1. Laden Sie das Paket mit einer der folgenden Methoden herunter:
    • gcloud CLI:Führen Sie den folgenden Befehl aus:
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-darwin-amd64.zip \
        --destination=./
    • curl:Führen Sie den folgenden Befehl aus:
      curl -L -o cm-darwin-amd64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-darwin-amd64.zip:download?alt=media"
  2. Installieren Sie die Befehlszeile:
    unzip cm-darwin-amd64.zip
    chmod +x cm
    mv cm /usr/local/bin/cm

macOS Apple Silicon

So laden Sie die CodeMender-Befehlszeile für macOS (Apple Silicon) herunter und installieren sie:

  1. Laden Sie das Paket mit einer der folgenden Methoden herunter:
    • gcloud CLI:Führen Sie den folgenden Befehl aus:
      gcloud artifacts generic download \
        --project=cmoc-prod \
        --location=us \
        --repository=codemender-cli-production \
        --package=cm \
        --version=stable \
        --name=cm-darwin-arm64.zip \
        --destination=./
    • curl:Führen Sie den folgenden Befehl aus:
      curl -L -o cm-darwin-arm64.zip "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-darwin-arm64.zip:download?alt=media"
  2. Installieren Sie die Befehlszeile:
    unzip cm-darwin-arm64.zip
    chmod +x cm
    mv cm /usr/local/bin/cm

Windows x86_64

So laden Sie die CodeMender-Befehlszeile für Windows (x86_64) herunter und installieren sie:

  1. Laden Sie das Paket mit einer der folgenden Methoden herunter:
    • gcloud CLI:Führen Sie den folgenden Befehl in PowerShell aus:
      gcloud artifacts generic download `
        --project=cmoc-prod `
        --location=us `
        --repository=codemender-cli-production `
        --package=cm `
        --version=stable `
        --name=cm-windows-amd64.zip `
        --destination=./
    • PowerShell:Führen Sie den folgenden Befehl aus:
      Invoke-WebRequest -Uri "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-windows-amd64.zip:download?alt=media" -OutFile cm-windows-amd64.zip
  2. Installieren Sie die Befehlszeile:
    Expand-Archive -Path cm-windows-amd64.zip -DestinationPath ./
    # Move cm.exe to a permanent folder and add it to your system PATH (e.g. Environmental Variables)

Windows ARM64

So laden Sie die CodeMender-Befehlszeile für Windows (ARM64) herunter und installieren sie:

  1. Laden Sie das Paket mit einer der folgenden Methoden herunter:
    • gcloud CLI:Führen Sie den folgenden Befehl in PowerShell aus:
      gcloud artifacts generic download `
        --project=cmoc-prod `
        --location=us `
        --repository=codemender-cli-production `
        --package=cm `
        --version=stable `
        --name=cm-windows-arm64.zip `
        --destination=./
    • PowerShell:Führen Sie den folgenden Befehl aus:
      Invoke-WebRequest -Uri "https://artifactregistry.googleapis.com/download/v1/projects/cmoc-prod/locations/us/repositories/codemender-cli-production/files/cm%3Astable%3Acm-windows-arm64.zip:download?alt=media" -OutFile cm-windows-arm64.zip
  2. Installieren Sie die Befehlszeile:
    Expand-Archive -Path cm-windows-arm64.zip -DestinationPath ./
    # Move cm.exe to a permanent folder and add it to your system PATH (e.g. Environmental Variables)

Anmeldedaten konfigurieren Google Cloud

Da die CodeMender-Befehlszeile über die Interactions API mit der in der Cloud gehosteten Reasoning Engine interagiert, müssen Sie in Ihrer Umgebung Google Cloud Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) konfigurieren.

Führen Sie den folgenden Befehl aus und folgen Sie der Anmeldeaufforderung, um sich zu authentifizieren:

gcloud auth application-default login

CodeMender initialisieren und konfigurieren

Nach der Authentifizierung müssen Sie CodeMender in Ihrer lokalen Umgebung initialisieren. Durch die Initialisierung von CodeMender wird Ihr lokaler Arbeitsbereich vorbereitet, indem Dateien zur Statusverfolgung erstellt und Verbindungseinstellungen zur in der Cloud gehosteten Reasoning Engine eingerichtet werden.

Arbeitsbereich initialisieren

Führen Sie cm init im Stammverzeichnis Ihrer Codebasis aus, um lokale Dateien zur Statusverfolgung zu erstellen und Basiskonfigurationen einzurichten:

cm init

Verwenden Sie das Flag `--verify`, um die Verbindung zur in der Cloud gehosteten Reasoning Engine zu testen und die Arbeitsbereichseinstellungen zu überprüfen:

cm init --verify

Konfigurationsparameter (config.yaml)

Das Hauptziel von config.yaml ist es, das Verhalten des CodeMender-Agenten an die Sicherheits-, Umgebungs- und Leistungsanforderungen Ihres lokalen Systems anzupassen.

Da der gehostete KI-Agent lokale Befehle (z. B. zum Erstellen von Code, Ausführen von Tests oder Bearbeiten von Dateien) mit Ihrem lokalen Daemon-Client ausführt, definiert diese Konfigurationsdatei die Grenzen dessen, was der Agent tun darf und was nicht.

Nutzung

  • Speicherort:Standardmäßig sucht die Befehlszeile nach dieser Datei in Ihrem initialisierten Arbeitsbereich (in der Regel .codemender/config.yaml oder ein globales Konfigurationsverzeichnis wie ~/.config/codemender/config.yaml).
  • Ausführung:Wenn Sie Befehle wie cm find, cm verify oder cm fix ausführen, liest der lokale Client diese Datei, um Sicherheitsparameter einzurichten, Systemumgehungen anzuwenden und anzugeben, welche Dateien oder Verzeichnisse ignoriert werden sollen.

Standardeinstellungen

Hier sind die Standardparameter:

  • human_confirmation: true (oder require_confirmation: true)

    • Bedeutung:Standardmäßig kann CodeMender keine Dateien auf Ihrer Festplatte ändern oder Shell-Befehle ausführen, ohne Sie im Terminal explizit um eine Bestätigung [Y/n] zu bitten.
    • Standardeinstellung:CodeMender kann spekulative Patches generieren oder versuchen, Exploit-Skripts auszuführen, um eine Sicherheitslücke zu überprüfen. Wenn Sie eine Bestätigung durch einen Menschen erzwingen, können Sie versehentliche Systemänderungen oder nicht autorisierte Code-Ausführungen in Ihrer lokalen Umgebung verhindern.
    • Umgehen:Für nicht interaktive CI/CD-Pipelines kann dies auf false gesetzt werden.
  • confirm_writes: false

    • Bedeutung:Deaktiviert interaktive Aufforderungen für Dateimodifikationen, sodass der CodeMender-Agent Sicherheitspatches schreiben und Quelldateien direkt auf Ihre lokale Festplatte ändern kann, ohne auf die Genehmigung durch einen Menschen zu warten.
    • Standardeinstellung:Standardmäßig ist diese Sicherheitsvorkehrung auf true gesetzt, um einen „Human-in-the-Loop“-Workflow zu erzwingen. Da CodeMender auf Ihre lokale Codebasis wirkt, verhindert die manuelle Bestätigung (z. B. Write? [Y/n]), dass der Agent spekulative, falsche oder destruktive Änderungen an Ihren Quelldateien vornimmt. Sie sollten diese Einstellung nur auf false setzen, wenn Sie in isolierten, temporären Sandboxes oder automatisierten, Headless-CI/CD-Pipelines arbeiten.
  • include: [".py", ".java", ".go", ".js", ".ts", ".c", ".cc", ".cpp", ".h", ".rb", ".php"]

    • Bedeutung:Definiert die explizite Liste der Dateierweiterungen, die CodeMender beim Scannen Ihres Arbeitsbereichs aufnehmen und analysieren darf. Alle Dateien in Ihrem Repository mit einer Erweiterung, die nicht in dieser Liste angegeben ist, werden automatisch übersprungen.
    • Standardeinstellung:Standardmäßig ist diese Liste auf die wichtigsten Programmiersprachen beschränkt, um die Scaneffizienz zu maximieren und zu verhindern, dass der Agent Zeit und Tokens für irrelevante Textdateien, Build-Artefakte oder Binärdateien verschwendet. Da moderne Anwendungen jedoch häufig Sicherheitslücken in Bereitstellungskonfigurationen oder Automatisierungstools enthalten, wird dringend empfohlen, diese Standardliste manuell um Konfigurationsdateien, Skriptformate und IaC-Dateien (z. B. .sh, .xml, .yaml, .properties, .json) zu erweitern, damit CodeMender sie nicht stillschweigend ignoriert.
  • exclude_paths: ["node_modules", "vendor", "dist", "bin"]

    • Bedeutung:CodeMender überspringt diese Verzeichnisse beim Scannen des Arbeitsbereichs und bei der Codeanalyse vollständig.
    • Standardeinstellung:Große Abhängigkeits- oder Build-Ordner führen zu einer massiven Latenz und Token-Strafe. Wenn diese standardmäßig ausgeschlossen bleiben, wird eine hohe Leistung und schnelle Reaktionszeiten gewährleistet.
  • model: "gemini-3.5-flash"

    • Bedeutung:Die Standard-KI-Engine, die die Reasoning-Loops im Back-End unterstützt.
    • Standardeinstellung:gemini-3.5-flash bietet die optimale Balance zwischen Geschwindigkeit, Kosten und analytischem Reasoning, die für das Vorschlagen von Patches erforderlich ist. Nutzer können dies bei Bedarf auf gemini-3.1-pro setzen, um ein tieferes und komplexeres Reasoning zu ermöglichen.
  • vcs: { type: "git" }

    • Bedeutung:Definiert den Typ des Versionsverwaltungssystems, das von Ihrem Projekt verwendet wird, über den Schlüssel vcs. Wenn keine Konfiguration erfolgt, versucht das Tool, Git- oder Mercurial-Repositories automatisch zu erkennen. Wenn vcs standardmäßig auf none gesetzt ist, gibt die Befehlszeile eine Warnung aus, setzt die Ausführung aber ohne VCS-Funktionalität fort. CodeMender verwendet diese Einstellung, um spekulative Sicherheitskorrekturen zu verwalten, Änderungen an der Codebasis zu verfolgen und in Ihr lokales Repository zu integrieren.
    • Standardeinstellung:CodeMender unterstützt Git-, Mercurial- oder benutzerdefinierte VCS-Konfigurationen. Git ist die Standardeinstellung, da es der Branchenstandard für die Versionsverwaltung ist und eine nahtlose Diff-Integration und Rollback-Sicherheit gewährleistet.
  • build: { command: "make build && make test" }

    • Bedeutung:Definiert den genauen Shell-Befehl, den CodeMender ausführt, um Ihr Projekt zu kompilieren und zu erstellen sowie Ihre Unit- und Regressionstests auszuführen.
    • Standardeinstellung:Das Festlegen eines Build- und Testbefehls ist für den Überprüfungsworkflow entscheidend. So kann CodeMender Ihr Projekt kompilieren und Ihre vorhandene Test-Suite in seiner sicheren Umgebung ausführen, um zu beweisen, dass der generierte Sicherheitspatch die Sicherheitslücke erfolgreich behebt, ohne die vorhandene Anwendungslogik zu beeinträchtigen.