Decepticon: 교전 규칙 안에서 실제 공격 체인을 수행하는 자율 레드팀 에이전트 프로젝트

Decepticon 소개

"AI 해킹 도구"라고 하면 보통 nmap을 한 번 돌리고 리포트를 출력하는 데모를 떠올리기 쉽습니다. Decepticon은 그런 스캐너가 아니라, 정찰(reconnaissance)부터 익스플로잇, 권한 상승, 측면 이동, 명령·제어(C2)까지 실제 공격자가 밟는 공격 체인(kill chain)을 자율적으로 수행하는 레드팀 에이전트입니다. PurpleAILAB이 LangChain/LangGraph 위에 구축했으며, 한국어 문서도 함께 제공합니다.

Decepticon이 단순 자동화 도구와 다른 지점은 레드팀과 스크립트 키디를 구분하는 규율을 따른다는 점입니다. 패킷 하나가 나가기 전에 교전 규칙(Rules of Engagement, RoE), 작전 개념(ConOps), 충돌 방지 계획(Deconfliction Plan), 그리고 MITRE ATT&CK에 매핑된 작전 계획(OPPLAN)으로 이뤄진 완전한 교전 패키지를 먼저 생성하고, 모든 행동이 그 규칙 안에서 실행됩니다. 즉, 인가된 대상에 대해 정의된 규칙을 벗어나지 않는 것을 전제로 동작합니다.

이 프로젝트는 공격이 결국 방어를 위한 것이라는 관점을 분명히 합니다. 저자들은 공격 결과를 방어 개선으로 환원하는 "공격 → 방어 → 검증" 순환, 이른바 Offensive Vaccine 루프를 지향한다고 밝히고 있습니다. 자율 레드팀이 더 강한 방어로 가는 경로라는 시각입니다.

Decepticon의 동작 방식과 아키텍처

Decepticon은 두 개의 네트워크를 분리한 구조로 동작합니다. LiteLLM, PostgreSQL, Skillogy, LangGraph 같은 관리 서비스는 항상 떠 있는 관리망(decepticon-net)에, 샌드박스와 C2 팀 서버, 표적은 작전망(sandbox-net)에 둡니다. 반면 웹 대시보드와 BloodHound CE, Sliver C2, Ghidra MCP 같은 전문 워크로드는 상시 구동되지 않고, 오케스트레이터가 필요할 때(ops_start(...)) 또는 CLI에서 대시보드를 띄울 때 동적으로 스폰됩니다. 모든 명령은 전용 작전망 위의 Kali Linux 샌드박스 안에서 실행되고, LangGraph가 Docker 소켓을 통해 이 샌드박스를 구동합니다. 지식 그래프 저장소인 Neo4j는 두 망에 양쪽으로 연결되어, 샌드박스 안에서 쓴 결과를 관리망의 에이전트가 보존할 수 있게 합니다.

실제 공격 도구(msfconsole, sliver-client, evil-winrm 등)는 대화형으로 동작합니다. Decepticon은 모든 명령을 영속적인 tmux 세션 안에서 실행하고 프롬프트를 자동으로 감지하기 때문에, 도구가 대화형 프롬프트로 진입하면 우회 없이 후속 명령을 이어서 보낼 수 있습니다.

Decepticon의 16개 전문 에이전트

Decepticon은 공격 체인 단계별로 조직된 16개의 전문 에이전트로 구성됩니다. 오케스트레이션, 정찰, 익스플로잇, 포스트 익스플로잇, 취약점 연구, 그리고 액티브 디렉터리(AD)·클라우드·스마트 컨트랙트·리버싱·분석 같은 도메인 전문 에이전트로 나뉩니다. 각 에이전트는 목표(objective)마다 새로운 컨텍스트 윈도우에서 시작해, 누적된 잡음 없이 해당 목표에만 집중합니다.

Decepticon은 OPPLAN을 읽고, 열리는 경로를 따라 목표를 추적하며 기법을 전환하고 연결합니다. 정해진 체크리스트를 순서대로 훑는 스캔이 아니라, 상황에 맞춰 경로를 바꿔 가며 목표를 좇는다는 점이 핵심입니다.

Decepticon의 모델과 제공자 구성

