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 ficam sob imensa pressão 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 conjunto ajustado em 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 lida com a escala e a diversidade dos ambientes corporativos modernos, em que o código abrange várias linguagens e tipos de sistema:
- 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 conjunto 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 ver saídas) e um daemon (para executar comandos em nome do agente, com isolamento opcional em uma 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 é compatível com as seguintes linguagens por padrão: C/C++, C# / .NET, Go, Java, JavaScript e TypeScript, Kotlin, Python, Ruby, Rust e PHP. Além disso, ele oferece amplo suporte para bibliotecas padrão nessas linguagens, bem como frameworks corporativos comuns (como HTML/CSS, Django, Flask, React, Spring Boot, ASP.NET e Express).
As linguagens de programação listadas não são um limite rígido. Como o CodeMender é um agente de segurança de código de IA, ele pode analisar e corrigir código em qualquer linguagem entendida pelo modelo subjacente. O suporte está disponível para qualquer linguagem não proprietária.
Verificação de outras linguagens de programação
É possível configurar o CodeMender para verificar linguagens de programação que não estão no conjunto padrão de uma das seguintes maneiras:
- Configuração global: adicione a extensão do arquivo da linguagem de programação à seção
scan.extensions.includedo arquivo de configuração global~/.codemender/config.yamldo CodeMender. - Configuração por repositório: adicione a extensão do arquivo da linguagem de programação à seção
scan.extensions.includedo arquivo de configuraçãoconfig.yamldo CodeMender no repositório.
Por exemplo, para digitalizar outros idiomas ou formatos de script:
scan:
extensions:
include:
# Default languages
- .py
- .java
- .go
- .js
- .jsx
- .mjs
- .cjs
- .ts
- .tsx
- .c
- .cc
- .cpp
- .cxx
- .h
- .hpp
- .cs
- .rs
- .kt
- .kts
- .rb
- .php
# Additional / custom languages
- .swift
- .scala
- .sh
# Exclude build, dependency, cache, and artifact directories
exclude_dirs:
- node_modules
- vendor
- dist
- bin
- target
- obj
- build
- .gradle
Para mais informações sobre a configuração das opções de verificação, consulte Parâmetros de configuração (config.yaml).
Observação sobre a qualidade
O CodeMender não publica avaliações formais por idioma. Os idiomas padrão refletem onde temos mais cobertura de comparativo de mercado. Os resultados em outros idiomas variam. Se sua organização precisar de um idioma específico para avaliação mais detalhada ou inclusão padrão, entre em contato com a equipe da sua Conta do Google.
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.
Regiões compatíveis
O CodeMender está disponível no mundo todo.
Acompanhar o uso de tokens
O CodeMender mostra o consumo de tokens em dois lugares: uma linha de status em tempo real 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 trabalha:
cm find ./src/auth/ --compact
A linha de status informa os totais cumulativos de sessões:
Tokens: 40k in / 12k out / 60k total
As sessões retomadas continuam a contagem de onde a execução anterior parou. A contagem de total pode incluir os tokens de raciocínio interno do modelo, então pode exceder in + out.
Resumo da saída
Quando um comando é concluído com sucesso e pelo menos uma etapa da ferramenta é 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 projeto Google Cloud , consulte Visualizar relatórios de faturamento e tendências de custo no Cloud Billing.
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:
- Configurar o projeto do Google Cloud:configure seu projeto Google Cloud com as APIs e os papéis do IAM necessários.
- Faça o download da CLI do CodeMender:baixe e instale o binário da CLI do CodeMender para seu sistema operacional.
- Configurar credenciais do Google Cloud:configure as Google Cloud Application Default Credentials (ADC) para autenticar a CLI.
- Provisione seu código-fonte:clone ou copie o código-fonte do projeto que você quer verificar no 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.
Especificar o modelo
Por padrão, o CodeMender usa o Gemini 3.8 Flash. Para substituir o modelo padrão, transmita a flag --model com o identificador do modelo correspondente:
- Gemini 3.8 Flash (padrão):
--model gemini-3.8-flash - Gemini 3.7 Flash:
--model gemini-3.7-flash - Gemini 3.6 Flash:
--model gemini-3.6-flash - Gemini 3.5 Flash:
--model gemini-3.5-flash - Pré-lançamento do Gemini 3.1 Pro:
--model gemini-3.1-pro-preview
Os comandos a seguir aceitam a sinalização --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 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 enviados ao agente hospedado pelo Google, que consistem em:
- Conteúdo ou snippets de código de arquivos 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).
Nunca usamos seu 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 estrita e de curto prazo:
- Retenção máxima de 7 dias:mantemos os dados da sessão, incluindo snippets de código e estados de rastreamento, por até 7 dias no armazenamento da Gemini Enterprise Agent Platform para permitir que os usuários retomem sem problemas as verificações interrompidas. Após sete dias, o sistema exclui 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 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 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: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 da nuvem.
A seguir
Para instruções detalhadas, consulte os seguintes guias:
- Instalar e configurar a CLI
- Verificar e analisar 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