
AI 기반의 자동 위협 분석 파이프라인으로, 파일, URL, IP, 도메인 또는 이미지를 전문 보안 분석 도구로 라우팅하고 통합된 YARA 및 Sigma 규칙을 사용하여 전문적인 PWNDoc 보고서를 생성합니다.
파일, URL, IP, 도메인, 또는 이미지를 넣기만 하면 SecFlow가 전문화된 분석기로 라우팅하고, AI로 결과를 추론하며, YARA 규칙, SIGMA 규칙 및 내보내기 가능한 PDF가 포함된 전문 보안 보고서를 자동으로 생성합니다.
SecFlow는 보안 분석가, SOC 팀 및 연구자를 위해 구축된 오픈소스 자동 위협 분석 파이프라인입니다. 다양한 도구를 수동으로 실행하고 결과를 상호 연관시키는 대신 SecFlow는 다음과 같은 작업을 수행합니다:
---``` User Input (file / URL / IP / domain / image) │ ▼ ┌────────────────────────────────┐ │ Input Classifier │ file + python-magic → deterministic rule │ (Rule-based, pass 1 only) │ unknown type? → Groq AI fallback └───────────────┬────────────────┘ │ first analyzer selected ▼ ┌────────────────────────────────────────────────────────┐ │ Analyzer Loop (N = 3 / 4 / 5 passes) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ Run Analyzer (HTTP → Docker microservice) │ │ │ │ Malware · Steg · Recon · Web · Macro │ │ │ └───────────────┬──────────────────────────────────┘ │ │ │ findings + raw_output │ │ ┌───────────────▼──────────────────────────────────┐ │ │ │ AI Routing Engine (Groq qwen/qwen3-32b) │ │ │ │ IOC extraction → next_tool + target │ │ │ └───────────────┬──────────────────────────────────┘ │ │ │ │ │ ┌───────┴──────────────────┐ │ │ next tool null │ │ │ │ │ │ │ Download HTTP payloads │ │ │ from raw_output → re-analyze │ │ └──────────────── repeat ────────────────────┘│ └─────────────────┬──────────────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ Findings Store │ All passes · all findings accumulated └───────────────┬────────────────┘ │ ▼ ┌────────────────────────────────────────────┐ │ Threat Intelligence Engine │ │ (Groq llama-3.3-70b-versatile) │ │ ├─ Threat Summary + MITRE ATT&CK TTPs │ │ ├─ YARA Detection Rules (2–5 rules) │ │ └─ SIGMA SIEM Rules (2–4 rules) │ └───────────────┬────────────────────────────┘ │ ▼ ┌────────────────────────────────┐ │ PWNDoc HTML Report │ Groq summary → browser-rendered HTML │ │ One-click Export PDF button └────────────────────────────────┘
## 빠른 시작
### 사전 요구사항
- Docker + Docker Compose
- Groq 및 VirusTotal용 API 키 (무료 티어 사용 가능)
### 1. 저장소 클론```bash
git clone https://github.com/aradhyacp/SecFlow.git
cd SecFlow/backend
cp .env.example .env
`.env` 파일을 당신의 키로 편집하세요:```env
# Required
GROQ_API_KEY=your_groq_api_key_here
VIRUSTOTAL_API_KEY=your_vt_api_key_here
# Optional — unlock additional OSINT capabilities
NUMVERIFY_API_KEY=your_numverify_key # Phone number lookups
THREATFOX_API_KEY=your_threatfox_key # Higher ThreatFox rate limits
ipAPI_KEY=your_ipapi_key # Higher ip-api.com rate limits
# Pipeline control
MAX_PASSES=3 # 3 | 4 | 5
docker compose up -d
다음 6개의 컨테이너가 시작됩니다:
| 서비스 | 포트 | 역할 |
|---|---|---|
| `orchestrator` | `5000` | 파이프라인 컨트롤러 — 주요 진입점 |
| `malware-analyzer` | `5001` | Ghidra 디컴파일 + VirusTotal |
| `steg-analyzer` | `5002` | binwalk + zsteg + steghide + ExifTool |
| `recon-analyzer` | `5003` | ip-api + ThreatFox + OSINT |
| `web-analyzer` | `5005` | HTTP 취약점 스캐너 + 헤더 감사 |
| `macro-analyzer` | `5006` | oletools (olevba) + VirusTotal |
> **참고:** 첫 실행 시 몇 분 정도 소요될 수 있습니다 — Malware Analyzer가 Ghidra 12.0.1 (~500 MB)을 다운로드하며 JDK 21 JVM이 필요합니다.
### 4. 첫 번째 분석 실행
**파일 분석:**```bash
curl -X POST http://localhost:5000/api/smart-analyze \
-F "file=@/path/to/suspicious.exe" \
-F "passes=3"
URL, IP 또는 도메인 분석:```bash
curl -X POST http://localhost:5000/api/smart-analyze
-H "Content-Type: application/json"
-d '{"target": "192.168.1.100", "passes": 3}'
**응답:**```json
{
"job_id": "a1b2c3d4",
"findings": [...],
"report_paths": {
"json": "/api/report/a1b2c3d4/json",
"html": "/api/report/a1b2c3d4/html"
}
}
브라우저에서 http://localhost:5000/api/report/<job_id>/html을 열면 전체 보고서를 보고 PDF로 내보낼 수 있습니다.
cd ../frontend npm install npm run dev
Open `http://localhost:5173` — React 대시보드를 통해 분석을 제출하고, 파이프라인 진행 상황을 실시간으로 확인하며, 분석기별 결과를 탐색할 수 있습니다.
---
## 분석기
### 악성코드 분석기 — 포트 5001
실행 파일 및 바이너리를 세 가지 계층으로 분석합니다:
- **Ghidra 12.0.1** (`pyghidra` 경유) — 모든 함수를 C 유사 코드로 완전 디컴파일
- **`objdump -d`** — 어셈블리 수준 디스어셈블리
- **VirusTotal API v3** — 70개 이상의 AV 엔진 탐지, 동작 태그, 파일 평판
**지원 형식:** `exe`, `dll`, `so`, `elf`, `bin`, `o`, `out` · 최대 50MB · 4GB RAM 필요 (Ghidra JVM)
---
### 스테가노그래피 분석기 — 포트 5002
여러 방법을 사용하여 이미지에 숨겨진 데이터를 탐지합니다:
- **binwalk** — 바이너리 오프셋에서 임베디드 파일 탐지 및 추출
- **foremost** — 원시 바이너리 스트림에서 파일 카빙
- **zsteg** — PNG/BMP의 LSB 스테가노그래피 탐지
- **steghide** — JPEG/BMP에서 패스프레이즈 기반 스테그 탐지
- **ExifTool** — 메타데이터 추출 및 이상 탐지
**임베디드 아카이브를 추출하고 다음 파이프라인 단계에서 재분석을 위해 대기시킵니다.**
**지원 형식:** PNG, JPG, BMP, GIF, TIFF, WebP
---
### 정찰 분석기 — 포트 5003
네트워크 식별자에 대한 위협 인텔리전스 및 OSINT를 수행합니다:
**스캔 모드** (IP / 도메인):
| 모듈 | 출처 | 확인 사항 |
|---|---|---|
| `ipapi` | ip-api.com | 국가, ISP, ASN, 지리적 위치 |
| `talos` | Cisco Talos 차단 목록 | IP 평판 / 블랙리스트 |
| `tor` | Tor 프로젝트 종료 목록 | Tor 종료 노드 탐지 |
| `tranco` | Tranco 순위 목록 | 도메인 인기 순위 |
| `threatfox` | abuse.ch ThreatFox | 활성 IOC / 악성코드 연관성 |
**풋프린트 모드** (이메일 / 전화번호 / 사용자 이름):
- **이메일** — XposedOrNot 침해 데이터베이스 (침해 횟수, 심각도, 비밀번호 위험)
- **전화번호** — NumVerify 통신사 + 국가 + 회선 유형 검증
- **사용자 이름** — Sagemode 멀티스레드 프로필 탐색 (소셜 플랫폼 대상)
---
### 웹 취약점 분석기 — 포트 5005
URL 및 웹 엔드포인트를 감사합니다:
- 보안 헤더 분석 (CSP, HSTS, X-Frame-Options 등)
- 기술 스택 식별 (서버, 프레임워크, CMS)
- HTTP 응답 분석 및 리다이렉션 체인 추적
- 일반적인 잘못된 구성에 대한 기본 취약점 스캐닝
---
### 매크로 / 오피스 분석기 — 포트 5006
악성 매크로를 찾기 위해 Office 문서를 분석합니다:
- **oletools (olevba)** — VBA/XLM 매크로 추출 및 디컴파일
- **자동 실행 탐지** — 열기/닫기 시 자동 실행되는 매크로 플래그 지정
- **IOC 추출** — 매크로 코드에 내장된 URL, IP, 파일 경로
- **난독화 탐지** — Base64, Chr() 체인, 16진수 인코딩
- **VirusTotal API v3** — 파일 평판 교차 확인
**지원 형식:** `doc`, `docx`, `docm`, `xls`, `xlsx`, `xlsm`, `xlsb`, `ppt`, `pptx`, `pptm`, `rtf`
---
## 보고서 출력
모든 파이프라인 실행은 `backend/reports/<job_id>/`에 저장되는 **두 가지 보고서 형식**을 생성합니다:
### HTML 보고서 (`report.html`)
어떤 브라우저에서든 열 수 있습니다. **PDF 내보내기**를 클릭하여 인쇄 — 서버 측 PDF 렌더링이 필요 없으며 종속성도 없습니다.
포함 내용: 요약 · YARA 규칙 · SIGMA 규칙 · MITRE TTP · 패스별 증거 패널 · VirusTotal 엔진 배지
### JSON 보고서 (`report.json`)
완전히 구조화된 기계 판독 가능 출력입니다. 다음 상황에서 사용하세요:
- 분석 결과를 다른 AI 모델에 직접 입력하여 심층 분석
- SIEM 또는 티켓팅 시스템에 수집
- 두 보고서를 프로그래밍 방식으로 비교
- 맞춤형 대시보드 구축
JSON은 HTML을 정확히 반영합니다 — 모든 발견 사항, YARA 규칙, SIGMA 규칙, IOC 및 TTP가 깔끔하고 타입이 명시된 스키마에 존재합니다.
샘플 입력 파일은 [`examples/`](https://github.com/aradhyacp/secflow/blob/HEAD/examples/)를 참조하고, 개발 중 생성된 실제 보고서 출력은 [`example_reports`](https://github.com/aradhyacp/secflow/blob/HEAD/example_reports/)를 참조하세요.
---
### 요약
AI 작성 설명 (Groq `qwen/qwen3-32b`) 포함 내용:
- 식별된 위협 이름 및 공격자 유형 분류
- 공격 체인 재구성 (단계별)
- 신뢰도 평가 및 전체 위험 점수
### YARA 탐지 규칙
`llama-3.3-70b-versatile`로 생성된 **2~5개의 프로덕션 준비 YARA 규칙**, 각 규칙:
- `SecFlow_[위협범주]_[지표유형]` 규칙 명명
- 유효한 YARA 4.x 구문 포함 — 모든 YARA 호환 스캐너로 즉시 가져오기 가능
- 규칙을 생성한 분석의 정확한 증거를 인용하는 `reasoning` 필드 포함
- 별개의 측면 포함: 파일 시그니처, 포함 문자열, C2 지표, 패커 시그니처, 메모리 패턴```yara
rule SecFlow_Trojan_C2StringIndicator {
meta:
description = "Detects C2 callback string found in Ghidra decompilation"
author = "SecFlow AI"
severity = "high"
strings:
$c2 = "evil.sh/drop.exe"
$ua = "Mozilla/4.0 (compatible; MSIE 6.0)"
condition:
any of them
}
2–4 SIGMA 규칙 즉시 SIEM 배포를 위한, 각각:
sigma-cli 0.x 및 pySigma와 호환되는 유효한 SIGMA 구문 포함### MITRE ATT&CK TTPs
식별된 모든 동작이 실제 기술 ID와 전술 이름 및 근거와 매핑됩니다.
### 패스별 증거
각 분석기 패스에 대한 접을 수 있는 패널:
- Ghidra 디컴파일 출력 (어두운 코드 블록, 접을 수 있음)
- objdump 디스어셈블리 (접을 수 있음)
- VirusTotal 엔진 탐지 (색상 코드 심각도 배지)
- 원시 분석기 결과 JSON
### PDF 내보내기
PDF 내보내기를 위해 사전 구성된 원클릭 브라우저 인쇄 대화상자 — 서버 측 PDF 생성이 필요 없습니다.
---
## 예제 파이프라인 실행
샘플 입력 파일은 [`examples/`](https://github.com/aradhyacp/secflow/blob/HEAD/examples/)에 있습니다 — 실제 악성코드 샘플(`RealMalware.exe`, `ColorBug.exe`, `EarlyEnd.exe`, `.out` ELF 바이너리)과 악성 Office 문서(`nuclear_motor_example.docm`)를 포함합니다. 해당 보고서 출력은 [`backend/reports/`](https://github.com/aradhyacp/secflow/blob/HEAD/backend/reports/)에 있습니다.
### 악성 Office 문서```
Input: invoice.xlsm
Passes: 3
Pass 1 ─ Rule: .xlsm extension → Macro Analyzer
olevba: AutoExec macro found
IOC: http://evil.sh/drop.exe
VT: 12/70 engines flagged
Pass 2 ─ AI: URL found in IOCs → Web Analyzer
http://evil.sh/drop.exe — alive, 302 redirect to CDN
Pass 3 ─ AI: no further tool, but HTTP URL in raw_output
Download: drop.exe → Malware Analyzer
Ghidra: C2 callback string, packed PE
VT: 45/70 detections — Trojan.GenericKDZ
Report ─ PWNDoc HTML generated
YARA: 4 rules (string, byte sig, packer, C2 domain)
SIGMA: 3 rules (process_creation, network, registry)
MITRE: T1566.001, T1059.005, T1071.001
Input: profile.png Passes: 3
Pass 1 ─ Rule: image/png → Steg Analyzer binwalk: embedded ELF binary at offset 0x8200 Archive extracted → queued for re-analysis
Pass 2 ─ Queue: extracted ELF → Malware Analyzer Ghidra: C2 callout to 192.168.1.100 objdump: packed UPX section
Pass 3 ─ AI: IP found → Recon Analyzer Talos: blacklisted Tor: confirmed exit node ThreatFox: associated with AsyncRAT
Report ─ Full chain documented YARA: 3 rules (ELF magic, UPX sig, C2 string) SIGMA: 2 rules (network_connection, dns_query)
### 의심스러운 도메인```
Input: malicious-domain.ru
Passes: 3
Pass 1 ─ Rule: domain regex → Recon Analyzer
ipapi: RU, ISP: HostMaster LLC
Talos: on blocklist
ThreatFox: linked to Raccoon Stealer, confidence 95
Pass 2 ─ AI: ThreatFox hit → Web Analyzer
/login endpoint returns 200, harvesting form detected
Pass 3 ─ AI: no futher signals — loop exits early
Report ─ Executive summary + TTPs + SIGMA network rules
SecFlow/ ├── backend/ │ ├── compose.yml # All 6 services on secflow-net │ ├── .env.example # All required + optional API keys │ │ │ ├── orchestrator/ # Pipeline controller (port 5000) │ │ ├── app/ │ │ │ ├── routes.py # POST /api/smart-analyze │ │ │ ├── orchestrator.py # Pipeline loop + download-and-analyze │ │ │ ├── classifier/ │ │ │ │ ├── classifier.py # file + python-magic type detection │ │ │ │ └── rules.py # Deterministic routing rules │ │ │ ├── ai/ │ │ ├── engine.py # Groq qwen/qwen3-32b routing decisions │ │ ├── threat_intel.py # YARA rules + SIGMA rules + threat summary │ │ │ │ └── keywords.txt # Grep fallback keyword list │ │ │ ├── adapters/ # Translate analyzer responses → contract │ │ │ │ ├── malware_adapter.py │ │ │ │ ├── steg_adapter.py │ │ │ │ ├── recon_adapter.py │ │ │ │ ├── web_adapter.py │ │ │ │ └── macro_adapter.py │ │ │ ├── store/ │ │ │ │ └── findings_store.py # Thread-safe findings accumulator │ │ │ └── reporter/ │ │ │ └── report_generator.py # PWNDoc HTML + Export PDF │ │ ├── Dockerfile │ │ └── requirements.txt │ │ │ ├── Malware-Analyzer/ # Ghidra + objdump + VirusTotal (port 5001) │ ├── Steg-Analyzer/ # binwalk + zsteg + steghide (port 5002) │ ├── Recon-Analyzer/ # ip-api + ThreatFox + OSINT (port 5003) │ ├── Web-Analyzer/ # HTTP vuln scanner (port 5005) │ └── macro-analyzer/ # oletools + VirusTotal (port 5006) │ ├── frontend/ # React + Vite dashboard (port 5173) │ └── src/ │ ├── pages/dashboard/ # Per-analyzer pages + smart pipeline UI │ ├── components/ # Reusable UI components │ └── pages/LandingPage.jsx # Public landing page │ ├── examples/ # Sample input files for testing │ ├── RealMalware.exe # Real malware sample │ ├── ColorBug.exe / EarlyEnd.exe # PE test samples │ ├── sample.out / sample2.out # ELF binaries │ └── nuclear_motor_example.docm # Malicious Office document │ ├── docs/ # Architecture + pipeline + analyzer docs ├── AGENTS.md # Agent architecture + coding conventions └── Readme.md
---
## AI 모델
SecFlow는 모든 AI 추론에 **Groq**를 사용합니다. 무료 등급이며, 신용카드가 필요하지 않습니다.
| 역할 | 모델 | 이유 |
|---|---|---|
| **파이프라인 라우팅** | `qwen/qwen3-32b` | 신뢰할 수 있는 구조화된 JSON 출력; `/no_think` 모드는 사고 과정을 생략하여 빠른 라우팅 결정을 내립니다. |
| **위협 인텔리전스** | `llama-3.3-70b-versatile` | YARA/SIGMA 생성 및 MITRE TTP 매핑을 위한 강력한 추론 |
| **보고서 요약** | `qwen/qwen3-32b` | 경영진 요약 + 권장 사항 |
SecFlow는 표준 `openai` Python SDK를 통해 **OpenAI 호환 API 사양**을 사용합니다. 공급업체별 SDK가 필요하지 않습니다. 즉, `base_url`과 모델 이름만 변경하면 모든 OpenAI 호환 모델 제공업체(OpenAI, Groq, Together, Ollama 등)로 전환할 수 있습니다.```python
from openai import OpenAI
# Groq (current — free tier)
client = OpenAI(api_key=GROQ_API_KEY, base_url="https://api.groq.com/openai/v1")
# OpenAI (drop-in swap)
client = OpenAI(api_key=OPENAI_API_KEY) # base_url defaults to api.openai.com
# Local Ollama (fully offline)
client = OpenAI(api_key="ollama", base_url="http://localhost:11434/v1")
Groq + 무료 티어를 사용하는 이유? SecFlow는 접근성을 염두에 두고 만들어졌습니다 — 전체 파이프라인을 실행하는 데 유료 API가 필요하지 않습니다. Groq의 무료 티어는 모든 라우팅 및 보고서 생성을 무료로 처리합니다. 더 무거운 워크로드를 실행하거나 프로젝트를 후원하려면 GitHub Sponsors 페이지를 참조하세요.
모든 요청은 http://localhost:5000의 오케스트레이터로 전송됩니다.
POST /api/smart-analyze분석을 위해 파일 또는 대상을 제출합니다.
파일 입력:```bash
curl -X POST http://localhost:5000/api/smart-analyze
-F "[email protected]"
-F "passes=4"
**대상 입력 (URL / IP / domain):**```bash
curl -X POST http://localhost:5000/api/smart-analyze \
-H "Content-Type: application/json" \
-d '{"target": "https://suspicious-site.com", "passes": 5}'
GET /api/report/<job_id>/html전체 PWNDoc HTML 보고서를 반환합니다 — 브라우저에서 열고 Export PDF를 클릭하여 저장합니다.
GET /api/report/<job_id>/json프로그래밍 방식으로 사용할 수 있는 원시 결과 JSON을 반환합니다.
GET /api/health상태 확인 — {"status": "healthy"}를 반환합니다.
기여는 환영합니다. SecFlow는 오픈 소스이며 적극적으로 유지보수됩니다.
git checkout -b feat/your-feature초보자에게 좋은 이슈: 새로운 IOC 추출 패턴, SIGMA 규칙 개선, 추가 OSINT 모듈, 프론트엔드 분석기 페이지, 보고서 내보내기 개선.
SecFlow가 업무나 연구에 유용하다면 프로젝트 후원을 고려해 주세요 — 무료 계층 인프라와 개발을 유지하는 데 도움이 됩니다.
MIT 라이선스 — 자세한 내용은 LICENSE를 참조하세요.
더 이상 다룰 도구가 아닌, 답을 원하는 보안 분석가를 위해 구축되었습니다.
SecFlow가 도움이 되셨다면 별표를 눌러 주세요 — 다른 사람들이 프로젝트를 발견하는 데 도움이 됩니다.
#cybersecurity #threatintelligence #malwareanalysis #yara #sigma #soc #dfir #infosec #osint #reverseengineering #steganography #virustotal #ghidra #docker
| 기능 | 세부 정보 |
|---|
| AI 기반 라우팅 | Groq qwen/qwen3-32b가 각 패스 후 다음 분석기를 결정 — 수동 구성 불필요 |
| 5가지 전문화 분석기 | 악성코드 · 스테가노그래피 · 정찰 · 웹 취약점 · 매크로/오피스 |
| 스마트 첫 번째 패스 | file + python-magic 결정론적 규칙을 첫 번째 패스에서 사용 — 유형이 모호할 때만 AI 호출 |
| 다운로드 및 분석 | IOC를 추적하여 원시 출력에서 발견된 페이로드를 다운로드하고 올바른 분석기로 라우팅 |
| YARA 규칙 생성 | 분석당 2~5개의 배포 가능한 YARA 규칙 자동 생성, 각 규칙은 이를 도출한 정확한 증거 인용 |
| SIGMA 규칙 생성 | Splunk / Elastic / Sentinel용으로 2~4개의 SIGMA 규칙 자동 생성 — 다양한 로그 소스 포괄 |
| MITRE ATT&CK 매핑 | 모든 발견 사항을 실제 TTP ID와 전술 이름에 매핑 |
| 이중 보고서 형식 | HTML 보고서(브라우저에서 인쇄-PDF) + 구조화된 JSON 보고서(추가 분석을 위해 AI에 직접 전달 가능) |
| React 대시보드 | 완전한 프런트엔드 UI — 분석 제출, 실시간 파이프라인 진행 상황 보기, 분석기별 결과 탐색 |
| VirusTotal 통합 | 악성코드 및 매크로 분석기 모두 VT API v3를 통해 70개 이상의 안티바이러스 엔진 조회 |
| 구성 가능한 루프 깊이 | 3, 4 또는 5회 패스 — AI가 더 이상 신호가 없다고 판단하면 조기 종료 |
| 독립 실행 모드 | 모든 분석기 마이크로서비스가 자체 REST API를 노출 — 독립적으로 사용 가능 |
| 변수 | 서비스 | 필수 | 설명 |
|---|
GROQ_API_KEY | orchestrator | ✅ | AI 라우팅 + 위협 인텔리전스 + 보고서 생성 |
VIRUSTOTAL_API_KEY | malware, macro | ✅ | VirusTotal API v3 파일/URL 분석 |
NUMVERIFY_API_KEY | recon | 선택 사항 | 전화번호 검증 (NumVerify) |
THREATFOX_API_KEY | recon | 선택 사항 | ThreatFox IOC 조회 시 상위 속도 제한 |
ipAPI_KEY | recon | 선택 사항 | ip-api.com 상위 속도 제한 |
MAX_PASSES | orchestrator | 선택 사항 | 루프 깊이 — 3 (기본값) / 4 / 5 |
| 구성 요소 | 상태 |
|---|
| Orchestrator + Classifier + AI Engine | ✅ 완료 |
| Malware Analyzer (Ghidra + VirusTotal) | ✅ 완료 |
| Steg Analyzer (binwalk + zsteg + steghide) | ✅ 완료 |
| Recon Analyzer (ip-api + ThreatFox + OSINT) | ✅ 완료 |
| Web Vulnerability Analyzer | ✅ 완료 |
| Macro Analyzer (oletools + VirusTotal) | ✅ 완료 |
| Download-and-Analyze payload fallback | ✅ 완료 |
| YARA Rule Auto-Generation | ✅ 완료 |
| SIGMA Rule Auto-Generation | ✅ 완료 |
| MITRE ATT&CK TTP Mapping | ✅ 완료 |
| HTML Report + JSON Report + Export PDF | ✅ 완료 |
| React Frontend Dashboard | ✅ 완료 |
| 문서 | 설명 |
|---|
| AGENTS.md | 에이전트 아키텍처, 서비스 계약 및 AI 코딩 지침 |
| ProjectDetails.md | 전체 프로젝트 명세 및 설계 결정 사항 |
| docs/architecture.md | 시스템 구성 요소 및 데이터 흐름 다이어그램 |
| docs/pipeline-flow.md | 상세 파이프라인 루프 로직 및 의사 결정 트리 |
| docs/analyzers.md | 분석기별 기능 및 인터페이스 명세 |
| docs/migration.md | 분석기 마이크로서비스 통합 가이드 |
| backend/Readme.md | 백엔드 설정, 개발 및 문제 해결 가이드 |
#python#openSource#automation#mitre#attackframework#secops#blueTeam#incidentResponse#siem#edr#ioc#pwndoc#groq#llm#aiSecurity