CodeMender è un agente autonomo di sicurezza del codice AI che analizza, verifica e applica patch alle vulnerabilità di cybersecurity profonde nella tua codebase. Prima di eseguire CodeMender, scarica la CLI e inizializza le opzioni dell'area di lavoro.
Architettura e modello di sicurezza
CodeMender utilizza un modello di esecuzione locale:
- Motore di ragionamento ospitato: la logica di ragionamento, modellazione delle minacce e orchestrazione degli agenti viene eseguita in modo sicuro su Gemini Enterprise Agent Platform. Google Cloud
- CLI di esecuzione locale: il codice sorgente non lascia mai la workstation o il container CI/CD in blocco. Lo strumento CLI
cmlocale esegue letture di file, controlli di compilazione locali e verifiche di exploit proof-of-concept (PoC) nella sandbox locale, inviando solo snippet di codice chirurgici e risultati di esecuzione degli strumenti al backend cloud tramite l'API Interactions su Gemini Enterprise Agent Platform.
Configurazione dell'ambiente
Per iniziare a utilizzare CodeMender, scarica e installa la CLI, configura le tue Google Cloud credenziali e inizializza l'area di lavoro.
Scarica e installa la CLI CodeMender
I file binari della CLI CodeMender sono ospitati in Artifact Registry. Scegli la scheda per il tuo sistema operativo per scaricare e installare la CLI.
Linux x86_64
Per scaricare e installare la CLI CodeMender per Linux (x86_64):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI:esegui il seguente 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 il seguente 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 il seguente comando:
- Installa la CLI:
unzip cm-linux-amd64.zip chmod +x cm sudo mv cm /usr/local/bin/cm
Linux ARM64
Per scaricare e installare la CLI CodeMender per Linux (ARM64):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI:esegui il seguente 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 il seguente 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 il seguente comando:
- Installa la CLI:
unzip cm-linux-arm64.zip chmod +x cm sudo mv cm /usr/local/bin/cm
macOS Intel
Per scaricare e installare la CLI CodeMender per macOS (Intel):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI:esegui il seguente 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 il seguente 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 il seguente comando:
- Installa la CLI:
unzip cm-darwin-amd64.zip chmod +x cm mv cm /usr/local/bin/cm
macOS Apple silicon
Per scaricare e installare la CLI CodeMender per macOS (Apple silicon):
- Scarica il pacchetto utilizzando uno dei seguenti metodi:
- gcloud CLI:esegui il seguente 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 il seguente 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 il seguente comando:
- Installa la CLI:
unzip cm-darwin-arm64.zip chmod +x cm mv cm /usr/local/bin/cm
Windows x86_64
Per scaricare e installare la CLI CodeMender 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 il seguente 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 la CLI:
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 la CLI CodeMender 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 il seguente 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 la CLI:
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)
Configura Google Cloud credenziali
Poiché la CLI CodeMender interagisce con il motore di ragionamento ospitato nel cloud tramite l'API Interactions, devi configurare le Google Cloud Credenziali predefinite dell'applicazione (ADC) nel tuo ambiente.
Per autenticarti, esegui il seguente 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 nel tuo ambiente locale. L'inizializzazione di CodeMender prepara l'area di lavoro locale creando file di monitoraggio dello stato e stabilendo le impostazioni di connessione al motore di ragionamento ospitato nel cloud.
Inizializza l'area di lavoro
Esegui cm init dalla directory principale della codebase per creare file di monitoraggio dello stato locale e stabilire le configurazioni di base:
cm init
Utilizza il flag --verify per testare la connettività al motore di ragionamento ospitato nel cloud e verificare le impostazioni dell'area 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 della versione del progetto in vcs. CodeMender supporta le configurazioni Git, Mercurial o VCS personalizzate:
Repository Git
vcs: type: "git"
Repository Mercurial
vcs: type: "mercurial"
Sistemi di controllo della versione personalizzati
Specifica mappature di comandi personalizzate per gli 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 compilazione e test di regressione
Definisci il comando shell esatto che CodeMender utilizza per compilare il progetto ed eseguire test di 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