DeepAudit

AI Agent OrchestrationCLIPython

★ 6,997주당 +40조회 4

무엇인가

DeepAudit는 소스 저장소를 입력받아 취약점을 찾아내는 자체 호스팅 코드 보안 감사 플랫폼이다. 정적 분석기(SAST)와 같은 자리에 놓이지만, 규칙 매칭 대신 LLM 기반 에이전트가 코드를 읽고 추론하는 쪽에 무게를 둔다. 백엔드는 Python/FastAPI, 프론트엔드는 React/Vite, 데이터 저장은 PostgreSQL, 실행 격리는 Docker로 구성된다.

어떻게 동작하나

감사는 Orchestrator, Recon, Analysis, Verification 네 역할의 에이전트가 협력하며 진행한다. Recon이 기술 스택과 진입점을 식별하고, Analysis가 Tree-sitter로 파싱한 코드와 ChromaDB에 적재한 RAG 지식을 참조해 후보 취약점을 추린다. Verification은 후보별 PoC 스크립트를 생성해 Docker 샌드박스에서 실행하고, 재현되는 것만 남긴다. 결과는 PDF·Markdown·JSON으로 내보낸다. 에이전트 실행 흐름은 LangGraph로, LLM 호출은 LiteLLM으로 추상화되어 OpenAI, Claude, Gemini, DeepSeek, Qwen, GLM, Kimi, Ollama 중 하나를 고를 수 있다.

무엇과 다른가

전통적 SAST는 패턴 매칭이라 오탐이 많고, 파일 간 호출 관계나 비즈니스 로직 결함을 놓치며, 발견한 취약점이 실제로 악용 가능한지 알려주지 않는다. DeepAudit는 이 세 지점을 각각 LLM의 의미 이해, 다중 에이전트의 교차 검토, 샌드박스 PoC 실행으로 대응한다. 폐쇄형 상용 감사 서비스와 달리 AGPL-3.0으로 공개되어 있고, Ollama를 붙이면 코드가 외부로 나가지 않는다.

어떻게 쓰나

배포는 두 갈래다. 미리 빌드된 Docker 이미지를 받아 한 줄로 띄우는 방식과, 저장소를 클론해 백엔드·프론트엔드·PostgreSQL을 직접 기동하는 방식이다. 컨테이너가 뜨면 http://localhost:3000에서 웹 UI로 접속하고, LLM 제공자와 API 키를 설정한 뒤 GitHub/GitLab/Gitea 저장소를 가져오거나 코드를 붙여넣어 감사를 시작한다. 중국 내에서는 ghcr.io 대신 ghcr.nju.edu.cn 미러를 쓰도록 안내한다.

전제와 한계

소스 개발에는 Python 3.11+, Node.js 20+, PostgreSQL 15+, Docker가 필요하고, 첫 기동 시 샌드박스 이미지를 빌드하므로 시간이 걸린다. 감사 대상 코드는 선택한 LLM 제공자 서버로 전송되므로 민감한 코드는 로컬 모델을 써야 한다. 자동 수정 PR 생성, PR 증분 감사, CI/CD 연동, 샌드박스의 MCP 서비스화는 로드맵에만 있고 아직 구현되지 않았다. 사용은 인가된 환경의 학술·교육 목적으로 제한된다.

관련 논문 5

유사 도구