mrwadams/attackgen

AttackGen is a cybersecurity incident response testing tool that leverages the power of large language models and the comprehensive MITRE ATT&CK framework. The tool generates tailored incident response scenarios based on user-selected threat actor groups and your organisation's details.

AttackGen – AI 기반 사이버 사고 대응 시나리오 생성기

무엇인가요 – AttackGen은 Streamlit으로 구축된 웹 앱으로, 현실적인 테이블탑 스타일의 사고 대응 연습을 생성합니다. 이 도구는 MITRE ATT&CK, MITRE ATLAS, 그리고 새로운 AI 내부 위협 모델을 대규모 언어 모델(Large Language Models, OpenAI, Anthropic, Google, Mistral, Groq 또는 LiteLLM를 통해 OpenAI 호환 엔드포인트)과 결합합니다. 사용자는 위협 행위자 그룹, ATLAS 사례 연구, 또는 AI 내부 위협 템플릿을 선택하고 조직의 세부 정보(규모, 산업)를 추가하면, 시스템은 전체 시나리오, 탐지 및 대응 보고서, ATT&CK Navigator 레이어를 생성합니다.


핵심 기능 (README에 설명된 내용)

  • 시나리오 생성 – MITRE ATT&CK Enterprise, ATT&CK ICS, ATLAS 위협 그룹 또는 사례 연구에 맞춘 맞춤형 서사.
  • AI 내부 위협 템플릿 – 최전방 AI 에이전트가 내부자 역할을 하는 시나리오로, Actions Speak Louder Than Tokens 모델(자율성 수준, STRIDE 위협 등)에 따라 동작합니다.
  • 이중 단계 출력 – 기본 시나리오가 먼저 제공되며, 선택적 ‘퍼플팀’ 서사(방어자 시각)는 두 번째 모델 호출을 통해 스트리밍됩니다.
  • 탐지 및 대응 섹션 – 로컬 데이터 조인(모델 미사용)을 통해 시나리오 내 모든 기법에 대해 MITRE 탐지 전략, 분석, 로그 소스 및 완화 조치를 매핑합니다.
  • 내보내기 옵션 – Markdown 보고서, ATT&CK Navigator 레이어(.json), 테이블탑 기술을 통한 컴팩트한 HTML 버전.
  • 어시스턴트 채팅 – 통합 LLM 채팅을 통해 페이지를 벗어나지 않고도 시나리오나 탐지 서사를 개선할 수 있습니다.
  • 모델 무관 백엔드 – 모든 LLM 호출은 LiteLLM를 통해 이루어지므로, 새로운 모델 추가는 한 줄의 구성 변경만으로 가능합니다.
  • Docker 이미지 – 간편한 배포를 위한 실행 가능한 컨테이너.
  • LangSmith 통합 – 선택적 LLM 호출 추적/모니터링.
  • 보안된 자격 증명 처리 – API 키는 .env 파일에 저장됩니다.

실행 방법 (README 기반 단계)

  1. 사전 요구 사항 – Python 3.14+, Docker(선택 사항), 사용할 LLM 제공자 API 키.

  2. 클론 및 설치

    git clone https://github.com/mrwadams/attackgen.git
    cd attackgen
    pip install -r requirements.txt   # Streamlit, LiteLLM 등 설치
    
  3. 구성 – 필요한 키를 포함한 .env 파일을 생성합니다. 예:

    OPENAI_API_KEY=sk-…
    ANTHROPIC_API_KEY=…
    
  4. 로컬 실행

    streamlit run app.py
    

    UI가 브라우저에 나타납니다.

  5. Docker 대안

    docker build -t attackgen .
    docker run -p 8501:8501 --env-file .env attackgen
    
  6. 선택적 LangSmith – ‘LangSmith 설정’ 섹션을 따라 LANGCHAIN_API_KEY를 추가하고 추적 기능을 활성화합니다.

  7. MCP 서버 – 에이전트 클라이언트를 위해, 다음 명령어로 FastMCP 서버를 시작합니다:

    python -m mcp_server
    

    이는 다른 LangChain 에이전트에서 호출할 수 있는 데이터 도구 및 생성 도구 엔드포인트를 노출합니다.


일반적인 워크플로우 (사용자 관점)

  1. 사이드바 설정 – LLM 제공자/모델, 조직 규모/산업, 퍼플팀 서사 여부를 선택합니다.
  2. 소스 선택 – MITRE ATT&CK 위협 그룹, ATLAS 사례 연구, 또는 AI 내부 위협 템플릿을 선택합니다.
  3. 생성생성 버튼을 클릭합니다. UI는 입력 준비 → 기본 시나리오 → 내보내기 → 선택적 서사의 단계별 진행 상황을 표시합니다.
  4. 검토 – 결과 페이지는 Markdown 시나리오, 탐색 단축키가 포함된 컴팩트한 요약, 탐지 및 대응 섹션을 표시합니다.
  5. 개선 – ‘AttackGen 어시스턴트’ 채팅을 열어 수정, 추가 세부 정보, 방어자 서사 조정을 요청합니다.
  6. 내보내기 – 테이블탑 연습에 사용할 시나리오, ATT&CK Navigator 레이어, 탐지 보고서를 다운로드합니다.

최신 업데이트 (v0.16)

  • 기본 시나리오 우선 생성 – 사용자는 즉시 사용 가능한 시나리오를 받으며, 선택적 방어자 서사는 나중에 스트리밍됩니다.
  • 안내형, 강건한 워크플로우 – 모든 필수 입력이 완료될 때까지 생성 버튼이 비활성화되며, 실행 전 요약을 간결하게 표시합니다.
  • 중립적 선택기 – 위협 그룹 및 사례 연구 드롭다운은 실제로 시나리오를 생성할 수 있는 옵션만 표시되어, 무의미한 경로를 방지합니다.
  • 보안 강화 – CI가 pip-audit, Bandit, Trivy 발견 항목에서 실패하도록 설정되었으며, Docker 기본 이미지가 python:3.14-slim으로 업그레이드되었습니다.

라이선스 및 기여

  • 프로젝트는 MIT 라이선스 하에 배포됩니다.
  • 기여는 환영합니다. 지침은 기여하기 섹션을 참조하세요.

결론 – AttackGen은 현대 LLM API를 활용하여 풍부하고 MITRE 기준에 부합하는 사이버 사고 대응 시나리오(새로운 AI 내부 위협 연습 포함)를 자동화하는 진정한, 지속적으로 유지 관리되는 오픈소스 도구입니다. 이는 명확히 AI 보강형 사이버 보안 분야에 속합니다.

관련

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