본문 바로가기

콩's AI

Mantis: 구글의 AI 기반 자율 취약점 탐지 및 보안 리뷰 툴킷 완벽 정리

반응형

Mantis: 구글의 AI 기반 자율 취약점 탐지 및 보안 리뷰 툴킷 완벽 정리

🛠️ Mantis(멘티스)란 무엇인가?

구글에서 개발한 Mantis(멘티스)는 코딩 에이전트(Coding Agents)와 결합하여 자율적으로 소스코드를 분석하고, 취약점을 발견하며, 패치까지 제안하는 순차적이고 보안에 특화된 오픈소스 보안 리뷰 툴킷입니다. 이 도구는 고정된 규칙대로 움직이는 것이 아니라 개발 조직의 인프라와 하드웨어 스택, 코딩 표준에 맞춰 유연하게 확장하고 커스텀할 수 있도록 설계된 것이 가장 큰 특징입니다.

[⚠️ 경고] USE AT YOUR OWN RISK

이 스위트는 AI가 자율적으로 생성한 코드 페이로드를 실행하므로 매우 불안정하거나 예기치 않은 동작을 유발할 수 있습니다. 반드시 고립되고 격리된 샌드박스 환경(VCS가 차단된 전용 가상머신 등)에서만 실행하고, 실서비스 환경이나 민감한 데이터가 있는 네트워크 장비에서는 절대로 실행하지 마십시오.

[💡 중요] 책임감 있는 AI 사용 가이드

AI 모델은 비결정적이기 때문에 잘못된 보안 오류를 탐지하거나(환각 현상), 오작동하는 패치를 생성할 수 있습니다. 모든 발견 결과물은 보안 전문가의 수동 검증을 필수로 거쳐야 하며, 확인되지 않은 리포트를 오픈소스 관리자에게 대량으로 발송하는 행위는 삼가야 합니다.

⚙️ 설치 및 환경 구성 (Prerequisites)

Mantis는 플랫폼에 독립적이도록 설계되었습니다. 구글 ADK, Gemini CLI, Antigravity SDK 등 다양한 프레임워크와 연동하여 사용이 가능합니다. AI 에이전트가 생성한 유해할 수 있는 소스코드 실행으로부터 호스트 시스템을 완벽하게 보호하기 위해 gVisor(runsc) 기반의 안전한 컨테이너 격리 환경을 구축할 것을 강력히 권장합니다.

Docker & gVisor 격리 설정 예시

Mantis 에이전트가 위험한 페이로드를 무단으로 실행하지 못하도록 /etc/docker/daemon.json 파일에 다음과 같이 gVisor 샌드박스 런타임을 등록해 줍니다.

{
  "runtimes": {
    "runsc": {
      "path": "runsc"
    }
  }
}

설치 방식

  • 개발 프로젝트 내의 로컬 작업 공간(Workspace)에 설치하여 특정 코드베이스 전용으로 활용
  • 모든 프로젝트에서 언제든 호출하여 사용할 수 있도록 전역(Global) 환경에 설치

🔰 초보자 가이드 & 안전 예방 수칙

Mantis를 안전하고 효율적으로 정착시키기 위한 3가지 골든 룰입니다.

1. 대화형 모드 (Human-in-the-Loop) 우선 적용

보안 관리를 처음 시도할 때는 자동 실행 옵션(예: --yolo, --dangerously-skip-permissions)을 사용하지 말고, 각 단계를 수동 슬래시 명령어(예: /mantis-plan)로 끊어서 실행해야 합니다. 특히 파일 쓰기나 코드 실행을 시도할 때 에이전트가 정지하여 인간의 수동 승인을 거치도록 설정하세요.

2. "No Host-Run" 규칙 준수

AI 모델이 만든 재현용 크래시 코드나 스크립트는 로컬 호스트 컴퓨터에서 직접 구동해서는 안 됩니다. /mantis-reproduce/mantis-patch 단계에서 네트워크를 원천 차단하는 옵션(예: --network none)을 컨테이너에 반드시 부여하여 차단막을 형성해야 합니다.

3. 모델 분리 적용 및 노이즈 필터링

모든 진단 프로세스에 무겁고 고비용인 최상위 플래그십 AI 모델을 사용할 필요는 없습니다. 단순한 요약이나 매핑 단계에서는 경량 모델을 매칭하고, 추론이나 검증 단계에만 고급 모델을 할당하여 효율을 극대화하십시오. 또한, 초기 분석 시 나타나는 수많은 오탐(False Positives)을 걸러내기 위해 /mantis-review 단계에서 조직의 코드 패턴에 맞는 네거티브 규칙 필터를 점진적으로 세분화해 나가야 합니다.

🔄 순차적 파이프라인 실행 프로세스 (수동 실행)

CLI 터미널을 열고 에이전트 인터페이스 내에서 아래 명령어를 순차적으로 작동시켜 보안성 검토와 자동 패치까지 일련의 피드백 루프를 완료할 수 있습니다.

  • /mantis-history : (선택) 저장소의 VCS(버전 관리 시스템) 기록을 바탕으로 과거 발생했던 취약점 이력을 추출합니다.
  • /mantis-summarize : (선택) 전체 디렉토리 맵과 구조 요약이 담긴 mantis-summary.md 파일을 작성합니다.

[본 단계 진입]

  • /mantis-architecture : 코드의 구조적 특징과 과거 분석 결과를 지식창고(Knowledge Base, KB) 문서로 정립합니다.
  • /mantis-threat-model : 축적된 지식창고를 바탕으로 지속 가능한 실시간 위협 모델(Threat Model)을 설계합니다.
  • /mantis-plan : 외부 경계선(Boundary)을 스캔하고 스캔 로드맵을 구성한 뒤 위협 지식을 주입합니다.
  • /mantis-researcher : 주입된 컨텍스트를 활용해 다중 스레드 방식으로 코드 내부의 잠재적 취약점을 정밀 스캔합니다.
  • /mantis-dedupe : 중복되거나 범위가 겹치는 감지 정보 및 버그를 하나로 단일화합니다.
  • /mantis-review : 유효성을 판정하고 사전에 지정한 제외 조건에 부합하는 가짜 탐지 건을 1차 필터링합니다.
  • /mantis-critic : 실질적인 위협이 되지 않는 비존재성 혹은 영향력 없는 이슈들을 엄격하게 제외합니다.
  • /mantis-reproduce : 고립된 가상 샌드박스 내부에서 취약점을 직접 재현할 크래시 유발 페이로드(PoC)를 기획하고 실행합니다.
  • /mantis-chain : 여러 단계의 소소한 취약점들을 결합하여 연속적인 연쇄 공격 시나리오(Exploit Chain)를 완성합니다.
  • /mantis-patch : 취약 지점을 막을 수 있는 최소한의 패치 코드를 적용한 뒤 크래시가 완벽히 차단되는지 자동 재실험합니다.
  • /mantis-calibrate : 위험도 분석 매트릭스를 활용하여 최종 취약점 평점 등급을 계산하고 개별 정보에 추가합니다.
  • /mantis-reflect : 파이프라인 수행 중 얻은 메타 피드백과 성공/실패 궤적을 learnings.jsonl 저장소에 기록합니다.
  • /mantis-report : 보안 담당자가 즉시 검토하고 적용할 수 있도록 가독성 높은 통합 종합 보안 리포트를 출력합니다.

🎯 해결 과제와 미래의 자동화 로드맵

자가 개선 루프 구현 (Meta-Learning)

Mantis는 현재 분석 이력 데이터인 learnings.jsonl 자료를 가지고 학습을 가속하고 있지만, 향후 버전에서는 비판가(Critic) 단계에서 반복 탐지된 패턴 정보를 바탕으로 탐지 룰(SKILL.md) 파일 자체를 AI가 자가 교정 및 업데이트하는 진보된 능력을 연구 중입니다. 다만, 신뢰할 수 없는 입력을 통한 프롬프트 인젝션 방지를 위해 실제 이 룰을 업데이트할 때는 인간의 검토 단계를 거치는 안전장치를 포함할 예정입니다.

소프트웨어 암흑 공장 (Software Dark Factory)과의 통합

궁극적으로는 사람이 개입하지 않는 완전 무인 소프트웨어 빌드 공정에 Mantis를 게이트키퍼(Release Gatekeeper)로 장착하는 구상을 지향합니다. 새로운 릴리즈가 프로덕션에 배포되기 전 최소 몇 시간 동안 Mantis를 통한 자율 레드팀 시뮬레이션 검증을 통과하도록 강제하는 안전한 무인 개발 수명 주기를 제안합니다.

참고 및 출처: 본 프로젝트는 구글의 공식 지원 제품군이 아니며, 구글 오픈소스 보상 프로그램 대상에 해당하지 않는 안전성 실증용 데모 프로젝트입니다.
자세한 내용은 소스코드 저장소를 확인해 보시기 바랍니다.

공식 Mantis GitHub 리포지토리 바로가기

반응형

⚠️ 광고 차단 프로그램 감지

애드블록, 유니콘 등 광고 차단 확장 프로그램을 해제하거나
화이트리스트에 추가해주세요.