Il lancio di modelli di AI avanzati ha suscitato una preoccupazione diffusa in merito alle vulnerabilità del codice. Man mano che gli aggressori ottengono l'accesso a nuove funzionalità per generare exploit, i team di sicurezza sono sottoposti a un'enorme pressione temporale per trovare e correggere in modo proattivo le vulnerabilità prima che gli aggressori le sfruttino.
CodeMender è un agente AI per la sicurezza del codice in grado di trovare, verificare e correggere le vulnerabilità profonde nel tuo codebase. CodeMender avvolge un harness ottimizzato intorno a un LLM, utilizzando prompt, competenze e logica di orchestrazione progettati da Google DeepMind per trasformare il modello in un sistema agentico specializzato nella sicurezza del codice.
Come funziona
CodeMender gestisce la scalabilità e la diversità degli ambienti aziendali moderni, in cui il codice si estende a numerosi linguaggi e tipi di sistemi:
- Trova le vulnerabilità eseguendo la scansione del codebase utilizzando un LLM guidato dall'agente, sfruttando strumenti specializzati e l'ingegneria dei prompt per concentrare il modello sui difetti di sicurezza. In alternativa, puoi importare un elenco di vulnerabilità da strumenti di scansione della sicurezza esterni.
- Verifica le vulnerabilità creando il codice e tentando di sfruttare le vulnerabilità trovate per verificare se sono sfruttabili. Ciò consente di dare la priorità alle vulnerabilità confermate e riduce il tasso di falsi positivi.
- Correggi le vulnerabilità generando e testando una patch compatibile con il linguaggio del tuo codebase.
Durante tutte e tre le fasi, puoi fornire il contesto a CodeMender per assicurarti che tenga conto delle sfumature della tua applicazione e del modello di minaccia. Questa combinazione di un LLM con l'imbracatura ottimizzata di CodeMender fornisce risultati di qualità superiore rispetto all'utilizzo di un LLM da solo per trovare e correggere le vulnerabilità.
Architettura di sistema
Dal punto di vista dell'utente, il sistema CodeMender è costituito da due componenti:
- Agente: un sistema multi-agente ospitato che esegue la logica di business e il ragionamento.
- Client: un client in esecuzione sul tuo computer, che funge sia da CLI (per inviare comandi e visualizzare output) sia da daemon (per eseguire comandi per conto dell'agente, con isolamento facoltativo all'interno di una sandbox a livello di processo locale per compilare codice, eseguire test e verificare le vulnerabilità in modo sicuro).
Lingue e framework supportati
CodeMender supporta per impostazione predefinita i seguenti linguaggi: C/C++, C# / .NET, Go, Java, JavaScript e TypeScript, Kotlin, Python, Ruby, Rust e PHP. Inoltre, fornisce un ampio supporto per le librerie standard all'interno di questi linguaggi, nonché per i framework aziendali comuni (come HTML/CSS, Django, Flask, React, Spring Boot, ASP.NET ed Express).
I linguaggi di programmazione elencati non sono un limite rigido. Poiché CodeMender è un agente AI per la sicurezza del codice, può analizzare e correggere il codice in qualsiasi linguaggio compreso dal modello sottostante. L'assistenza è generalmente disponibile per qualsiasi lingua non proprietaria.
Scansione di linguaggi di programmazione aggiuntivi
Puoi configurare CodeMender in modo che esegua la scansione dei linguaggi di programmazione che non fanno parte del suo set predefinito in uno dei seguenti modi:
- Configurazione globale: aggiungi l'estensione del file del linguaggio di programmazione alla sezione
scan.extensions.includedel file di configurazione globale di CodeMender~/.codemender/config.yaml. - Configurazione per repository: aggiungi l'estensione del file del linguaggio di programmazione alla sezione
scan.extensions.includedel file di configurazioneconfig.yamldi CodeMender nel repository.
Ad esempio, per scansionare altre lingue o formati di script:
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
Per ulteriori informazioni sulla configurazione delle opzioni di scansione, consulta Parametri di configurazione (config.yaml).
Nota sulla qualità
CodeMender non pubblica valutazioni formali per lingua. Le lingue predefinite riflettono i paesi in cui abbiamo la maggiore copertura dei benchmark; i risultati in altre lingue variano. Se la tua organizzazione ha bisogno di una lingua specifica con priorità per una valutazione più approfondita o per l'inclusione predefinita, contatta il team del tuo Account Google.
Modelli supportati
CodeMender supporta i seguenti modelli:
Fai clic per espandere i modelli supportati
Per specificare un modello durante l'esecuzione dei comandi CodeMender CLI, consulta Specifica del modello.
Aree geografiche supportate
CodeMender è disponibile a livello globale.
Monitorare l'utilizzo dei token
CodeMender mostra il consumo di token in due punti: una riga di stato in tempo reale durante l'esecuzione di un comando e un riepilogo di una riga al termine dell'esecuzione di un comando. I conteggi riguardano i token di input, output e totali per la sessione corrente.
Barra dello stato live
Durante l'esecuzione di cm find, cm fix, cm verify o cm session resume, passa il flag --compact per visualizzare una riga di stato scorrevole che si aggiorna man mano che l'agente funziona:
cm find ./src/auth/ --compact
La riga di stato indica i totali cumulativi delle sessioni:
Tokens: 40k in / 12k out / 60k total
Le sessioni riprese continuano a conteggiare da dove si era interrotta l'esecuzione precedente. Il conteggio di total può includere i token di ragionamento interno del modello, quindi può superare in + out.
Esci dal riepilogo
Quando un comando viene completato correttamente ed è stato eseguito almeno un passaggio dello strumento, CodeMender stampa un riepilogo di una riga con il tempo trascorso e i totali dei token:
✅ Completed 14 tool steps in 3m 42s | Tokens: 40k in / 12k out / 60k total
Utilizzo dei token fatturato
Per visualizzare l'utilizzo cumulativo dei token fatturati e le tendenze dei costi nel tuo progetto Google Cloud , consulta Visualizza i report sulla fatturazione e le tendenze dei costi in Fatturazione Cloud.
Inizia a utilizzare la CLI
Configura lo strumento CLI e inizializza il tuo spazio di lavoro per iniziare la scansione.
Prerequisiti
Prima di inizializzare CodeMender CLI, assicurati che l'ambiente sia preparato correttamente:
- Configura il progetto Google Cloud : configura il progetto Google Cloud con le API e i ruoli IAM richiesti.
- Scarica CodeMender CLI: scarica e installa il binario di CodeMender CLI per il tuo sistema operativo.
- Configura le Google Cloud credenziali: configura Google Cloud le Credenziali predefinite dell'applicazione (ADC) per autenticare la CLI.
- Esegui il provisioning del codice sorgente:clona o copia il codice sorgente del progetto che vuoi analizzare nel tuo spazio di lavoro.
- Configura sandbox: definisci i montaggi di directory, i profili di accesso alla rete e le eccezioni di sicurezza per l'ambiente sandbox.
Specifica del modello
Per impostazione predefinita, CodeMender utilizza Gemini 3.8 Flash. Per sostituire il modello predefinito, passa il flag --model con l'identificatore del modello corrispondente:
- Gemini 3.8 Flash (predefinito):
--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 - Anteprima di Gemini 3.1 Pro:
--model gemini-3.1-pro-preview
I seguenti comandi supportano il flag --model:
cm findcm verifycm fix
Per specificare un modello quando esegui uno di questi comandi, utilizza la seguente sintassi:
cm COMMAND TARGET --model MODEL_NAME
Sicurezza e privacy dei dati
Le sezioni seguenti descrivono il modello di sicurezza, le norme di conservazione dei dati e i controlli dell'accesso di CodeMender:
Quali dati invia CodeMender al cloud?
Quando utilizzi CodeMender, lo strumento CLI locale media l'accesso al tuo codice, assicurandosi che tu non carichi mai i repository del codice sorgente completi sui server di Google e che l'agente ospitato non li cloni in modo indipendente.
Al contrario, la CLI localizza rigorosamente i dati che invia all'agente ospitato da Google, che sono:
- Contenuti o snippet di codice di file mirati, informazioni sulle vulnerabilità, patch proposte e risultati dell'esecuzione dei comandi.
- Metadati, diagnostica, errori e telemetria di utilizzo (ad esempio token consumati e durata dei comandi).
Non utilizziamo mai il codice sorgente del cliente per addestrare le ponderazioni del modello sottostante.
Quali sono le norme di conservazione?
CodeMender utilizza una policy di conservazione dei dati rigorosa e a breve termine:
- Conservazione massima di 7 giorni:conserviamo i dati di sessione, inclusi snippet di codice e stati di monitoraggio, per un massimo di 7 giorni nello spazio di archiviazione della piattaforma di agenti Gemini Enterprise per consentire agli utenti di riprendere senza problemi le scansioni interrotte. Dopo 7 giorni, il sistema lo elimina automaticamente (vedi Conservazione zero dei dati).
- Eliminazione esplicita: i clienti non devono attendere 7 giorni; possono attivare una pulizia immediata di tutti i dati di sessione chiamando il numero
DeleteInteraction. - Risultati effimeri:non archiviamo i risultati e le patch delle vulnerabilità in database a lunga durata; si accumulano in memoria durante la pipeline.
Chi può accedere ai dati?
CodeMender utilizza un approccio "Zero-Data-Access" per quanto riguarda la visibilità umana:
- Nessun accesso umano:nessun gruppo di persone o ingegnere di Google ha accesso alla lettura dei dati dei clienti nell'ambiente di produzione.
- Nessuna visibilità per gli operatori:anche per il debug e il monitoraggio degli errori di produzione, gli operatori Google sono soggetti a limitazioni e non hanno visibilità sul contesto del codice sorgente del cliente o sugli stati di sessione temporanei.
- Isolamento rigoroso: isoliamo logicamente e controlliamo l'accesso a tutti i dati per organizzazione e progetto di fatturazione del cliente per proteggere la privacy dei tenant all'interno della nostra infrastruttura condivisa.
- Controlli di servizio VPC (VPC-SC): per proteggere ulteriormente il tuo ambiente, l'architettura di CodeMender supporta completamente i Controlli di servizio VPC (VPC-SC). In questo modo puoi definire un perimetro di sicurezza sicuro intorno alle tue risorse Google Cloud , contribuendo a mitigare i rischi di esfiltrazione di dati quando i dati localizzati vengono inviati al motore di ragionamento del cloud.
Passaggi successivi
Per istruzioni dettagliate, consulta le seguenti guide: