Ed1s0nZ/CyberStrikeAI
요약
CyberStrikeAI는 Go 언어로 작성된 AI 네이티브 보안 테스트 플랫폼으로, 100개 이상의 통합 보안 도구와 지능형 오케스트레이션 엔진을 결합했습니다. 이 플랫폼은 역할 기반 테스트, 공격 체인 분석, 그리고 내장 경량 C2 프레임워크를 통해 취약점 발견부터 결과 시각화까지의 전 과정을 자동화합니다. 특히 OpenAI 호환 AI 모델과 멀티 에이전트 시스템(CloudWeGo Eino)을 활용하여 검증 가능하고 추적 가능한 엔터프라이즈급 보안 테스트 환경을 제공하는 것이 특징입니다.
핵심 포인트
- AI 네이티브 아키텍처: Go 언어로 구축되었으며, OpenAI 호환 모델 기반의 AI 의사결정 엔진을 사용합니다.
- 통합된 기능 세트: 100개 이상의 스캐너 및 도구(nmap, sqlmap 등)를 통합하고 YAML 기반으로 확장 가능합니다.
- 고급 오케스트레이션: 멀티 에이전트 시스템(CloudWeGo Eino)을 통해 플래닝, 실행, 재플래닝의 복잡한 공격 체인 자동화가 가능합니다.
- 엔터프라이즈 보안 기능: 내장 경량 C2 프레임워크, HITL (Human-in-the-loop) 승인 시스템, 감사 로그 등 기업 환경에 최적화된 기능을 제공합니다.
- 종합적인 관리 및 시각화: 대시보드를 통해 시스템 상태, 취약점, 도구 사용량을 한눈에 파악하고 공격 체인을 그래프로 분석할 수 있습니다.
커뮤니티: 디스코드에서加入我们
스폰서십 (클릭하여 펼치기)
CyberStrikeAI 가 도움이 된다면, WeChat Pay 또는 Alipay 를 통해 프로젝트에 지원하실 수 있습니다:
CyberStrikeAI 는 Go 로 작성된 AI-native security testing platform 입니다. 100 개 이상의 보안 도구를 통합하고, 지능형 오케스트레이션 엔진, 사전 정의된 보안 역할과 함께 역할 기반 테스트, 전문화된 테스트 기술을 갖춘 스킬 시스템, 종합적인 라이프사이클 관리 기능을 제공하며, 승인된 협업 (authorized) 엔터프라이즈를 위한 내장 경량 C2 (Command & Control) 프레임워크를 제공합니다. 내장 MCP 프로토콜과 AI 에이전트를 통해 대화형 명령에서 취약점 발견, 공격 체인 분석, 지식 검색, 결과 시각화까지端到端 자동화를 가능하게 하여 보안 팀에 검증 가능한, 추적 가능한, 협업적인 테스트 환경을 제공합니다.
대시보드는 시스템 런타임 상태, 보안 취약점, 도구 사용량, 지식 베이스의 종합적인 개요를 제공하여 사용자가 플랫폼의 핵심 기능과 현재 상태를 빠르게 이해할 수 있도록 돕습니다.
- 🤖 OpenAI 호환 모델 (GPT, Claude, DeepSeek 등) 을 사용하는 AI 의사결정 엔진
- 🔌 HTTP/stdio/SSE 전송 및 외부 MCP 연대를 지원하는 네이티브 MCP 구현
- 🧰 100 개 이상의 사전 구축된 도구 레시피 + YAML 기반 확장 시스템
- 📄 대용량 결과 페이지네이션, 압축, 검색 가능한 아카이브
- 🔗 공격 체인 그래프, 리스크 점수, 단계별 재생
- 🔒 비밀번호 보호 웹 UI, 감사 로그, SQLite 영구 저장
- 📚 임베딩 기반 벡터 검색 (cosine similarity) 을 사용하는 지식 베이스 (RAG), 선택적 Eino Compose인덱싱 파이프라인 및 설정 가능한 검색 후 예산 / 재순위링 훅 - 📁 고정, 이름 변경 및 배치 관리로 대화 그룹화
- 🛡️ 취약점 관리: CRUD 연산, 중등성 추적, 상태 워크플로우 및 통계 제공
- 📋 배치 작업 관리: 작업 큐 생성, 여러 작업 추가 및 순차 실행
- 🎭 역할 기반 테스트: 사전 정의된 보안 테스트 역할 (Penetration Testing, CTF, Web App Scanning 등) 과 커스텀 프롬프트 및 도구 제한
- 🧩 멀티 에이전트 (CloudWeGo Eino): 단일 에이전트 ReAct(
/api/agent-loop), 멀티 모드(/api/multi-agent/stream) 를 제공하며 (코디네이터 +deeptask서브 에이전트, 플래너 / 실행자 / 재플래너) 및plan_execute(오케스트레이터 +supervisortransfer/exit); 요청마다 마크다운을 통해 선택 (orchestrationagents/:orchestrator.md(Deep),orchestrator-plan-execute.md,orchestrator-supervisor.md), 그리고 필요한 경우 서브 에이전트*.md - 🎯 스킬 (Eino 재작성):
skills_dir아래에 배치되며 Agent Skills레이아웃 (SKILL.md+ 선택적 파일) 을 따릅니다; 멀티 에이전트세션은 공식 Eino ADKtool 을 사용하여skill점진적 공개(이름으로 로드), 선택적 호스트 파일 시스템 / 쉘을 통해multi_agent.eino_skills - 📱 채팅봇: DingTalk 및 Lark (Feishu) 장기 연결을 통해 모바일에서 CyberStrikeAI 와 대화할 수 있습니다 (설치 및 명령어는 Robot / Chatbot 가이드 참조)
- 🧑⚖️ Human-in-the-loop (HITL): 채팅 사이드바를 사용하여 승인 모드 및 도구 허용 목록 설정 (목록에 있는 도구는 승인 제외); 전역 목록은
config.yaml에 있습니다
under hitl.tool_whitelist
;Apply는 새로운 도구를 파일에 병합하고 재시작 없이 서버를 업데이트할 수 있으며, 대기 중인 승인용 전용 HITL 페이지 - 🐚
WebShell 관리: WebShell 연결 (예: IceSword/AntSword 호환) 추가 및 관리, 명령 실행을 위한 가상 터미널, 파일 작업용 내장 파일 관리자, 테스트 조율 및 연결별 대화 기록 보관을 담당하는 AI 어시스턴트 탭; 요청 방법과 명령 매개변수를 구성할 수 있는 PHP, ASP, ASPX, JSP 및 커스텀 쉘 타입 지원 - 📡
내장 C2: AI 지향 경량ized 명령 및 제어 – listeners(TCP 역방향, HTTP/HTTPS 비콘, WebSocket), 암호화된비콘 채널, 세션및 작업큐와 지속성, 페이로드헬퍼 (일줄기 / 빌드 / 다운로드), SSE라이브 이벤트, under/api/c2/*` REST
, plus 통합 MCP 도구 (c2_listener
,c2_session
,c2_task
,c2_task_manage
,c2_payload
,c2_event
,c2_profile
,c2_file
); 선택적 HITL승인 및 민감한 작업과 OPSEC 스타일 제어 (예: 명령 금지 규칙). 인증된 테스트만 허용.
CyberStrikeAI 는 전체 kill chain 을 커버하는 100 개 이상의 정제된 도구를 포함합니다:
네트워크 스캐너– nmap, masscan, rustscan, arp-scan, nbtscan웹 및 앱 스캐너– sqlmap, nikto, dirb, gobuster, feroxbuster, ffuf, httpx취약성 스캐너– nuclei, wpscan, wafw00f, dalfox, xsser서브도메인 열거– subfinder, amass, findomain, dnsenum, fierce네트워크 공간 검색 엔진– fofa_search, zoomeye_searchAPI 보안– graphql-scanner, arjun, api-fuzzer, api-schema-analyzer컨테이너 보안– trivy, clair, docker-bench-security, kube-bench, kube-hunter클라우드 보안– prowler, scout-suite, cloudmapper, pacu, terrascan, checkov바이너리 분석– gdb, radare2, ghidra, objdump, strings, binwalk악용– metasploit, msfvenom, pwntools, ropper, ropgadget패스워드 크래킹– hashcat, john, hashpump포렌식– volatility, volatility3, foremost, steghide, exiftool악용 후– linpeas, winpeas, mimikatz, bloodhound, impacket, responderCTF 유틸리티– stegsolve, zsteg, hash-identifier, fcrackzip, pdfcrack, cyberchef시스템 헬퍼– exec, create-file, delete-file, list-files, modify-file
필수 조건:
한 명령 실행 배포:
git clone https://github.com/Ed1s0nZ/CyberStrikeAI.git
cd CyberStrikeAI
chmod +x run.sh && ./run.sh
run.sh 스크립트는 자동으로:
- ✅ Go 및 Python 환경을 확인하고 유효성 검사
- ✅ Python 가상 환경 생성
- ✅ Python 의존성 설치
- ✅ Go 의존성 다운로드
- ✅ 프로젝트 빌드
- ✅ 서버 시작
첫 번째 사용 설정:
OpenAI 호환 API 구성(첫 번째 사용 전 필수) - 실행 후 http://localhost:8080 으로 이동
Settings로 이동 → API 자격 증명 입력:openai: api_key: "sk-your-key" base_url: "https://api.openai.com/v1" # 또는 https://api.deepseek.com/v1 model: "gpt-4o" # 또는 deepseek-chat, claude-3-opus 등- 또는
config.yaml을 실행 전 직접 수정
로그인- 콘솔에 표시된 자동 생성 비밀번호 사용 (또는 config.yaml 의 auth.password 설정)
보안 도구 설치 (선택 사항)
필요한 도구를 설치하세요:
AI 는 도구가 누락되었을 때 자동으로 대안을 사용합니다.
macOS brew install nmap sqlmap nuclei httpx gobuster feroxbuster subfinder amass
Ubuntu/Debian sudo apt-get install nmap sqlmap nuclei httpx gobuster feroxbuster
대안 실행 방법:
# 직접 Go 실행 (수동 설정 필요)
go run cmd/server/main.go
# 수동 빌드
...
참고: Python 가상 환경 (venv/) 는 run.sh 가 자동으로 생성하고 관리합니다.
Python 이 필요한 도구들 (예: api-fuzzer, http-framework-test 등) 은 자동으로 이 환경을 사용합니다.
CyberStrikeAI 일클릭 업그레이드 (권장):
-
(1 회 실행 시) 스크립트를 활성화하세요:
chmod +x upgrade.sh -
업그레이드를 실행하세요:
./upgrade.sh
(선택적 플래그: --tag vX.Y.Z, --no-venv, --preserve-custom, --yes) - 스크립트는 config.yaml 과 data/ 를 백업하고, GitHub 릴리스에서 코드를 업그레이드하며, config.yaml 의 version 을 업데이트한 후 서버를 재시작합니다.
권장 한 줄 명령어:
chmod +x upgrade.sh && ./upgrade.sh --yes
문제가 발생하면 .upgrade-backup/ 에서 복원하거나 (수동으로 /data 와 config.yaml 를 복사하여) 다시 ./run.sh 를 실행할 수 있습니다.
요구사항 / 팁:
- 릴리스 패키지를 다운로드하려면
curl또는wget이 필요합니다. 안전한 코드 동기화를 위해rsync는 권장되거나 필수입니다. - GitHub API rate-limit 을 초과한 경우,
./upgrade.sh를 실행하기 전에export GITHUB_TOKEN="..."를 설정하세요.
참고: 이 절차는 호환성이나 breaking changes 가 없는 버전 업데이트에만 적용됩니다. 릴리스에 호환성 변경이 포함되어 있다면 이 방법은 적용되지 않을 수 있습니다.
예시: Breaking changes 없음 — 예: v1.3.1 → v1.3.2; breaking changes 있음 — 예: v1.3.1 → v1.4.0. 프로젝트는 Semantic Versioning (SemVer) 을 따릅니다: 패치 버전 (세 번째 숫자) 만 변경될 경우 이 업그레이드 경로는 일반적으로 안전합니다; minor 또는 major 버전이 변경되면 설정, 데이터 또는 API 가 변경되었을 수 있으므로 이 방법을 사용하기 전에 릴리스 노트를 확인하세요.
대화 테스트– 자연어 프롬프트는 스트리밍 SSE 출력과 함께 도구 체인을 트리거합니다.
싱글 vs 멀티 에이전트– multi_agent.enabled: true 인 경우, 채팅 UI 는 싱글(클래식 ReAct 루프, /api/agent-loop/stream) 과 멀티(/api/multi-agent/stream) 사이를 전환할 수 있습니다. 멀티 모드는 기본 코디네이터 + deep 서브 에이전트를 유지하고, 요청 본문 supervisor 필드를 통해 task 와 plan_execute 오케스트레이션을 추가합니다. MCP 도구는 단일 에이전트와 동일하게 브리지됩니다.orchestration. 에이전트 및 외부 클라이언트는 C2 MCP 도구 가족 (포함); HITL 이 활성화되면 고위험 작업은 인간 승인 필요할 수 있습니다. 의도된 c2_task 만 명시적으로 권한을 받은 시스템에 대한 것입니다.
설정– 제공자 키, MCP 활성화, 도구 토글, 에이전트 반복 한계 조정.
인간-인-루프 (HITL)– 사이드바에서 모드와 허용된 도구를 설정합니다 (콤마 또는 줄바꿈 구분); 전역 목록은 config.yaml 의 hitl.tool_whitelist 에 있습니다.
적용업데이트 브라우저/서버에 적용하고 파일에 새로운 도구를 병합할 수 있습니다 (재시작 없음).
새로운 채팅사이드바 선택을 유지합니다;
HITL네비게이션은 대기 중인 승인 표시.
사이드바에서 도구를 제거하면 config.yaml 의 전역 목록에서 해당 도구가 제거되지 않습니다 — 필요시 파일을 편집하세요.
- 필드 필수값 검증은 우연히 빈 API 자격 증명을 방지합니다.
auth.password가 있을 때 자동 생성 강력한 비밀번호.
is empty. - Unified auth middleware for every web/API call (Bearer token flow).
- Timeout and sandbox guards per tool, plus structured logging for triage.
Predefined roles– System includes 12+ predefined security testing roles (Penetration Testing, CTF, Web App Scanning, API Security Testing, Binary Analysis, Cloud Security Audit, etc.) in theroles/
directory.Custom prompts– Each role can define auser_prompt
that prepends to user messages, guiding the AI to adopt specialized testing methodologies and focus areas.Tool restrictions– Roles can specify atools
list to limit available tools, ensuring focused testing workflows (e.g., CTF role restricts to CTF-specific utilities).Skills– Skill packs live underskills_dir
and are loaded inmulti-agent / Einosessions via the ADKtool (skill
progressive disclosure). Configurefor middleware, tool name override, and optional hostmulti_agent.eino_skills`
read_file / glob / grep / write / edit / execute**(Deep / Supervisorwhen enabled;plan_executediffers—see docs). Single-agent ReAct does not mount this Eino skill stack today.Easy role creation– Create custom roles by adding YAML files to theroles/
directory. Each role definesname
,description
,user_prompt
,icon
,tools
, andenabled
fields.Web UI integration– Select roles from a dropdown in the chat interface. Role selection affects both AI behavior and available tool suggestions.
Creating a custom role (example):
-
Create a YAML file in
roles/
(e.g.,roles/custom-role.yaml
):name: Custom Role description: Specialized testing scenario user_prompt: You are a specialized security tester focusing on API security... icon: "\U0001F4E1" tools: - api-fuzzer - arjun - graphql-scanner enabled: true -
Restart the server or reload configuration; the role appears in the role selector dropdown.
What it is– An optional execution path besidesingle-agent ReAct, built on CloudWeGoEinoadk/prebuilt
:— coordinator +deep
sub-agents;task
— planner / executor / replanner loop (no YAML/Markdown sub-agent list);plan_execute
— orchestrator withsupervisor
andtransfer
over Markdown-defined specialists. The client sendsexit
:orchestration
deep
|plan_execute
|supervisor
(defaultdeep
).Markdown agents– Underagents_dir
(defaultagents/
):Deep orchestrator:orchestrator.md
orone.mdwithkind: orchestrator
. Body ormulti_agent.orchestrator_instruction
, then Eino defaults.Plan-Execute orchestrator: fixed name(plus optionalorchestrator-plan-execute.md
orchestrator_instruction_plan_execute
in YAML).Supervisor orchestrator: fixed name(plus optionalorchestrator-supervisor.md
orchestrator_instruction_supervisor
); requires at least one sub-agent.Sub-agents(fordeep/supervisor): other*.md
files (YAML front matter + body). Not used astargets if marked orchestrator-only.task
Management– Web UI:Agents → Agent management; API/api/multi-agent/markdown-agents
.Config–multi_agent
inconfig.yaml
:enabled
,default_mode
,robot_use_multi_agent
,batch_use_multi_agent
,max_iteration
,plan_execute_loop_max_iterations
, per-mode orchestrator instruction fields, optional YAMLsub_agents
merged with disk (id
clash → Markdown wins),,eino_skills
(optional ADK middleware and Deep/Supervisor tuning).eino_middleware
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기