v0.1.0 – Beta:在我机器上能跑版

有关此版本的变更和测试范围,请参阅 CHANGELOG.md。
开源侦察控制台
为猎人而建,而非浏览器。
OSINT Menace 是一个防御性思维项目。
OSINT Menace 是一个用于案件驱动型 OSINT 研究的 Python 应用程序,包含终端工作区和 Docker 化的 Web 界面。分析师可以收集公开来源的观察结果、审查结果、将有用的发现保存到案件中,并导出报告。
该工具专为防御性研究、数字足迹审查、调查笔记记录和授权安全工作而设计。它倾向于被动查询、生成的来源链接、公共记录关联、DNS/RDAP 信息、证书透明度、钱包浏览器以及分析师控制的案件管理。
这是一个早期的本地构建版本,旨在日后发展为一个更完整的站点。当前版本可作为本地分析师控制台和 Docker 托管原型使用。
使用 python menace.py --version 检查已安装的版本。
有关完整的终端工作流程和命令参考,请参阅 CLI.md。
终端搜索支持 GitHub/Bluesky/GitLab/Hacker News 公开个人资料、
电话元数据、比特币/以太坊摘要及近期交易、公开页面
文本/摘录以及结构化记录来源匹配。用户名/自动搜索默认
执行直接检查以及完整的候选个人资料链接列表;其他类型默认
执行收集。可显式选择 --mode links、--mode collect 或 --mode both。
CLI 还提供 OSINT Links 目录和独立的 HTML 导出。
SEC 和 CourtListener 需要来源配置;CLI 会明确报告缺失的配置以及被阻止/限流的
请求。请参阅 CLI 指南中的覆盖范围和凭据表。
在不启动浏览器或 Web 服务器的情况下运行 OSINT Menace:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python menace.py
编号菜单支持活动案件、选择性保存、重复检测、 案件/条目管理、审查状态、笔记/标签、引导式档案编辑、 批量输入以及 Word/Markdown/JSON/HTML 报告向导。直接命令支持 相同的已保存数据操作:
python menace.py search exampleuser --type username
python menace.py search example.com --type domain --json
python menace.py create "Investigation One"
python menace.py cases
python menace.py search exampleuser --type username --case CASE_ID --link 1 --link 3
python menace.py dossier --fields
python menace.py dossier CASE_ID --field summary --value "Analyst summary here"
python menace.py show CASE_ID
python menace.py export CASE_ID --format docx --output investigation.docx
python menace.py export demo --format docx --output demo.docx
--case 会保存完整结果,除非使用 --link 从单个目标中选择编号链接。
在分析师验证之前,链接仍为候选状态。
在命令前使用 --data-dir /path/to/data 可选择另一个数据目录;
默认是本检出目录下的 data 文件夹。Word 导出使用已保存的档案
字段。现有输出文件绝不会被覆盖。
使用 python menace.py --help 或 python menace.py search --help 查看标志。
原有的 osint_tool.py 搜索 CLI 仍然可用。
data/cases 下。OSINT Menace 默认有意保持保守。
默认包含:
默认排除:
自动模式接受由换行符、逗号或分号分隔的混合目标。它会检测可能的目标类型并运行匹配的模块。
示例:
[email protected]
John P. Smith
example.com
1.1.1.1
0x0000000000000000000000000000000000000000
电子邮件搜索包括:
用户名搜索包括:
{username} 的可选自定义论坛 URL 模式。电话搜索包括:
Signal 和 Life360 账户发现有意不自动化。
全名搜索包括:
域名搜索包括:
IP 搜索包括:
钱包搜索包括:
案件是调查的工作文件夹。它们存储在:
data/cases/
案件工作流程支持:
在案件内使用 Edit Dossier 完成提供的背景、 调查结果、方法论、未完成任务和外部搜索笔记。 档案遵循所提供调查模板的结构。 已保存的搜索和选定的链接仍作为支持记录,并列在 捕获日志中。档案字段由分析师输入,并包含在 HTML、Markdown 和 JSON 导出中。使用 HTML 报告的打印操作 通过浏览器打印或保存为 PDF。在案件、 档案编辑器或报告页面上使用 Download Word 获取可编辑的 DOCX。在导出前保存你的档案编辑。 此版本未实现照片附件。
每个案件可以导出为四种格式:
JSON:机器可读的案件数据。Word:可编辑的 DOCX 档案和已保存证据。Markdown:轻量级报告文本。HTML Report:样式化的最终报告页面,包含元数据、摘要、发现、链接、笔记和打印支持。/osint-links 页面包含一组精选的 OSINT 类别和链接,来源于:
https://start.me/p/L1rEYQ/osint4all
署名显示在 OSINT Links 页面底部。本地目录存储在:
data/catalog/osint_links.json
默认目录排除了明显不安全的身份生成、onion 镜像和抓取数据条目。
健康检查:
curl http://localhost:8088/health
运行搜索:
curl -sS http://localhost:8088/api/search \
-H 'Content-Type: application/json' \
-d '{"search_type":"auto","query":"[email protected]\nexampleuser\nexample.com"}'
支持的 search_type 值:
auto
email
username
phone
name
domain
ip
wallet
.
├── menace.py # Main CLI entry point and direct commands
├── cli_workspace.py # Interactive search and case workflows
├── cli_catalog.py # Platform coverage and OSINT Links catalog
├── collectors.py # Direct public-source collectors
├── discovery.py # Search modes and result classification
├── terminal_output.py # Readable terminal output
├── app.py # Flask routes, case management, reports, API
├── osint_tool.py # Shared search helpers and original CLI
├── dossier.py # Dossier fields and Markdown sections
├── word_report.py # Word report generation
├── demo.py # Fictional demo case
├── Dockerfile # Python/Gunicorn container
├── docker-compose.yml # Local service definition
├── requirements.txt # Python dependencies
├── INSTALL.md # Installation and operations guide
├── CLI.md # Terminal workflow and command reference
├── README.md # Product and developer overview
├── data/
│ ├── cases/ # Saved case JSON files
│ └── catalog/ # OSINT Links catalog
├── exports/ # Created for local exports, excluded from Git
├── tests/ # Automated CLI, collector, and report tests
├── static/
│ └── styles.css # Cyberpunk UI styling
└── templates/ # Flask/Jinja HTML templates
在项目根目录下,安装依赖后:
python -m unittest discover -s tests -v
git diff --check
测试使用临时案件目录和模拟网络响应。实时提供商
可用性与此测试套件无关。将本地报告保存在
exports/ 下,例如:
python menace.py export demo --format docx --output exports/demo.docx
已保存的案件、CLI 状态、凭据和本地导出均从 Git 中排除。
data/catalog 资源目录仍是应用程序的一部分。
以下 GitHub 项目作为参考材料被审查,用于工作流程思路、目标类别、UI/报告概念、防御边界或被动关联模式。OSINT Menace 不会在运行结果中展示这些署名,但在此记录以用于归属和项目历史。