Panoramica di CodeMender

Il lancio di modelli di AI avanzati ha suscitato una preoccupazione diffusa in merito alle vulnerabilità del codice. Man mano che gli autori degli attacchi 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 possano essere sfruttate.

CodeMender è un agente di sicurezza del codice AI in grado di trovare, verificare e correggere vulnerabilità profonde nella tua base di codice. CodeMender avvolge un harness ottimizzato attorno 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 è progettato per gestire la scalabilità e la diversità degli ambienti aziendali moderni, in cui il codice si estende su numerosi linguaggi e tipi di sistemi:

  • Trova le vulnerabilità eseguendo la scansione della base di codice 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 sulla tua macchina, che funge sia da CLI (per eseguire comandi e visualizzare output) sia da daemon (per eseguire comandi per conto dell'agente, ad esempio navigare nel codebase e verificare vulnerabilità e patch).

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, supporta un'ampia gamma di librerie standard all'interno di questi linguaggi, nonché framework aziendali comuni (come HTML/CSS, Django, Flask, React, Spring Boot ed Express).

I tipi di vulnerabilità supportati coprono un ampio spettro 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 durante l'esecuzione dei comandi CodeMender CLI, consulta Specifica del modello.

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 vengono inviati al cloud?

Quando utilizzi CodeMender, lo strumento CLI locale media l'accesso al tuo codice, garantendo che i repository del codice sorgente completo non vengano mai caricati sui server di Google e non vengano clonati in modo indipendente dall'agente ospitato.

Al contrario, i dati inviati all'agente ospitato da Google sono rigorosamente localizzati e consistono in:

  • 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).

Il codice sorgente del cliente non viene mai utilizzato 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: i dati di sessione, inclusi snippet di codice e stati di monitoraggio, vengono conservati per un massimo di 7 giorni nello spazio di archiviazione della Gemini Enterprise Agent Platform per consentire agli utenti di riprendere senza problemi le scansioni interrotte. Dopo 7 giorni, viene eliminato automaticamente (vedi Zero Data Retention).
  • 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:le patch e i risultati relativi alle vulnerabilità non vengono archiviati in database a lunga durata, ma si accumulano in memoria durante la pipeline.

Chi può accedere ai dati?

CodeMender è progettato con 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 restrizioni e non hanno visibilità sul contesto del codice sorgente del cliente o sugli stati di sessione temporanei.
  • Isolamento rigoroso:tutti i dati sono isolati logicamente e controllati dall'accesso in base al progetto di fatturazione dell'organizzazione e 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 mentre i tuoi dati localizzati vengono inviati al motore di ragionamento del cloud.

Inizia a utilizzare la CLI

Configura lo strumento CLI e inizializza lo spazio di lavoro per iniziare la scansione.

Prerequisiti

Prima di inizializzare CodeMender CLI, assicurati che l'ambiente sia preparato correttamente:

  • Scarica CodeMender CLI: scarica e installa il binario di CodeMender CLI per il tuo sistema operativo.
  • Configura le credenziali Google Cloud: configura le Credenziali predefinite dell'applicazione (ADC) per autenticare la CLI. Google Cloud
  • Esegui il provisioning del codice sorgente:clona o copia il codice sorgente del progetto che vuoi analizzare nel tuo spazio di lavoro.

Specifica del 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 (predefinito): --model gemini-3.5-flash
  • Anteprima di Gemini 3.1 Pro: --model gemini-3.1-pro-preview
  • Gemini 3 Flash (anteprima): --model gemini-3-flash-preview

Il flag --model è supportato dai seguenti comandi:

  • 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

Passaggi successivi

Per istruzioni dettagliate, consulta le seguenti guide: