Repolode
arm

arm/metis

Herramienta open source de revisión de seguridad de código basada en LLM que detecta vulnerabilidades mediante razonamiento semántico, desarrollada por el equipo de seguridad de producto de Arm.

Estrellas
889
Forks
128
Issues abiertos
12
Último commit
ayer

¿Qué es?

Metis es un framework de IA agéntica para realizar revisiones de seguridad de código en profundidad. En lugar de depender de reglas codificadas, como los linters o analizadores estáticos tradicionales, usa modelos de lenguaje grandes para razonar sobre la semántica del código y detectar vulnerabilidades sutiles en bases de código grandes o heredadas. También valida los hallazgos de sus propios análisis y de resultados SARIF de terceros, y recopila evidencias para reducir los falsos positivos.

La herramienta admite muchos lenguajes, como C, C++, Java, Python, Go, Rust, TypeScript, Solidity y Terraform. Usa tree-sitter para dividir el código y cuenta con un sistema de plugins que permite añadir nuevos lenguajes. El backend de LLM se puede configurar para usar OpenAI, Azure OpenAI, Anthropic, Gemini, AWS Bedrock, vLLM, Ollama y llama.cpp. El almacenamiento vectorial usa ChromaDB de forma predeterminada, con PostgreSQL (pgvector) y Qdrant como alternativas.

Se puede usar Metis desde una CLI o un prompt interactivo para revisar un directorio, un archivo o un diff, indexar una base de código, hacerle preguntas y clasificar resultados SARIF. Los resultados se pueden guardar en formato JSON o SARIF.

Funciones clave

  • 01Usa el razonamiento semántico de LLM en lugar de reglas codificadas para detectar vulnerabilidades.
  • 02Valida los hallazgos de sus propios análisis y de herramientas SARIF de terceros para reducir los falsos positivos.
  • 03Admite muchos lenguajes mediante un sistema de plugins, incluido C/C++ con análisis de alcanzabilidad de CodeGraph.
  • 04Funciona con varios proveedores de LLM, incluidos modelos locales mediante Ollama, vLLM y llama.cpp.
  • 05Usa ChromaDB de forma predeterminada y ofrece PostgreSQL pgvector y Qdrant como backends vectoriales opcionales.
  • 06Revisa directorios completos, archivos individuales o diffs de parches, y genera resultados en JSON o SARIF.

Casos de uso

  • Revisar la seguridad de bases de código C/C++ grandes o heredadas en las que las herramientas basadas en reglas generan demasiado ruido.
  • Revisar parches de pull requests para detectar problemas de seguridad antes de integrarlos.
  • Clasificar hallazgos de herramientas SAST existentes para distinguir los problemas probablemente reales de los falsos positivos.
  • Ejecutar análisis de seguridad con modelos alojados localmente cuando el código fuente no puede salir de la red.

Inicio rápido

  1. 1

    Clona el repositorio

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

    Crea un entorno virtual e instala las dependencias

    uv venv && uv pip install .
  3. 3

    Configura tu clave de API de OpenAI como variable de entorno

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

    Ejecuta el análisis en un código fuente

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

Antes de usarlo

  • Se requiere un proveedor de LLM. El predeterminado es OpenAI, que necesita una clave de API.
  • La indexación vectorial requiere un proveedor de embeddings, salvo que el backend seleccionado los proporcione.
  • La cobertura de lenguajes varía; algunos solo reciben una revisión básica.

En colecciones

Temas

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

Preguntas frecuentes

¿Qué es metis?
Herramienta open source de revisión de seguridad de código basada en LLM que detecta vulnerabilidades mediante razonamiento semántico, desarrollada por el equipo de seguridad de producto de Arm. Metis es un framework de IA agéntica para realizar revisiones de seguridad de código en profundidad. En lugar de depender de reglas codificadas, como los linters o analizadores estáticos tradicionales, usa modelos de lenguaje grandes para razonar sobre la semántica del código y detectar vulnerabilidades sutiles en bases de código grandes o heredadas. También valida los hallazgos de sus propios análisis y de resultados SARIF de terceros, y recopila evidencias para reducir los falsos positivos.
¿metis es gratuito? ¿Qué licencia tiene?
metis es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿metis sigue mantenido?
Mantenimiento activo. El último commit de metis fue el 5 nov 2026.
¿Para qué puedo usar metis?
Revisar la seguridad de bases de código C/C++ grandes o heredadas en las que las herramientas basadas en reglas generan demasiado ruido. Revisar parches de pull requests para detectar problemas de seguridad antes de integrarlos. Clasificar hallazgos de herramientas SAST existentes para distinguir los problemas probablemente reales de los falsos positivos. Ejecutar análisis de seguridad con modelos alojados localmente cuando el código fuente no puede salir de la red.
¿Cómo se instala metis?
Clona el repositorio: git clone https://github.com/arm/metis.git Crea un entorno virtual e instala las dependencias: uv venv && uv pip install . Configura tu clave de API de OpenAI como variable de entorno: export OPENAI_API_KEY="your-key-here" Ejecuta el análisis en un código fuente: uv run metis --codebase-path "/path/to/src" --verbose
¿Dónde consigo metis?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/arm/metis

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados