O lançamento de modelos avançados de IA gerou preocupação generalizada em relação às vulnerabilidades de código. À medida que os invasores têm acesso a novos recursos para gerar exploits, as equipes de segurança ficam sob imensa pressão de tempo para encontrar e corrigir vulnerabilidades de forma proativa antes que os invasores as explorem.
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 harness ajustado em torno de um LLM, usando comandos, habilidades e lógica de orquestração projetados pelo Google DeepMind para transformar o modelo em um sistema de agente especializado em segurança de código.
Como funciona
O CodeMender processa a escala e a diversidade de ambientes corporativos modernos, em que o código abrange várias linguagens e tipos de sistema:
- Encontre vulnerabilidades verificando sua base de código usando um LLM guiado pelo agente, aproveitando ferramentas especializadas e engenharia de comandos para concentrar o modelo em falhas de segurança. Como alternativa, você pode importar 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 fases, 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 harness 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
Da perspectiva 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 visualizar saídas) e um daemon (para executar comandos em nome do agente, com isolamento opcional em um sandbox local no nível do processo para compilar código, executar testes e verificar vulnerabilidades com segurança).
Idiomas e bibliotecas compatíveis
O CodeMender oferece suporte aos 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 amplo suporte para bibliotecas padrão nessas linguagens, bem como frameworks corporativos comuns (como HTML/CSS, Django, Flask, React, Spring Boot e Express).
Os tipos de vulnerabilidade com suporte abrangem um amplo espectro de falhas de segurança de software em lógica de aplicativos, processamento de dados, gerenciamento de memória e fluxos de controle de autenticação.
Modelos compatíveis
O CodeMender oferece suporte aos seguintes modelos:
Clique para expandir os modelos compatíveis
Para especificar um modelo ao executar comandos da CLI do CodeMender, consulte Como especificar o modelo.
Regiões compatíveis
O CodeMender está disponível globalmente.
Acompanhar o uso de tokens
O CodeMender mostra o consumo de tokens em dois lugares: uma linha de status ao vivo enquanto um comando é executado e um resumo de uma linha quando um comando é concluído com sucesso. As contagens abrangem tokens de entrada, saída e totais da sessão atual.
Linha de status ao vivo
Enquanto cm find, cm fix, cm verify ou cm session resume estiver em execução, transmita a flag --compact para mostrar uma linha de status contínua que é atualizada à medida que o agente funciona:
cm find ./src/auth/ --compact
A linha de status informa os totais cumulativos da sessão:
Tokens: 40k in / 12k out / 60k total
As sessões retomadas continuam a contagem de onde a execução anterior parou. A contagem total pode incluir os tokens de raciocínio interno do modelo, portanto, pode exceder in + out.
Resumo de saída
Quando um comando termina com sucesso e pelo menos uma etapa da ferramenta foi executada, o CodeMender imprime um resumo de uma linha com o tempo decorrido e os totais de tokens:
✅ Completed 14 tool steps in 3m 42s | Tokens: 40k in / 12k out / 60k total
Uso de tokens faturado
Para conferir o uso cumulativo de tokens faturados e as tendências de custo no seu Google Cloud projeto, consulte Visualizar relatórios de faturamento e tendências de custo no Cloud Billing.
Comece a usar a CLI
Configure a ferramenta de 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:
- Configurar o projeto na nuvem do Google Cloud: configure seu Google Cloud projeto com as APIs e os papéis do IAM necessários.
- Fazer o download da CLI do CodeMender: faça o download e instale o binário da CLI do CodeMender para seu sistema operacional.
- Configurar as credenciais do Google Cloud: configure o Google Cloud Application Default Credentials (ADC) para autenticar a CLI.
- Provisionar o código-fonte:clone ou copie o código-fonte do projeto que você quer verificar para seu espaço de trabalho.
- Configurar o sandbox: defina montagens de diretório, perfis de acesso à rede e exceções de segurança para o ambiente de sandbox.
Como 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
Os comandos a seguir aceitam a flag --model:
cm findcm verifycm fix
Para especificar um modelo ao executar qualquer um desses comandos, use a seguinte sintaxe:
cm COMMAND TARGET --model MODEL_NAME
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 o CodeMender envia para a nuvem?
Ao usar o CodeMender, a ferramenta de CLI local medeia o acesso ao seu código, garantindo que você nunca faça upload dos seus repositórios de código-fonte completos para os servidores do Google e que o agente hospedado não os clone de forma independente.
Em vez disso, a CLI localiza estritamente os dados que envia ao agente hospedado pelo Google, que consiste em:
- Conteúdo de arquivo ou snippets de código segmentados, informações de vulnerabilidade, patches propostos e resultados de execução de comandos.
- Metadados, diagnósticos, erros e telemetria de uso (como tokens consumidos e duração do comando).
Nunca usamos o código-fonte do cliente 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 rigorosa e de curto prazo:
- Retenção máxima de 7 dias:retemos dados de sessão, incluindo snippets de código e estados de rastreamento, por até 7 dias no armazenamento da plataforma do agente do Gemini Enterprise para permitir que os usuários retomem as verificações interrompidas sem problemas. Após 7 dias, o sistema exclui automaticamente (consulte Retenção de dados zero).
- Exclusão explícita:os clientes não precisam esperar 7 dias. Eles podem acionar uma limpeza imediata de todos os dados da sessão chamando
DeleteInteraction. - Descobertas temporárias:não armazenamos descobertas de vulnerabilidades e patches em bancos de dados de longa duração. Eles se acumulam na memória durante o pipeline.
Quem pode acessar os dados?
O CodeMender usa uma abordagem de "Acesso a dados zero" em relação à visibilidade humana:
- Sem acesso humano:nenhum grupo humano 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 rigoroso:isolamos logicamente e controlamos o acesso a todos os dados 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 na nuvem.
A seguir
Para instruções detalhadas, consulte os seguintes guias:
- Instalar e configurar a CLI
- Verificar e verificar vulnerabilidades de código
- Importar descobertas de segurança de terceiros
- Corrigir vulnerabilidades de código e gerenciar diferenças
- Gerenciar sessões e exportar relatórios