VoidAccess는 다크웹 조사 질의를 구조화된 위협 인텔리전스로 전환하는 자체 호스팅 가능 도구로, 수집, 정보 보강, 관계 매핑, 내보내기를 하나의 작업 흐름으로 연결합니다.**
16개 이상의 Tor 검색 엔진과 공개 웹 소스를 병렬로 검색하고, 정규식, 개체명 인식(NER), 선택적 LLM 분석을 통해 침해 지표와 위협 행위자 등의 개체를 추출합니다.
관계 그래프를 구성하여 개체의 동시 출현, 커뮤니티, 경로, 인프라 클러스터를 만들고, 행위자 별칭과 활동 타임라인, 조사 간 관계를 지속적으로 저장합니다.
CLI와 웹 UI를 지원하며, 로컬 SQLite 환경이나 PostgreSQL 기반 Docker Compose 스택으로 실행 가능합니다. LLM 분석과 전체 벡터 임베딩(vector embedding) 스택은 선택적으로 사용할 수 있습니다.
필수 콘텐츠 안전 검사 기능을 통해 금지된 질의, URL, 콘텐츠, 추출 개체를 필터링하며, 결과를 STIX 2.1, MISP와 탐지 규칙, IOC 패키지 등으로 내보낼 수 있습니다.
조사에서 위협 인텔리전스까지
VoidAccess는 보안 연구자, 위협 인텔리전스 팀, 권한을 부여받은 조사자를 위한 자체 호스팅 가능 OSINT 도구입니다.
수집부터 내보내기까지 하나의 흐름에서 처리하며, 저장된 조사의 정보를 다시 보강하고 대화형 개체 브라우저로 결과를 탐색할 수 있습니다.
행위자 프로필에는 별칭, 인프라, 분석가 메모, 활동 타임라인, 조사 간 관계가 지속적으로 저장됩니다.
관계 그래프는 동시 출현 관계, 커뮤니티, 경로, 인프라 클러스터를 구성합니다.
조사 파이프라인
질의 정제와 병렬 수집으로 조사를 시작합니다.
- 선택한 LLM을 사용하여 조사 질의를 정제합니다.
- Tor 검색, 붙여넣기 공유 사이트, 코드 호스팅 서비스, RSS 피드, 선별된 시드에서 병렬로 수집합니다.
- 잡음이 많거나 관련성이 낮은 페이지는 걸러내고, 위협 인텔리전스 소스로 질의와 초기 지표를 보강합니다.
추가 탐색과 캐시 재사용으로 수집을 이어갑니다.
- 추가
.onion 링크를 재귀적으로 탐색하고, 벡터 캐시에서 최근 처리한 페이지를 재사용합니다.
- 응답 크기 제한을 적용하여 선택된 페이지를 Tor로 가져온 뒤 새 콘텐츠를 저장합니다.
개체 추출과 관계 구성을 거쳐 결과를 생성합니다.
- 수집 정보와 보강 정보를 합치고, 정규식, 개체명 인식(NER), 선택적 LLM 분석으로 개체를 추출합니다.
- 과거 데이터와 시드 데이터셋을 교차 참조하여 관계, 커뮤니티, 인프라 클러스터를 구성합니다.
- 최종 인텔리전스 요약과 내보내기 가능한 결과를 생성합니다.
(참고: 전체 동작, 시간 제한, 복구, 데이터 흐름은 아키텍처 문서에서 확인할 수 있습니다.)
추출하는 개체 유형
암호화폐: Bitcoin, Ethereum, Monero, Litecoin, Zcash, Solana, Tron, ENS를 지원합니다.
네트워크 지표: IPv4, IPv6, 도메인, URL, .onion 주소, MAC 주소, PGP 키를 추출합니다.
파일 지표: MD5, SHA-1, SHA-256 및 악성코드 계열을 식별합니다.
인증 정보: 클라우드 키, 토큰, JWT, API 키, 정보 탈취 악성코드 로그, 계정 정보 조합 목록 항목을 추출합니다.
메시징 서비스 관련 개체: Telegram, Discord, XMPP, Tox, Session, Matrix, Wire, ICQ, Wickr를 지원합니다.
취약점 및 공격 기법: CVE, MITRE ATT&CK 기법과 전술, Exploit-DB ID를 식별합니다.
탐지 콘텐츠: YARA 규칙, Nuclei 템플릿, Snort 및 Suricata 지표를 추출합니다.
위협 인텔리전스 개체: 행위자 식별명, 랜섬웨어 그룹, 붙여넣기 공유 링크, 사람, 조직, 위치를 식별합니다.
수집 및 정보 보강 소스
다크웹 검색은 16개 이상의 Tor 검색 엔진과 선별된 .onion
시드를 활용함
공개 웹 수집은 Pastebin, dpaste, paste.ee, Rentry, GitHub, GitLab, 선별된 RSS 피드를 활용함
위협 피드는 AlienVault OTX, abuse.ch, MalwareBazaar, ThreatFox, URLhaus, ransomware.live, CISA KEV를 활용함
IP와 도메인 정보는 Shodan InternetDB, GreyNoise, AbuseIPDB, Feodo Tracker, C2IntelFeeds, crt.sh, URLScan.io, Wayback Machine, CIRCL PDNS, RDAP으로 보강함
파일 및 신원 정보는 VirusTotal, Hybrid Analysis, Have I Been Pwned, EmailRep을 활용하며, 블록체인 정보는 BlockCypher와 Etherscan을 활용함
API 키가 필요한 소스는 키가 없으면 건너뜀. 전체 키와 설정은 설정 참조 문서에서 확인 가능함
- 일반 웹 요청에는 선택적으로 ScrapingAnt를 사용할 수 있으며,
**Tor와 **.onion 트래픽에는 영향을 주지 않음
선택적 LLM과 벡터 임베딩
LLM 제공자는 호스팅 API와 로컬 실행을 모두 지원함
- OpenRouter가 기본 경로이며 DeepSeek, Llama, Claude 등을 사용할 수 있고 무료 모델도 있음
- Groq는 Llama 기반의 빠른 호스팅 추론과 무료 등급을 제공함
- OpenAI의 GPT 모델은 API 키가 필요함
- Anthropic은 Claude를 지원하며, 테스트된 기본 모델은 Claude Haiku임
- Google Gemini는 Flash와 Pro를 지원하며 Google AI Studio 키가 필요함
- Ollama는 설치된 로컬 모델을 사용하며 망분리 배포에 적합함
기본 설치는 PyTorch 없이 실행 가능하며, 임베딩 스택이 없으면 결정적 SHA-256 대체 인코더를 사용한다는 로그를 남김
- 선택적 NLP 의존성을 설치하면
sentence-transformer 벡터 임베딩을 활성화할 수 있음
실행 환경과 결과 활용
로컬 CLI는 SQLite를 사용하며, 전체 자체 호스팅 환경은 PostgreSQL, Tor, FastAPI, Next.js를 Docker Compose로 실행함
구조화된 내보내기는 STIX 2.1, MISP, Sigma, YARA, Snort, Suricata, CSV, Markdown, JSON을 지원함
- IOC 패키지를 ZIP으로 생성할 수 있음
- 저장된 조사 재보강, 행위자 프로필과 타임라인 조회, 분석가 메모 추가도 가능함
안전 장치와 사용 범위
필수 파이프라인 검사 지점에서 금지된 질의, URL, 콘텐츠, 추출 개체를 필터링함
MIT 라이선스로 배포되며, 사용 범위는 권한을 부여받은 보안 연구와 위협 인텔리전스 업무로 제한함
- 허용된 사용 요건과 금지 행위는 사용 정책에서 확인 가능함
댓글과 토론