slicedearth/malroute-atlas

GitHub: slicedearth/malroute-atlas

一款本地优先的被动恶意软件基础设施分析 CLI 工具,用于对 URLhaus 导出数据进行离线证据提取并生成私有化分析师报告。

Stars: 0 | Forks: 0

# MalRoute Atlas MalRoute Atlas 是一款本地优先的命令行工具,用于被动的恶意软件基础设施研究。它 接收经过许可的 URLhaus 导出数据,将每个 URL 视为具有敌意的文本,提取确定性的 基础设施和路径证据,并生成私有的 HTML、JSON 和 CSV 分析师报告。 该 CLI 即为产品本身。静态网站是一个功能指南,包含固定的合成示例;它 并不是实时的威胁情报仪表板,且绝不会接收本地分析师数据。 MalRoute Atlas 绝不会访问任何指标、解析源主机名、测试记录是否 仍然活跃、获取 payload、提交指标或扫描基础设施。源报告的 标签和时间戳依然是源事实——而非独立的观察结果。 ## CLI 工作流程 | 命令 | 用途 | 网络行为 | | --- | --- | --- | | `malroute fetch-urlhaus` | 获取一个有界的、经过身份验证的近期 CSV 导出 | 仅限固定的已审查源 | | `malroute analyze` | 标准化记录并生成私有报告包 | 离线 | | `malroute analyze-local` | `analyze` 的兼容形式 | 离线 | | `malroute demo` | 重新生成固定的合成功能网站数据 | 离线 | | `malroute validate-public` | 拒绝构建的公共树中的不安全内容 | 离线 | | `malroute schema` | 重新生成带有版本控制的 contract schema | 离线 | ## 边界与非目标 - 不执行恶意软件 URL 请求、浏览器导航、DNS、RDAP、Certificate Transparency、ASN、 地理定位、端口扫描、payload 下载或提供商扩充。 - 不进行 URL 提交、自动报告、攻击者归因、罪责排名或“恶意 生命周期”声明。 - 无服务器、生产数据库、账户、遥测、分析或公共实时数据 API。 - Git 或功能网站中不包含 原始源数据、报告者身份、查询值、凭据或记录级别的真实数据。 在使用真实源数据之前,请阅读[架构](docs/architecture.md)、[威胁模型](docs/threat-model.md)、 [隐私政策](PRIVACY.md)和[局限性](docs/limitations.md)。 ## 源概述 MVP 通过一个固定的 HTTPS 源和 路径模板支持 URLhaus 经过身份验证的近期 CSV 导出。当前的官方条款记录了经过身份验证的非盈利合理使用访问,并 指出商业用途可能需要订阅。他们没有提供足够明确的 再分发许可,以允许本项目发布原始或派生的 URLhaus 导出数据。因此,真实数据 仅在本地可用;在新的权限审查完成之前,公共聚合模式已被禁用。详情和 访问日期请参见[源政策](docs/source-policy.md)。 ## 要求与安装 - CLI 需要 Python 3.12 或更高版本 - 仅在进行功能网站开发时需要 Node.js 24 或更高版本 ``` python3 -m venv .venv .venv/bin/python -m pip install --upgrade pip .venv/bin/python -m pip install -e '.[dev]' ``` 网站贡献者还可以运行 `npm --prefix site ci`。生成的 Python 和 npm lockfile 是 CI 使用的依赖项输入。 ## 分析本地 URLhaus 导出 首先查看[源政策](docs/source-policy.md)和当前的上游条款。仅向 本地 shell 提供凭据: ``` export URLHAUS_AUTH_KEY='your-local-key' .venv/bin/malroute fetch-urlhaus .venv/bin/malroute analyze ``` fetch 命令仅联系固定的已审查导出主机。分析是离线的。凭据 绝不会作为 CLI 参数接受,如果实际输出目标指向存储库的 发布路径,则会被拒绝。 `malroute analyze` 将在 `reports/local/` 下写入仅所有者可读的文件: | 产物 | 内容 | | --- | --- | | `report.html` | 无脚本响应式分析师视图,带有无网络内容策略 | | `atlas.json` | 带有版本控制的标准化证据和质量数据 | | `summary.csv` | 聚合维度,并中和电子表格公式 | | `publication-manifest.json` | 模式、计数、时间戳、校验和及策略状态 | HTML 预览限制为 500 条记录,CSV 限制为 50,000 行;私有 JSON 保留 完整的有界结果。报告者身份和查询值在报告前会被丢弃。 ## 功能网站与合成示例 该网站使用 `.invalid` 名称、 `192.0.2.0/24` 文档范围、虚构标签和虚构的 2035 年时间戳来解释 CLI 并预览本地报告的形状。它不会发出 运行时网络请求。 ``` .venv/bin/malroute demo npm --prefix site run check npm --prefix site run build .venv/bin/malroute validate-public --path site/dist npm --prefix site run preview ``` ## 输出模式 | 模式 | 内容 | 发布状态 | | --- | --- | --- | | `local` | 去特征化的真实记录详情,不包含报告者身份或查询值 | 仅限私有分析师工作站 | | `demo` | 固定的记录级合成数据 | 经过验证后的安全功能网站示例 | | `public-aggregate` | 仅限阈值化的聚合数据;无主机或记录结构 | 在源权限得到明确记录之前禁用 | ## 测试与验证 ``` .venv/bin/ruff check . .venv/bin/mypy src/malroute .venv/bin/pytest --cov=malroute --cov-report=term-missing .venv/bin/malroute schema .venv/bin/malroute demo npm --prefix site run check npm --prefix site run build .venv/bin/malroute validate-public --path site/dist .venv/bin/pip-audit --skip-editable npm --prefix site audit --audit-level=high git diff --check ``` 集成测试使用环回 fixture 服务器,且绝不会联系 URLhaus。CI 具有只读 权限,无源凭据,无定时摄入,且无真实数据产物上传。有关已审查的 控制和剩余 风险,请参见[安全与隐私审计](docs/security-audit.md)。 ## 数据删除 检查确切路径,然后仅删除本地材料: ``` rm data/local/urlhaus-recent.csv data/local/source-manifest.json rm reports/local/atlas.json reports/local/report.html reports/local/summary.csv rm reports/local/publication-manifest.json ``` 合成 fixture 和生成的功能网站数据是相互独立的。请参阅 [数据指南](data/README.md)。 ## 部署 公共功能网站通过 Netlify 从存储库的 `site/` 目录部署。已提交的 `netlify.toml` 会运行 Astro 检查和静态构建,仅发布 `site/dist/`,禁用构建 遥测和依赖生命周期脚本,并应用严格的响应标头。该部署 没有 functions、表单、运行时 API、凭据,也无法访问被 gitignore 的本地数据和报告。 在生产部署之前,请对确切的构建产物运行发布验证器: ``` npm --prefix site ci --ignore-scripts npm --prefix site run check npm --prefix site run build .venv/bin/malroute validate-public --path site/dist ``` 绝不能用本地或基于真实数据的输出替换生成的合成演示资产。 ## 局限性与修正 源数据可能会出现延迟、不完整、重复、更正或误报。匹配的 基础设施事实并不能证明存在共同所有权或统一的活动控制。源记录 的更正应通过 URLhaus 记录的流程进行;本软件中的安全缺陷 应通过 [SECURITY.md](SECURITY.md) 中的私有报告流程进行。 ## 许可证 原始源代码和项目文档采用 Apache-2.0 授权。源数据集及 任何允许的派生作品保留其自身条款,本存储库不会对其重新授权。
标签:DAST, MITM代理, 威胁情报, 开发者工具, 恶意软件分析, 暗色界面, 本地优先, 离线分析, 网络信息收集, 逆向工具