Visão geral do CodeMender

O lançamento de modelos avançados de IA gerou uma preocupação generalizada em relação às vulnerabilidades de código. À medida que os invasores ganham acesso a novos recursos para gerar exploits, as equipes de segurança sofrem uma imensa pressão para encontrar e corrigir vulnerabilidades de forma proativa antes que elas possam ser exploradas.

O CodeMender é um agente de segurança de código de IA que pode encontrar, verificar e corrigir vulnerabilidades profundas na sua base de código. O CodeMender envolve um arnês refinado em um LLM, usando comandos, habilidades e lógica de orquestração projetados pelo Google DeepMind para transformar o modelo em um sistema agêntico especializado em segurança de código.

Como funciona

O CodeMender foi projetado para lidar com a escala e a diversidade dos ambientes corporativos modernos, em que o código abrange várias linguagens e tipos de sistemas:

  • Encontre vulnerabilidades verificando sua base de código com um LLM guiado pelo agente, usando ferramentas especializadas e engenharia de comandos para focar o modelo em falhas de segurança. Ou importe uma lista de vulnerabilidades de ferramentas externas de verificação de segurança.
  • Verifique as vulnerabilidades criando o código e tentando explorar as vulnerabilidades encontradas para verificar se elas são exploráveis. Isso ajuda a priorizar vulnerabilidades confirmadas e reduz a taxa de falso positivo.
  • Corrija vulnerabilidades gerando e testando um patch compatível com a linguagem da sua base de código.

Durante todas as três etapas, você pode fornecer contexto ao CodeMender para garantir que ele considere as nuances do seu aplicativo e modelo de ameaça. Essa combinação de um LLM com o conector ajustado do CodeMender oferece resultados de maior qualidade em comparação com o uso de um LLM sozinho para encontrar e corrigir vulnerabilidades.

Arquitetura do sistema

Do ponto de vista do usuário, o sistema CodeMender consiste em dois componentes:

  • Agente: um sistema multiagente hospedado que executa a lógica de negócios e o raciocínio principais.
  • Cliente: um cliente em execução na sua máquina, atuando como uma CLI (para emitir comandos e ver saídas) e um daemon (para executar comandos em nome do agente, como navegar pela base de código e verificar vulnerabilidades e patches).

Idiomas e bibliotecas compatíveis

O CodeMender é compatível com os principais tipos de vulnerabilidade em todas as principais linguagens de programação: C/C++, Go, Java, Python, TypeScript / JavaScript, Rust e Ruby. Além disso, ele tem suporte amplo para bibliotecas padrão nessas linguagens, bem como frameworks empresariais comuns (como HTML/CSS, Django, Flask, React, Spring Boot e Express).

Os tipos de vulnerabilidade compatíveis abrangem um amplo espectro de falhas de segurança de software na lógica de aplicativos, no tratamento de dados, no gerenciamento de memória e nos fluxos de controle de autenticação.

Modelos compatíveis

O CodeMender é compatível com os seguintes modelos:

Clique para abrir os modelos compatíveis

Para especificar um modelo ao executar comandos da CLI do CodeMender, consulte Especificar o modelo.

Segurança e privacidade de dados

As seções a seguir descrevem o modelo de segurança, as políticas de retenção de dados e os controles de acesso do CodeMender:

Quais dados são enviados para a nuvem?

Ao usar o CodeMender, a ferramenta de CLI local medeia o acesso ao seu código, garantindo que os repositórios de código-fonte completos nunca sejam enviados aos servidores do Google e não sejam clonados de forma independente pelo agente hospedado.

Em vez disso, os dados enviados ao agente hospedado pelo Google são estritamente localizados e consistem em:

  • Conteúdo de arquivo ou snippets de código segmentados, informações de vulnerabilidade, patches propostos e resultados da execução de comandos.
  • Metadados, diagnósticos, erros e telemetria de uso (como tokens consumidos e duração do comando).

O código-fonte do cliente nunca é usado para treinar os pesos do modelo subjacente.

Qual é a política de retenção?

O CodeMender usa uma política de retenção de dados estrita e de curto prazo:

  • Retenção máxima de sete dias:os dados da sessão, incluindo snippets de código e estados de rastreamento, são retidos por até sete dias no armazenamento da Gemini Enterprise Agent Platform para permitir que os usuários retomem sem problemas as verificações interrompidas. Após 7 dias, ele é excluído automaticamente (consulte Retenção de dados zero).
  • Exclusão explícita:os clientes não precisam esperar sete dias. Eles podem acionar uma limpeza imediata de todos os dados da sessão chamando DeleteInteraction.
  • Descobertas efêmeras:as descobertas de vulnerabilidade e os patches não são armazenados em bancos de dados de longa duração, mas se acumulam na memória durante o pipeline.

Quem pode acessar os dados?

O CodeMender foi projetado com uma abordagem de "acesso zero a dados" em relação à visibilidade humana:

  • Sem acesso humano:nenhum grupo de pessoas ou engenheiro do Google tem acesso para ler dados do cliente no ambiente de produção.
  • Sem visibilidade do operador:mesmo para depuração de produção e rastreamento de erros, os operadores do Google são restritos e não têm visibilidade do contexto do código-fonte do cliente ou dos estados de sessão temporários.
  • Isolamento estrito:todos os dados são isolados logicamente e têm acesso controlado por organização e projeto de faturamento do cliente para proteger a privacidade do locatário na nossa infraestrutura compartilhada.
  • VPC Service Controls (VPC-SC): para proteger ainda mais seu ambiente, a arquitetura do CodeMender oferece suporte total ao VPC Service Controls (VPC-SC). Isso permite definir um perímetro de segurança seguro em torno dos recursos do Google Cloud, ajudando a reduzir os riscos de exfiltração de dados enquanto os dados localizados são enviados para o mecanismo de raciocínio da nuvem.

Começar a usar a CLI

Configure a ferramenta CLI e inicialize seu espaço de trabalho para começar a verificação.

Pré-requisitos

Antes de inicializar a CLI do CodeMender, verifique se o ambiente está preparado corretamente:

Especificar o modelo

Por padrão, o CodeMender usa o Gemini 3.5 Flash. Para substituir o modelo padrão, transmita a flag --model com o identificador do modelo correspondente:

  • Gemini 3.5 Flash (padrão): --model gemini-3.5-flash
  • Pré-lançamento do Gemini 3.1 Pro: --model gemini-3.1-pro-preview
  • Pré-lançamento do Gemini 3 Flash: --model gemini-3-flash-preview

A flag --model é compatível com os seguintes comandos:

  • cm find
  • cm verify
  • cm fix

Para especificar um modelo ao executar qualquer um desses comandos, use a seguinte sintaxe:

cm COMMAND TARGET --model MODEL_NAME

A seguir

Para instruções detalhadas, consulte os seguintes guias: