Repolode
arm

arm/metis

Ferramenta open source de revisão de código com foco em segurança, baseada em LLMs, que encontra vulnerabilidades por raciocínio semântico em vez de regras fixas; criada pela equipe de Product Security da Arm.

Estrelas
891
Forks
128
Issues abertas
12
Último commit
anteontem

O que é?

Metis é um framework de IA agêntica para revisões aprofundadas de código com foco em segurança. Em vez de depender de regras codificadas, como linters e analisadores estáticos tradicionais, usa modelos de linguagem grandes para raciocinar sobre a semântica do código e tentar detectar vulnerabilidades sutis em bases de código grandes ou legadas. Também valida os resultados da própria análise e os de saídas SARIF de terceiros, reunindo evidências para reduzir falsos positivos.

A ferramenta oferece suporte a várias linguagens, incluindo C, C++, Java, Python, Go, Rust, TypeScript, Solidity e Terraform, com divisão de código baseada em tree-sitter e um sistema de plugins para adicionar novas linguagens. O backend de LLM pode ser configurado para usar OpenAI, Azure OpenAI, Anthropic, Gemini, AWS Bedrock, vLLM, Ollama e llama.cpp. O armazenamento vetorial usa ChromaDB por padrão, com PostgreSQL (pgvector) e Qdrant como alternativas.

É possível usar o Metis pela CLI ou por um prompt interativo para revisar um diretório, arquivo ou diff, indexar uma base de código, fazer perguntas sobre ela e triar resultados SARIF. A saída pode ser gravada em JSON ou SARIF.

Recursos principais

  • 01Usa raciocínio semântico com LLMs, em vez de regras codificadas, para encontrar vulnerabilidades.
  • 02Valida os resultados da própria análise e de ferramentas SARIF de terceiros para reduzir falsos positivos.
  • 03Oferece suporte a várias linguagens por meio de um sistema de plugins, incluindo C/C++ com análise de alcançabilidade do CodeGraph.
  • 04Funciona com vários provedores de LLM, incluindo modelos locais via Ollama, vLLM e llama.cpp.
  • 05Oferece ChromaDB por padrão, com PostgreSQL pgvector e Qdrant como backends vetoriais opcionais.
  • 06Revisa diretórios inteiros, arquivos individuais ou diffs de patches, com saída em JSON ou SARIF.

Casos de uso

  • Revisar a segurança de bases de código C/C++ grandes ou legadas nas quais ferramentas baseadas em regras geram muitos alertas irrelevantes.
  • Revisar patches de pull requests em busca de problemas de segurança antes do merge.
  • Triar resultados de ferramentas SAST existentes para distinguir possíveis problemas reais de falsos positivos.
  • Executar análises de segurança com modelos hospedados localmente quando o código-fonte não pode sair da rede.

Início rápido

  1. 1

    Clone o repositório

    git clone https://github.com/arm/metis.git
  2. 2

    Crie um ambiente virtual e instale as dependências

    uv venv && uv pip install .
  3. 3

    Defina sua chave de API da OpenAI como variável de ambiente

    export OPENAI_API_KEY="your-key-here"
  4. 4

    Execute a análise em uma base de código

    uv run metis --codebase-path "/path/to/src" --verbose

Antes de usar

  • É necessário um provedor de LLM. O padrão é a OpenAI, que requer uma chave de API.
  • A indexação vetorial requer um provedor de embeddings, a menos que o backend selecionado os forneça.
  • A cobertura de linguagens varia; algumas recebem apenas uma revisão básica.

Em coleções

Tópicos

#security-review#code-review#llm#static-analysis#vulnerability-detection#sarif#agentic-ai

Perguntas frequentes

O que é metis?
Ferramenta open source de revisão de código com foco em segurança, baseada em LLMs, que encontra vulnerabilidades por raciocínio semântico em vez de regras fixas; criada pela equipe de Product Security da Arm. Metis é um framework de IA agêntica para revisões aprofundadas de código com foco em segurança. Em vez de depender de regras codificadas, como linters e analisadores estáticos tradicionais, usa modelos de linguagem grandes para raciocinar sobre a semântica do código e tentar detectar vulnerabilidades sutis em bases de código grandes ou legadas. Também valida os resultados da própria análise e os de saídas SARIF de terceiros, reunindo evidências para reduzir falsos positivos.
metis é gratuito? Qual é a licença?
metis é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
metis ainda é mantido?
Manutenção ativa. O último commit de metis foi em 5 de nov. de 2026.
Para que posso usar metis?
Revisar a segurança de bases de código C/C++ grandes ou legadas nas quais ferramentas baseadas em regras geram muitos alertas irrelevantes. Revisar patches de pull requests em busca de problemas de segurança antes do merge. Triar resultados de ferramentas SAST existentes para distinguir possíveis problemas reais de falsos positivos. Executar análises de segurança com modelos hospedados localmente quando o código-fonte não pode sair da rede.
Como instalar metis?
Clone o repositório: git clone https://github.com/arm/metis.git Crie um ambiente virtual e instale as dependências: uv venv && uv pip install . Defina sua chave de API da OpenAI como variável de ambiente: export OPENAI_API_KEY="your-key-here" Execute a análise em uma base de código: uv run metis --codebase-path "/path/to/src" --verbose
Onde consigo metis?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/arm/metis

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados