# Metis

> Open-source agentic AI security framework for deep security code review, created by Arm's Product Security Team.

Metis is an open-source, agentic AI security framework for deep security code review, created by Arm's Product Security Team. It uses LLMs to review source code, triage findings, and answer questions about an indexed codebase. The repository's latest release is metis-v2.0.0 and it is distributed under the Apache 2.0 license.

## What It Is

Metis is a command-line security review tool. Instead of hardcoded rules like linters or traditional static analysis, it uses LLMs capable of semantic reasoning to find subtle vulnerabilities, aimed especially at large, complex, or legacy codebases. Users point it at a codebase path, run a configured review graph or an interactive prompt, and get findings with the affected snippet, an explanation, a suggested mitigation, and a confidence value.

## How the Workflow Runs

The interactive prompt offers commands such as init, index, review_code, review_dir, review_file, review_patch, update, ask and triage. Review can cover a whole codebase, a directory, a single file, or a patch diff. Triage annotates findings from Metis review JSON or SARIF, including SARIF from other tools, gathering evidence to reduce false positives. Output can be written to JSON or SARIF files, and an optional workflow trace records prompts, model responses and tool calls locally.

## Language and Provider Support

C and C++ get Tree-sitter-backed CodeGraph reachability review. Many other languages, including Java, Python, Rust, Go, TypeScript, Terraform, Verilog and AArch64 Assembly, are handled by language plugins. Other UTF-8 text files use a default plugin. LLM providers include OpenAI, Azure OpenAI, Anthropic, Gemini, AWS Bedrock, vLLM, Ollama and llama.cpp. Vector storage defaults to ChromaDB, with PostgreSQL/pgvector and Qdrant as options.

## Setup Path

Install with uv from a cloned repository, or build the provided Docker image. Set a provider API key, such as OPENAI_API_KEY for the default provider, then run metis with --codebase-path. Custom configuration is supplied explicitly with --config, and extra review guidance can be supplied via a custom prompt file.

## Features
- LLM-based deep reasoning security code review
- Issue validation and triage of findings, including third-party SAST SARIF
- Review of files, directories, and patches
- CodeGraph reachability for C and C++
- Plugin-based language support
- Multiple LLM providers including local models
- ChromaDB, PostgreSQL pgvector and Qdrant vector backends
- Interactive CLI with ask over indexed codebase
- JSON and SARIF output
- Docker support
- Local workflow trace logging
- Custom review prompt guidance

## Integrations
OpenAI, Azure OpenAI, Anthropic, Google Gemini, AWS Bedrock, vLLM, Ollama, llama.cpp, LiteLLM, ChromaDB, PostgreSQL pgvector, Qdrant, SARIF

## Platforms
API, CLI

## Pricing
Open Source

## Version
2.0.0

## Links
- Website: https://github.com/arm/metis
- Documentation: https://github.com/arm/metis/tree/main/docs
- Repository: https://github.com/arm/metis
- EveryDev.ai: https://www.everydev.ai/tools/metis
