Visão geral do CodeMender

O lançamento de modelos avançados de IA gerou preocupações generalizadas sobre vulnerabilidades de código. À medida que os invasores ganham acesso a novos recursos para gerar exploits, as equipes de segurança enfrentam uma 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 LLM em um conjunto de segurança ajustado, 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 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. Como alternativa, é possível importar uma lista de vulnerabilidades de ferramentas externas de verificação de segurança.
  • Verificar 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 falsos positivos.
  • Corrija vulnerabilidades gerando e testando um patch compatível com a linguagem da sua base de código.

Durante as três etapas, você pode fornecer contexto ao CodeMender para garantir que ele considere as nuances do seu aplicativo e da modelagem de ameaças. 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

Do ponto de vista do usuário, o sistema do 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, que atua 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 é 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, assim 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 absoluto. Como o CodeMender é um agente de segurança de código de IA, ele pode analisar e corrigir código em qualquer linguagem compreendida pelo modelo subjacente. O suporte está em disponibilidade geral para qualquer linguagem não proprietária.

Como verificar 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 de arquivo da linguagem de programação à seção scan.extensions.include do arquivo de configuração global do CodeMender ~/.codemender/config.yaml.
  • Configuração por repositório: adicione a extensão de arquivo da linguagem de programação à seção scan.extensions.include do arquivo de configuração config.yaml do CodeMender no repositório.

Por exemplo, para verificar 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 como definir as 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 a maior cobertura de comparativo de mercado. Os resultados em outros idiomas variam. Se a organização precisar de um idioma específico priorizado para uma avaliação mais profunda ou inclusão padrão, entre em contato com a equipe de contas do Google.

Modelos compatíveis

O CodeMender é compatível com os seguintes modelos:

Clique para abrir os modelos compatíveis

O CodeMender também é compatível com o Gemini 3.8 Flash Cyber e o Gemini 4 Argon Cyber Permissive para clientes com acesso pelo Programa Fairwind.

O Gemini 4 Argon (gemini-4-argon) inclui recursos integrados de segurança cibernética que podem bloquear solicitações que envolvam a geração de exploits ou a verificação de vulnerabilidades. Qualquer bloqueio de segurança em gemini-4-argon aciona automaticamente uma nova tentativa no Gemini 3.8 Flash Cyber (gemini-3.8-flash-cyber) e, em seguida, volta para o Gemini 3.8 Flash (gemini-3.8-flash) se o projeto não tiver acesso ao Gemini 3.8 Flash Cyber.

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.

Monitorar 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 os tokens de entrada, saída e total 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 exibir uma linha de status contínua que é atualizada conforme o agente trabalha:

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 contando 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.

Sair do resumo

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 faturados

Para conferir o uso cumulativo de tokens faturados e as tendências de custo no seu projeto do Google Cloud , consulte Visualizar seus relatórios de faturamento e tendências de custo no Cloud Billing.

Começar a usar a CLI

Configure a ferramenta da 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 o projeto do Google Cloud com as APIs e os papéis do IAM necessários.
  • Baixe a CLI do CodeMender: baixe e instale o binário da CLI do CodeMender para seu sistema operacional.
  • Configurar Google Cloud credenciais e projeto: configure o Google Cloud Application Default Credentials (ADC) e defina o projeto de destino 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, transmite a flag --model com o identificador do modelo correspondente:

  • Gemini 3.8 Flash (padrão): --model gemini-3.8-flash
  • Gemini 3.8 Flash Cyber: --model gemini-3.8-flash-cyber
  • Gemini 4 Argon: --model gemini-4-argon
  • Gemini 4 Argon Cyber Permissive: --model gemini-4-argon-cyber-permissive
  • Gemini 3.7 Flash: --model gemini-3.7-flash (será desativado em 28 de janeiro de 2027)
  • Gemini 3.6 Flash: --model gemini-3.6-flash (descontinuado; será desativado em 19 de novembro de 2026)
  • Gemini 3.5 Flash: --model gemini-3.5-flash
  • Pré-lançamento do Gemini 3.1 Pro: --model gemini-3.1-pro-preview

Os modelos descontinuados ainda funcionam até a data de desativação, e a CLI mostra um aviso quando você usa um deles. Depois que um modelo é desativado, as solicitações que o usam falham. Migre para o Gemini 3.8 Flash antes da data de desativação.

Os comandos a seguir aceitam a sinalização --model:

  • 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

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 media 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 que envia ao agente hospedado pelo Google, que consistem em:

  • Conteúdo de arquivos ou snippets de código específicos, 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 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 que os usuários possam retomar as verificações interrompidas. Após 7 dias, o sistema o 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 e patches de vulnerabilidade 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 aos dados" 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 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 é totalmente compatível com o VPC-SC. Isso permite definir um perímetro de segurança seguro em torno dos seus recursos do Google Cloud , ajudando a reduzir os riscos de exfiltração de dados quando seus dados localizados são enviados para o mecanismo de raciocínio na nuvem.

A seguir

Para instruções detalhadas, consulte os guias a seguir: