Panoramica di CodeMender

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 find
  • cm verify
  • cm 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: