google/mantis 실험 준비: 격리 환경과 취약점 검증 기준
Mantis 보안 리뷰 파이프라인을 도입하기 전에 확인할 권한·격리·재현·패치 검토 기준입니다. 실행 완료 주장 대신 파일럿 기록 양식을 제공합니다.
- #Mantis
- #보안
- #에이전트
- #구글
- #코드 리뷰
보안 도구를 설치하기 전에 확인할 것
google/mantis는 보안 리뷰 스킬과 ADK 기반 참조 실행 환경을 제공하는 실험 저장소입니다. Google이 공식 지원하는 제품이 아니며, 저장소는 시연 목적이고 프로덕션 사용을 의도하지 않는다고 명시합니다. 이 글은 운영 도입 추천이나 실행 완료 보고서가 아니라, 격리된 파일럿을 준비하는 검토 자료입니다.
2026년 9월 14일 README를 다시 확인해 이전 글의 설치 명령과 고정된 15단계 실행 설명을 걷어냈습니다. 현재 문서는 reference의 설치 스크립트, 구성 검사, 대상 경로 실행 흐름을 안내합니다. 다른 에이전트에 그대로 설치하면 동작한다는 호환성 주장은 하지 않습니다.
현재 문서에서 확인한 범위
| 확인 항목 | 문서 설명 | 이 글의 확인 한계 |
|---|---|---|
| 실행 기반 | ADK 참조 환경, 환경별 변환 가능 | 다른 프레임워크에서 미실행 |
| 리뷰 흐름 | 이력·구조 파악, 탐색, 중복 제거, 검증, 재현, 패치, 위험도 조정 | 탐지율·비용·패치 성공률 미측정 |
| 격리 | 운영 시스템·민감 데이터·내부망과 분리 | 실제 샌드박스 탈출 방어 검증 없음 |
| 결과 취급 | 보안 전문가의 수동 검증 필요 | 자동 보고서를 취약점 확정으로 취급하지 않음 |
설치나 실행 명령을 복사하기 전에 사용할 커밋을 기록하고 그 버전의 README와 reference/workflow.json을 확인하세요. 이 글에는 재현 실험 로그가 없으므로 특정 명령이 독자의 환경에서 성공한다는 근거로 사용할 수 없습니다.
우리가 제안하는 네 가지 검토 경계
아래는 저장소의 고정 실행 순서가 아니라 Real AI Lab이 파일럿 평가를 위해 정리한 검토 흐름입니다.
후보 발견에서 패치 채택까지
- 1. 대상·권한·커밋 고정
- 2. 격리 환경에서 후보 재현
- 3. 수정 전후와 정상 기능 비교
- 4. 사람이 근거를 읽고 채택
발견 건수만으로 도구를 평가하면 오탐과 재현 비용이 가려집니다.
첫 경계는 대상입니다. 테스트용 저장소라도 다른 팀의 자산이면 허용 범위부터 정해야 합니다. 두 번째는 실행 환경입니다. 프롬프트에 “외부 연결 금지”라고 적는 것과 네트워크 정책으로 막는 것은 다릅니다. 모델 호출 경로와 재현 코드의 네트워크 권한을 각각 확인해야 합니다.
세 번째는 재현 결과입니다. 크래시만 관찰했다면 서비스 거부 가능성을 주장하기 전에 실제 입력 경로와 권한 조건을 확인해야 합니다. 네 번째는 패치입니다. 재현 코드 하나가 통과해도 정상 사용자의 접근까지 차단했을 수 있으므로 회귀 검사 결과를 함께 읽어야 합니다.
첫 파일럿은 저장소 전체가 아니라 한 경로로 시작하세요
처음부터 저장소 전체를 검사하면 오탐과 비용이 동시에 쌓여 파이프라인을 평가하기 어렵습니다. 인증, 파일 업로드, 권한 검사처럼 위험이 크고 경계가 분명한 디렉터리 하나를 고르세요. 이미 알고 있는 취약점이나 과거 수정 사례가 있다면 검출 여부를 확인할 기준으로 쓸 수 있습니다.
첫 회차에서는 발견 건수보다 검증 통과율을 봐야 합니다. 후보 100개를 찾고 실제 취약점이 2개라면 탐지량이 많아도 운영하기 어렵습니다. 각 후보가 어느 단계에서 탈락했는지 기록하면 필터를 조정할 위치가 보입니다.
패치 평가는 별도로 합니다. 취약점을 막았는지, 기존 테스트가 통과하는지, 권한 범위를 필요 이상으로 좁히지 않았는지를 사람이 확인하세요. 이 기준을 통과한 뒤에만 범위를 넓혀야 자동화가 보안 담당자의 검토 시간을 줄이는 도구가 됩니다.
실행 여부를 결정하는 작은 심사표
Mantis의 탐지율을 직접 측정하지 않았습니다. 아래는 실행 전 준비 상태를 판정하기 위해 만든 예시입니다. 프로젝트 이름이나 취약점 개수를 채우는 표가 아니라, 재현 실험에 필요한 근거가 있는지 확인하는 표입니다.
| 조건 | 통과 근거 | 근거가 없을 때 |
|---|---|---|
| 대상 권한 | 소유자가 허용한 저장소·커밋·범위 기록 | 실행하지 않고 범위를 합의 |
| 외부 연결 | 격리 환경의 네트워크 설정 확인 | 운영망에서 실행하지 않음 |
| 비밀정보 | 테스트 전용 설정과 가짜 자격증명 | 실서비스 키를 넣지 않음 |
| 발견 재현 | 동일 입력에서 문제가 재현되는 최소 사례 | 발견 후보로만 보관 |
| 수정 확인 | 수정 전 실패·수정 후 통과와 정상 기능 검사 | 패치 제안으로만 보관 |
예를 들어 “설정 파일에 암호처럼 보이는 문자열이 있다”는 보고서만으로는 유효한 취약점이 아닙니다. 테스트용 더미인지, 실제로 읽히는 경로인지, 외부에 노출되는지부터 확인해야 합니다. 반대로 실제 키로 보이더라도 유효성을 확인하려고 외부 서비스에 로그인하는 행동은 별도 권한 없이 해서는 안 됩니다.
파일럿 기록 양식은 대상·권한·입력·관찰·패치 전후 결과를 분리합니다. 실행하지 않은 칸에는 “미실행”을 남기세요. 이렇게 기록해야 다음 검토자가 AI의 추측과 사람이 확인한 사실을 구분할 수 있습니다. 이 글의 제공 범위는 도입 준비와 결과 검토이며, 검증된 취약점이나 실행 완료 보고서는 아닙니다.
출처
- google/mantis README: 현재 실행 기반, 경고, 공식 지원·프로덕션 사용에 관한 제한.
확인 날짜: 2026년 9월 14일. 직접 수행한 보안 스캔은 없으며, 제공 자료는 실험 설계와 검토 양식입니다.
자주 묻는 질문
- Gemini CLI에서만 쓸 수 있나요?
- 현재 README는 ADK 기반 참조 실행 환경을 제공합니다. 다른 프레임워크로 변환할 수 있다는 설명과 그대로 호환된다는 보장은 다릅니다. 이 글에서는 설치·호환성을 실행 검증하지 않았습니다.
- 찾아준 취약점을 그대로 신고해도 되나요?
- 저장소가 명시적으로 금지합니다. AI는 없는 취약점을 만들어낼 수 있고 잘못된 패치를 낼 수 있으므로, 모든 발견은 보안 전문가가 직접 확인한 뒤에 보고해야 합니다. 특히 검증하지 않은 AI 리포트를 오픈소스 메인테이너에게 대량으로 보내지 말라고 못박고 있습니다.
- 재현 코드를 실행하는 게 위험하지 않나요?
- 생성한 코드를 실행하므로 격리가 필요합니다. 현재 README는 운영 시스템·민감 데이터·내부망과 분리한 환경을 요구하고 추가 샌드박스와 감시를 권합니다. 이 글에서 샌드박스 안전성을 검증한 것은 아닙니다.