Il lancio di modelli di AI avanzati ha suscitato una diffusa preoccupazione in merito alle vulnerabilità del codice. Man mano che gli aggressori ottengono l'accesso a nuove funzionalità per la generazione di exploit, i team di sicurezza sono sottoposti a un'immensa pressione temporale per trovare e correggere in modo proattivo le vulnerabilità prima che gli aggressori le sfruttino.
CodeMender è un agente di sicurezza del codice AI in grado di trovare, verificare e correggere le vulnerabilità profonde nella codebase. CodeMender avvolge un modello LLM con un harness ottimizzato, 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 sistema:
- Trova le vulnerabilità eseguendo la scansione della codebase utilizzando un modello LLM guidato dall'agente, sfruttando strumenti specializzati e il prompt engineering 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. In questo modo puoi dare la priorità alle vulnerabilità confermate e ridurre il tasso di falsi positivi.
- Correggi le vulnerabilità generando e testando una patch compatibile con il linguaggio della 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 modello LLM con l'harness ottimizzato di CodeMender fornisce risultati di qualità superiore rispetto all'utilizzo di un modello 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 sulla tua macchina, che funge sia da CLI (per emettere comandi e visualizzare gli 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 il codice, eseguire test e verificare le vulnerabilità in modo sicuro).
Linguaggi e framework supportati
CodeMender supporta i principali tipi di vulnerabilità in tutti i principali linguaggi di programmazione: C/C++, Go, Java, Python, TypeScript / JavaScript, Rust e Ruby. Inoltre, offre 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 ed Express).
I tipi di vulnerabilità supportati coprono un'ampia gamma di difetti di sicurezza del software nella logica dell'applicazione, nella gestione dei dati, nella gestione della memoria e nei flussi di controllo dell'autenticazione.
Modelli supportati
CodeMender supporta i seguenti modelli:
Fai clic per espandere i modelli supportati
Per specificare un modello quando esegui i comandi della CLI CodeMender, consulta la sezione Specificare il 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 live 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.
Riga di 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 mobile che si aggiorna man mano che l'agente lavora:
cm find ./src/auth/ --compact
La riga di stato riporta i totali cumulativi della sessione:
Tokens: 40k in / 12k out / 60k total
Le sessioni riprese continuano a contare da dove si era interrotta l'esecuzione precedente. Il conteggio total può includere i token di ragionamento interni del modello, quindi può superare in + out.
Riepilogo di uscita
Al termine dell'esecuzione di un comando e dopo l'esecuzione di 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 fatturati
Per visualizzare l'utilizzo cumulativo dei token fatturati e le tendenze dei costi nel tuo Google Cloud progetto, consulta Visualizzare i report sulla fatturazione e le tendenze dei costi in Fatturazione Cloud.
Iniziare a utilizzare la CLI
Configura lo strumento CLI e inizializza l'area di lavoro per iniziare la scansione.
Prerequisiti
Prima di inizializzare la CLI CodeMender, assicurati che l'ambiente sia preparato correttamente:
- Configura il progetto Google Cloud: configura il tuo Google Cloud progetto con le API e i ruoli IAM richiesti.
- Scarica la CLI CodeMender: scarica e installa il file binario della CLI CodeMender per il tuo sistema operativo.
- Configura le credenziali Google Cloud: configura Google Cloud le Credenziali predefinite dell'applicazione (ADC) per autenticare la CLI.
- Provisioning del codice sorgente: clona o copia il codice sorgente del progetto che vuoi scansionare nell'area di lavoro.
- Configura la sandbox: definisci i montaggi delle directory, i profili di accesso alla rete e le eccezioni di sicurezza per l'ambiente sandbox.
Specificare il modello
Per impostazione predefinita, CodeMender utilizza Gemini 3.7 Flash. Per sostituire il modello predefinito, passa il flag --model con l'identificatore del modello corrispondente:
- Gemini 3.7 Flash (impostazione predefinita):
--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 (anteprima):
--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 di accesso di CodeMender:
Quali dati invia CodeMender al cloud?
Quando utilizzi CodeMender, lo strumento CLI locale media l'accesso al codice, assicurandoti di non caricare 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 consiste in:
- Contenuti di file o snippet di codice 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 dei clienti per addestrare i pesi del modello sottostante.
Quali sono le norme di conservazione?
CodeMender utilizza norme di conservazione dei dati rigorose e a breve termine:
- Conservazione massima di 7 giorni: conserviamo i dati della sessione, inclusi gli snippet di codice e gli stati di monitoraggio, per un massimo di 7 giorni nello spazio di archiviazione della piattaforma dell'agente Gemini Enterprise per consentire agli utenti di riprendere senza problemi le scansioni interrotte. Dopo 7 giorni, il sistema li 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 della sessione chiamando
DeleteInteraction. - Risultati effimeri: non memorizziamo 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à dell'operatore: anche per il debug e il monitoraggio degli errori di produzione, gli operatori di Google sono limitati e non hanno visibilità sul contesto del codice sorgente del cliente o sugli stati delle sessioni temporanee.
- 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 attorno alle tue risorse Google Cloud, contribuendo a mitigare i rischi di esfiltrazione di dati mentre i dati localizzati vengono inviati al motore di ragionamento cloud.
Passaggi successivi
Per istruzioni dettagliate, consulta le seguenti guide:
- Installare e configurare la CLI
- Scansionare e verificare le vulnerabilità del codice
- Importare i risultati di sicurezza di terze parti
- Correggere le vulnerabilità del codice e gestire le differenze
- Gestire le sessioni ed esportare i report