CodeMender è un agente autonomo di sicurezza del codice basato sull'AI che esegue la scansione, la verifica e l'applicazione di patch per vulnerabilità di cybersicurezza profonde nel tuo codebase. Prima di eseguire CodeMender, scarica la CLI e inizializza le opzioni dello spazio di lavoro.
Modello di architettura e sicurezza
CodeMender utilizza un modello di esecuzione locale:
- Motore di ragionamento ospitato: il ragionamento agentico, la modellazione delle minacce e la logica di orchestrazione vengono eseguiti in modo sicuro in Google Cloud su Gemini Enterprise Agent Platform.
- CLI di esecuzione locale: il codice sorgente non viene mai trasferito in blocco dalla workstation o dal container CI/CD. Lo strumento a riga di comando locale
cmesegue letture di file, controlli di build locali e verifiche di exploit proof-of-concept (PoC) nel tuo sandbox locale, inviando solo snippet di codice chirurgici e risultati di esecuzione dello strumento al backend cloud tramite l'API Interactions sulla piattaforma Gemini Enterprise Agent.
Configurazione dell'ambiente
Per iniziare a utilizzare CodeMender, scarica e installa la CLI, configura le tue credenziali Google Cloud e inizializza il tuo spazio di lavoro.
Scaricare e installare CodeMender CLI
I file binari della CLI CodeMender sono ospitati in Artifact Registry. Scegli la scheda del tuo sistema operativo per scaricare e installare la CLI.
Linux x86_64
Per scaricare e installare CodeMender CLI per Linux (x86_64):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI: esegui questo comando:
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-linux-amd64.zip \ --destination=./
- curl: esegui questo comando:
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"
- gcloud CLI: esegui questo comando:
- Installa l'interfaccia a riga di comando:
unzip cm-linux-amd64.zip chmod +x cm sudo mv cm /usr/local/bin/cm
Linux ARM64
Per scaricare e installare CodeMender CLI per Linux (ARM64):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI: esegui questo comando:
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-linux-arm64.zip \ --destination=./
- curl: esegui questo comando:
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"
- gcloud CLI: esegui questo comando:
- Installa l'interfaccia a riga di comando:
unzip cm-linux-arm64.zip chmod +x cm sudo mv cm /usr/local/bin/cm
macOS Intel
Per scaricare e installare CodeMender CLI per macOS (Intel):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI: esegui questo comando:
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-darwin-amd64.zip \ --destination=./
- curl: esegui questo comando:
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"
- gcloud CLI: esegui questo comando:
- Installa l'interfaccia a riga di comando:
unzip cm-darwin-amd64.zip chmod +x cm mv cm /usr/local/bin/cm
macOS Apple Silicon
Per scaricare e installare CodeMender CLI per macOS (Apple Silicon):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI: esegui questo comando:
gcloud artifacts generic download \ --project=cmoc-prod \ --location=us \ --repository=codemender-cli-production \ --package=cm \ --version=stable \ --name=cm-darwin-arm64.zip \ --destination=./
- curl: esegui questo comando:
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"
- gcloud CLI: esegui questo comando:
- Installa l'interfaccia a riga di comando:
unzip cm-darwin-arm64.zip chmod +x cm mv cm /usr/local/bin/cm
Windows x86_64
Per scaricare e installare CodeMender CLI per Windows (x86_64):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI: esegui il seguente comando in PowerShell:
gcloud artifacts generic download ` --project=cmoc-prod ` --location=us ` --repository=codemender-cli-production ` --package=cm ` --version=stable ` --name=cm-windows-amd64.zip ` --destination=./
- PowerShell: esegui questo comando:
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
- gcloud CLI: esegui il seguente comando in PowerShell:
- Installa l'interfaccia a riga di comando:
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
Per scaricare e installare CodeMender CLI per Windows (ARM64):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI: esegui il seguente comando in PowerShell:
gcloud artifacts generic download ` --project=cmoc-prod ` --location=us ` --repository=codemender-cli-production ` --package=cm ` --version=stable ` --name=cm-windows-arm64.zip ` --destination=./
- PowerShell: esegui questo comando:
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
- gcloud CLI: esegui il seguente comando in PowerShell:
- Installa l'interfaccia a riga di comando:
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)
Configurare le credenziali di Google Cloud
Poiché la CLI CodeMender interagisce con il motore di ragionamento ospitato sul cloud tramite l'API Interactions, devi configurare le Google Cloud credenziali predefinite dell'applicazione (ADC) nel tuo ambiente.
Per eseguire l'autenticazione, esegui questo comando e segui le istruzioni di accesso:
gcloud auth application-default login
Inizializza e configura CodeMender
Una volta eseguita l'autenticazione, il passaggio successivo consiste nell'inizializzare CodeMender nell'ambiente locale. L'inizializzazione di CodeMender prepara lo spazio di lavoro locale creando file di monitoraggio dello stato e stabilendo le impostazioni di connessione al motore di ragionamento ospitato sul cloud.
Inizializza il workspace
Esegui cm init dalla directory principale del codebase per creare file di monitoraggio dello stato locale e stabilire configurazioni di base:
cm init
Utilizza il flag --verify per testare la connettività al motore di ragionamento ospitato sul cloud e verificare le impostazioni dello spazio di lavoro:
cm init --verify
Parametri di configurazione (config.yaml)
CodeMender legge le impostazioni di configurazione da ~/.codemender/config.yaml. Puoi personalizzare le seguenti sezioni:
Configurazione del sistema di controllo della versione (VCS)
Specifica il tipo di sistema di controllo delle versioni del progetto in vcs. CodeMender supporta Git, Mercurial o configurazioni VCS personalizzate:
Repository Git
vcs: type: "git"
Repository Mercurial
vcs: type: "mercurial"
Sistemi di controllo della versione personalizzati
Specifica mappature di comandi personalizzati per strumenti VCS non standard:
vcs: type: "custom" commands: status: "svn status" diff: "svn diff" stage: "echo 'no staging needed'" reset: "svn revert -R ."
Comando di test di build e regressione
Definisci il comando shell esatto che CodeMender utilizza per creare il progetto ed eseguire i test delle unità e di regressione:
build:
command: "make build && make test"
Conferme di esecuzione interattive
Configura il comportamento di conferma dello strumento per determinare se la CLI richiede la conferma prima di eseguire comandi locali o modificare file:
tools:
confirm_execution: true