WellKnitTech/ThreatActor.info

GitHub: WellKnitTech/ThreatActor.info

基于 Jekyll 构建的威胁情报静态知识库,聚合多个公开情报源的威胁行为者、恶意软件和 IOC 数据,并提供静态 JSON API 供下游安全工具集成调用。

Stars: 0 | Forks: 1

[![Jekyll](https://img.shields.io/badge/Jekyll-4.4+-2e2642?style=flat&logo=jekyll)](https://jekyllrb.com) [![Ruby](https://img.shields.io/badge/Ruby-3.2.5-CC342D?style=flat&logo=ruby)](https://www.ruby-lang.org) [![License: Unlicense](https://img.shields.io/badge/License-Public%20Domain-success?style=flat)](LICENSE) [![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-Active-24292F?style=flat&logo=github)](https://wellknittech.github.io/ThreatActor.info/) # ThreatActor.info ThreatActor.info 是一个基于 Jekyll 的静态知识库,涵盖威胁行为者、攻击活动、恶意软件、指标以及相关的情报制品。该仓库以 YAML 格式存储权威的行为者元数据,根据这些数据同步生成行为者页面,并为网站 UI 及下游使用生成静态 JSON API。 在线网站:https://wellknittech.github.io/ThreatActor.info/ ## 项目功能 - 在 `_data/actors/*.yml` 中维护权威的行为者记录 - 在 `_threat_actors/*.md` 中同步行为者页面 - 在 `_data/generated/*.json` 和 `api/*.json` 中生成静态 API 制品 - 从行为者内容中提取恶意软件、攻击活动、ATT&CK 映射、参考资料和 IOC - 支持从公开情报来源进行可重复的基于快照的导入 - 在 CI 中验证 schema、页面对齐、生成的 JSON 以及安全的 Jekyll 构建 ## 当前仓库状态 - Jekyll 静态站点,使用 Ruby `3.2.5` 和 Bundler `2.5.10` - 当前在 `_data/actors/` 下提交了 `1062` 条行为者 YAML 记录 - 当前在 `_malware/` 下提交了 `271` 个恶意软件页面 - 没有 Node、TypeScript、包管理器或传统的单元测试框架 - 验证通过 Ruby 脚本以及 `bundle exec jekyll build --safe` 完成 ## 仓库布局 ``` _data/actors/ Canonical threat actor metadata _data/generated/ Generated JSON artifacts used by the UI and API _threat_actors/ Threat actor pages synchronized from YAML _malware/ Generated malware/tool pages and metadata _layouts/ Shared Jekyll layouts _includes/ Shared UI includes, including search/filter UI api/ Public static JSON API wrappers assets/css/style.scss Main stylesheet scripts/ Importers, generators, validators, and helpers docs/ Supporting docs for API, schema, and data flows schemas/ JSON schemas for generated artifacts ``` ## 安装与设置 从仓库根目录运行: ``` gem install bundler -v 2.5.10 bundle install ``` ## 本地开发 在本地启动站点服务: ``` bundle exec jekyll serve ``` 构建站点但不启动服务: ``` bundle exec jekyll build --safe ``` ## 核心工作流 正常的数据流程为: 1. 在 `_data/actors/*.yml` 中导入或编辑行为者源数据 2. 需要时使用 `ruby scripts/generate-pages.rb --force` 同步页面 3. 使用 `ruby scripts/generate-indexes.rb` 重新生成索引 4. 使用 `ruby scripts/validate-content.rb` 验证内容 5. 使用 `ruby scripts/validate-json-schemas.rb` 验证生成的 schema 6. 使用 `bundle exec jekyll build --safe` 确认站点构建成功 常用命令: ``` ruby scripts/generate-pages.rb --force ruby scripts/generate-indexes.rb ruby scripts/validate-content.rb ruby scripts/validate-json-schemas.rb bash scripts/validate.sh ``` ## 导入工作流 标准的自动化入口是 `scripts/import-automated-sources.rb`。 在不修改行为者数据的情况下预览自动导入: ``` ruby scripts/import-automated-sources.rb ``` 应用自动导入,重新生成输出并验证内容: ``` ruby scripts/import-automated-sources.rb --apply ``` 仅运行单一来源: ``` ruby scripts/import-automated-sources.rb --source malpedia --apply ``` 自动化运行器目前支持的基于公开快照的来源包括: - `misp-galaxy` - `ransomlook` - `etda-thaicert` - `malpedia` - `microsoft-threat-actor-list` - `apt-groups-operations` - `aptnotes` - `ransomware-tool-matrix` - `curated-intel-moveit-transfer` - `ransomware-vulnerability-matrix` - `russian-apt-tool-matrix` 分析人员备注与公开自动化运行器是刻意分离的: ``` ruby scripts/import-analyst-notes.rb plan ruby scripts/import-analyst-notes.rb import ``` 更多导入器详情:`docs/importers.md`、`docs/data-flows.md`、`scripts/README.md` ## 静态 API 站点在 `api/` 下发布静态 JSON。主要接口包括: - `api/threat-actors.json` - `api/recently-updated.json` - `api/campaigns.json` - `api/malware.json` - `api/malware_index.json` - `api/attack-mappings.json` - `api/references.json` - `api/iocs.json` - `api/ioc-lookup.json` - `api/ioc-types.json` - `api/facets.json` API 详情:`docs/api.md` ## 验证与 CI 本仓库不使用传统的测试套件。实际上,验证意味着: - `ruby scripts/validate-content.rb` - `ruby scripts/validate-json-schemas.rb` - `bundle exec jekyll build --safe` CI 工作流还会重新生成页面和索引,解析构建好的 API JSON,并检查 schema 和内容的退化。 ## 贡献者编辑规则 - 将 `_data/actors/*.yml` 视为权威的行为者元数据层 - 保持行为者 YAML 的 `url`、页面文件路径和页面的 `permalink` 对齐 - 使用双引号 YAML 字符串以匹配现有数据集 - 除非需要进行更广泛的格式更改,否则将 `aliases` 和 `sector_focus` 保持在一行内 - 不要编辑 `_site/` 中生成的输出 - 更改内容后,运行 `ruby scripts/validate-content.rb` - 更改布局、include、CSS 或配置后,运行 `bundle exec jekyll build --safe` ## 文档索引 - `docs/api.md` - 静态 API 接口和字段 - `docs/data-flows.md` - 权威源层和导入器流程 - `docs/importers.md` - 特定导入器的行为和防护措施 - `docs/schema.md` - 行为者 schema 说明 - `scripts/README.md` - 脚本快速参考和用法示例 - `AGENTS.md` - 针对编码代理的仓库特定指南 ## 贡献指南 欢迎贡献。对于大多数更改: 1. 编辑或导入源数据 2. 根据需要重新生成页面和索引 3. 运行验证 4. 提交包含更改的源文件和生成制品的 pull request 如果您要添加新的导入器或更改源归属行为,还请更新 `docs/` 和 `scripts/README.md` 中的相关文档。
标签:GitHub Pages, Homebrew安装, IOC指标, Jekyll, JSON API, Ruby, Ruby, YAML, 威胁分析, 威胁情报, 威胁行为者, 安全库, 安全运营, 开发者工具, 开源框架, 恶意软件, 情报共享, 战役追踪, 扫描框架, 持续集成, 知识库, 知识库, 网络安全, 自动化侦查工具, 隐私保护, 静态网站