Decepticon은 보유한 자격 증명(credential)을 우선순위대로 선언하면, 각 티어(tier)마다 기본 모델과 폴백(fallback) 모델로 이어지는 체인을 자동으로 구성합니다. 에이전트별로 다른 모델 등급을 배정할 수 있습니다.

프로필 에이전트별 티어 용도
eco (기본) 오케스트레이터·익스플로잇·패처·분석가는 HIGH, 실행은 MID, 정찰은 LOW 운영
max 모든 에이전트 HIGH 고가치 표적
test 모든 에이전트 LOW 개발 / CI

티어에 매핑되는 제공자로는 Anthropic, OpenAI, Google Gemini, MiniMax, DeepSeek, xAI, Mistral, OpenRouter, Nvidia NIM, 그리고 로컬 실행용 Ollama가 있습니다. Claude Max/Pro/Team, ChatGPT Pro/Plus/Team, Gemini Advanced, Copilot Pro, SuperGrok, Perplexity Pro 같은 구독 OAuth도 지원하며, 구성은 decepticon onboard 로 진행합니다.

Decepticon의 XBOW 벤치마크 결과

저자들은 XBOW validation-benchmarks에서 전체 104개 과제 중 102개를 통과해 98.08%의 통과율을 보고합니다. 난이도별로는 레벨 1(Easy)이 45/45(100%), 레벨 2(Medium)가 50/51(98.0%), 레벨 3(Hard)이 7/8(87.5%)입니다. 저장소에는 과제별 인덱스와 공격 분류 매트릭스, LangSmith 트레이스, 그리고 Strix·PentestGPT·MAPTA·Cyber-AutoAgent·XBOW 상용 버전 등 다른 AI 펜테스트 에이전트와의 비교 자료가 함께 정리되어 있습니다.

Decepticon 설치와 사용

Docker 설정 없이 바로 써 보고 싶다면, 저자들이 운영하는 호스팅형 클라우드 앱(app.decepticon.red)에서 브라우저만으로 자율 레드팀 교전을 실행할 수 있습니다. 직접 운영 환경을 갖추려면 아래 자체 호스팅(self-host) 방식을 따릅니다.

Decepticon은 Docker와 Docker Compose v2를 전제로 하며, macOS(Apple Silicon, Intel), Linux(amd64, arm64), Windows(네이티브 또는 WSL2)를 지원합니다. 설치 후 decepticon onboard 로 제공자, API 키, 모델 프로필을 설정하고, decepticon 으로 핵심 스택과 터미널 CLI를 띄웁니다. 웹 대시보드는 항상 떠 있는 서비스가 아니라 필요할 때 올리는 방식으로, CLI 안에서 /web 명령을 실행하면 http://localhost:3000 에서 열립니다.

curl -fsSL https://decepticon.red/install | bash
decepticon onboard   # 제공자, API 키, 모델 프로필 설정 마법사
decepticon           # 핵심 스택과 터미널 CLI 실행 (대시보드는 CLI 안에서 /web 으로)

에이전트 위에 SaaS나 연구 통합, 커스텀 오케스트레이터를 올리려는 경우에는 PyPI에서 SDK를 설치할 수 있습니다. decepticon SDK는 에이전트 팩토리와 미들웨어, 도구, 스킬을 제공하는 클라이언트로, LLM 호출과 샌드박스 실행은 HTTP로 런타임 서비스에 위임합니다. 따라서 SDK만으로는 동작하지 않고 위의 Docker 스택 같은 런타임 서비스가 함께 필요합니다.

pip install decepticon              # 코어 SDK
pip install "decepticon[neo4j]"     # 지식 그래프 기반 공격 체인 도구 포함

Decepticon의 라이선스

Decepticon은 Apache License 2.0으로 공개되어 있어 개인 및 상업적 목적으로 자유롭게 사용할 수 있습니다. 다만 도구의 성격상, 침투 테스트는 반드시 사전에 인가된 대상과 범위 안에서만 수행해야 합니다.

더 읽어보기

:house: Decepticon 공식 홈페이지

:books: Decepticon 문서 사이트

:github: Decepticon 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다!
텔레그램(Telegram)이나 Slack/Discord/Teams/Dooray/GoogleChat 등으로도 새 글 알림을 받으실 수 있습니다. :smiley:

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: