arm/metis

Metis is an open-source, AI-driven tool for deep security code review

해결하는 문제

Metis는 대규모, 복잡하거나 레거시 코드베이스에서 리뷰 피로를 줄이고 미묘한 보안 취약점을 감지하도록 설계되었습니다. 이는 하드코딩된 규칙에 의존하고 코드 의미론적 이해에서 어려움을 겪는 전통적인 정적 분석 도구(SAST) 및 린터의 한계를 해결합니다.

작동 방식

Metis는 대규모 언어 모델(LLM)로 구동되는 에이전틱 AI 프레임워크를 사용하여 소스 코드에 대한 깊은 추론을 수행합니다. 언어 지원을 위해 플러그인 기반 시스템을 사용하고, 코드 분할 및 분석을 위해 Tree-sitter를 활용합니다. C 및 C++의 경우, 도달 가능성 분석을 위해 CodeGraph를 사용합니다. 시스템은 검색 증강 분석을 가능하게 하기 위해 코드베이스를 벡터 스토어(ChromaDB, pgvector가 포함된 PostgreSQL, Qdrant 지원)로 인덱싱할 수 있습니다. 또한, 결과를 검증하고 오탐을 줄이기 위한 트리아지 플로우를 포함하며, 이는 자체 결과나 서드파티 SAST 도구의 결과에 적용할 수 있습니다.

대상 사용자

주로 다양한 프로그래밍 언어에 걸쳐 심층 보안 코드 리뷰를 수행하고 안전한 코딩 관행을 개선해야 하는 보안 엔지니어 및 소프트웨어 개발자를 대상으로 합니다.

주요 특징

  • 심층 추론: 하드코딩된 규칙 대신 의미론적 이해를 위해 LLM을 사용합니다.
  • 확장 가능한 아키텍처: 새로운 언어, 모델, 프롬프트를 추가하기 위한 플러그인 친화적 설계.
  • 광범위한 언어 지원: C, C++, Java, Python, Rust, Go, 심지어 AArch64 어셈블리까지 수많은 언어를 지원합니다.
  • 프로바이더 유연성: 주요 LLM 프로바이더(OpenAI, Anthropic, Gemini, AWS Bedrock) 및 로컬 모델(vLLM, Ollama, llama.cpp)과 호환됩니다.
  • 결정론적 증거: 결과가 코드에 기반하도록 소스 로컬 분석 및 결정론적 증거 수집에 초점을 맞춥니다.
  • 통합 트리아지: 오탐을 줄이기 위해 결과를 검증하며, 다른 도구에서 생성된 SARIF 파일을 처리할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트