Il lancio di modelli AI avanzati ha suscitato una diffusa preoccupazione in merito alle vulnerabilità del codice. Man mano che gli aggressori accedono 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 linguistico di grandi dimensioni (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 su numerosi linguaggi e tipi di sistema:
- Trova le vulnerabilità eseguendo la scansione della codebase utilizzando un modello linguistico di grandi dimensioni (LLM) guidato dall'agente, sfruttando strumenti specializzati e 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 linguistico di grandi dimensioni (LLM) con l'harness ottimizzato di CodeMender fornisce risultati di qualità superiore rispetto all'utilizzo di un modello linguistico di grandi dimensioni (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 interfaccia a riga di comando (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 in 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 dell'interfaccia a riga di comando di CodeMender, consulta la sezione Specificare il modello.
Aree geografiche supportate
CodeMender è disponibile a livello globale.
Monitora 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 funziona:
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 Visualizza i report sulla fatturazione e le tendenze dei costi in Fatturazione Cloud.
Inizia a utilizzare l'interfaccia a riga di comando
Configura lo strumento dell'interfaccia a riga di comando e inizializza l'area di lavoro per avviare la scansione.
Prerequisiti
Prima di inizializzare l'interfaccia a riga di comando di 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 l'interfaccia a riga di comando di CodeMender: scarica e installa il file binario dell'interfaccia a riga di comando di CodeMender per il tuo sistema operativo.
- Configura le credenziali Google Cloud: configura Google Cloud le Credenziali predefinite dell'applicazione (ADC) per autenticare l'interfaccia a riga di comando.
- 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.5 Flash. Per sostituire il modello predefinito, passa il flag --model con l'identificatore del modello corrispondente:
- Gemini 3.5 Flash (impostazione predefinita):
--model gemini-3.5-flash - Gemini 3.1 Pro (anteprima):
--model gemini-3.1-pro-preview - Gemini 3 Flash (anteprima):
--model gemini-3-flash-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 dell'interfaccia a riga di comando locale media l'accesso al tuo 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, l'interfaccia a riga di comando 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 del cliente 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 transitori della sessione.
- Isolamento rigoroso: isoliamo logicamente e controlliamo l'accesso a tutti i dati per organizzazione e progetto di fatturazione del cliente per proteggere la privacy del 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 durante l'invio dei dati localizzati al motore di ragionamento cloud.
Passaggi successivi
Per istruzioni dettagliate, consulta le seguenti guide: