s4mm1t/osint-toolkit
GitHub: s4mm1t/osint-toolkit
一款独立的模块化 OSINT 调查工作台,提供用户名枚举、域名侦查、文件元数据提取、Web 安全检查、案件管理与实体关联图谱,支持 JSON 和 Markdown 报告导出。
Stars: 0 | Forks: 0
# osint-toolkit
一个独立的 Flask OSINT 调查工作区,包含可解释的自定义模块:
- 用户名检查器,通过自定义 async HTTP 请求检查 `platforms.yaml` 中的 60 多个服务
- 置信度评分、分类、人工审查状态以及证据对象
- 案件工作区,使用 `data/cases.json` 进行本地 JSON 存储
- 实体图,关联用户名、个人资料、域名、IP、端口、文件和元数据
- 域名侦查,包括 WHOIS、DNS、SPF/DMARC、HTTP 头、TLS 证书信息以及基础常见端口扫描
- 针对已授权的公共/预发布目标的 Web 安全检查:安全头、cookies、CORS、表单启发式分析、反射型 XSS 和 JavaScript URL 金丝雀检测
- 针对 JPEG/PNG/TIFF 和 DOCX 文件的元数据提取及隐私风险评分
- JSON 和 Markdown 导出
- 用于用户名检查、域名侦查、案件和监视规则的 REST API endpoint
- 用于终端操作的 CLI 入口点
- 使用模拟 HTTP 响应的测试,无需触碰真实平台
该项目特意设计为不包装 Maigret 或 Sherlock。默认的
引擎是简洁的 Python 代码,易于阅读、测试,并方便在
面试中进行解释。
## 设置
```
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## 运行 Flask
```
flask --app app run --debug
```
打开 `http://127.0.0.1:5000`。
## API
```
curl -X POST http://127.0.0.1:5000/api/check/username \
-H "Content-Type: application/json" \
-d '{"username":"john"}'
curl -X POST http://127.0.0.1:5000/api/recon/domain \
-H "Content-Type: application/json" \
-d '{"domain":"example.com","include_ports":true}'
curl -X POST http://127.0.0.1:5000/api/web-security \
-H "Content-Type: application/json" \
-d '{"url":"https://staging.example.com/search","params":["q","redirect"]}'
curl http://127.0.0.1:5000/api/cases
curl http://127.0.0.1:5000/api/watch
```
## 运行 CLI
```
python osint_cli.py --username john --domain example.com --format markdown
python osint_cli.py --metadata sample.jpg
```
## 测试
```
pytest
```
## 注意事项
使用前请阅读 `DISCLAIMER.md`。保持扫描具有针对性、低速且经过授权。
本地调查历史记录存储在 `data/` 目录下,并被 git 忽略。
本地和私有目标(如 `127.0.0.1`、`localhost`、`10.0.0.0/8`、
`172.16.0.0/12`、`192.168.0.0/16`、`::1` 和 `.local` 名称)会被
目标防护机制拦截。请使用您拥有或获得明确授权的公共预发布域名进行测试。
标签:CISA项目, ESC4, Flask, GitHub, Homebrew安装, OSINT, Python, RESTful API, Web安全检查, 安全规则引擎, 实时处理, 情报收集, 提示词优化, 无后门, 漏洞研究, 网络测绘, 逆向工具