
위협 헌터 및 공격 표면 관리 플랫폼 수동 및 반능동 정찰, 상관 분석, 위험 점수 산정, 지속적 모니터링을 위한 단일 정적 Go 바이너리입니다.
위협 헌터 & 공격 표면 관리 플랫폼
수동 및 반능동 정찰, 상관 분석, 위험 점수 산정, 지속적 모니터링을 위한 단일 정적 Go 바이너리.
Obscura Scan은 하나의 정적 바이너리로 실행되는 공격 표면 관리 및 OSINT/정찰 플랫폼입니다 — Python도, virtualenv도, 시스템 라이브러리도, 데이터베이스 서버도 필요 없습니다. 도메인, URL 또는 IP를 지정하면 수십 개의 정찰 모듈이 동시에 실행되어 결과를 상관 분석하고, 위험 점수를 산정하며, 선택적으로 LLM으로 보강한 뒤, 실시간 진행 상황 스트리밍과 함께 깔끔한 웹 UI + REST API를 통해 모든 것을 제공합니다.
이것은 내부적으로 AEGIS로 알려졌던 플랫폼을 Go로 다시 작성한 것으로, 속도, 안전성, 단일 파일 배포를 위해 재설계되었습니다.
대부분의 가치는 API 키 없이도 얻을 수 있습니다. 50개 모듈 중 43개는 완전히 자체 포함되어 있어 대상과 DNS/TLS/HTTP 프로토콜에 직접 통신합니다. Obscura Scan은 키를 하나도 구성하지 않고 실행되며, 키가 필요한 모듈은 이유와 함께 건너뛰기만 합니다.
confirmed/firm/tentative)를 가지며, 점수는 최악의 확인된 발견 사항에 의해 기준이 정해지고 볼륨에 의해서만 약간 조정되므로, 신뢰도가 낮은 휴리스틱이 쏟아져도 게이지를 100으로 고정할 수 없습니다. 모듈 간 중복 제거와 원클릭 오탐 억제로 보고서의 신호 밀도를 유지합니다./metrics, 구조화된 로깅, 정상 종료.# 1. Get it (see Installation for binaries / Docker)
git clone https://github.com/security-life-org/Obscura.git
cd Obscura
make build # -> bin/obscura (CGO_ENABLED=0, pure Go)
# 2. Run it (every config value is optional)
./bin/obscura
# 3. Open the UI
# http://127.0.0.1:8080
그런 다음 대상(예: example.com)을 입력하고, 프로필을 선택한 뒤 Start Scan을 누르세요. 결과는 원시 JSON이 아닌 읽기 쉬운 보고서 — 위험 게이지, 발견 사항, 모듈별 표 — 로 렌더링됩니다.
./bin/obscura --version # build info
./bin/obscura --allow-internal # permit private/loopback targets (authorized internal use)
| 문서 | 내용 |
|---|---|
| 설치 | 바이너리, 소스에서 빌드, Docker, 크로스 컴파일 |
| 사용법 | CLI 플래그, 웹 UI 둘러보기, 스캔, 예약, 모니터링, 캠페인, 내보내기, AI |
| 구성 | 전체 환경 변수 참조, 별칭, 우선순위, 마스킹 |
| .env.example | 설명과 기본값이 포함된 모든 환경 변수 |
| 모듈 | 주요 요구 사항과 함께 카테고리별 50개 모듈 전체 카탈로그 |
| 사용 사례 | 버그 바운티, ASM 모니터링, 규정 준수, 위협 헌팅, 브랜드 보호 |
| REST API | 엔드포인트, Bearer 인증, 키 발급, 예제 |
| 기여 | 개발 환경 설정, 모듈 추가, 코드 스타일, PR |
| 보안 정책 | 취약점 신고, 책임 있는 사용, SSRF 모델 |
| 변경 로그 | 릴리스 이력 |
flowchart LR
A["cmd/obscura\nEntrypoint"] --> B["internal/config\nEnv Loader"]
B --> C["internal/store\nSQLite WAL"]
B --> D["internal/engine\nWorker Pool + DAG"]
D --> E["internal/modules\n50 Modules"]
D --> F["internal/safety\nSSRF Guard"]
E --> G["internal/ml\nRisk Scoring"]
E --> H["internal/ai\nAI Copilot"]
D --> I["internal/server\nchi Router + SSE"]
I --> J["internal/export\nPDF/DOCX/STIX/SIEM"]
I --> K["internal/notify\nSlack/Discord/Teams"]
I --> L["internal/schedule\nContinuous Monitoring"]
I --> M["internal/metrics\nPrometheus"]