WellKnitTech/ThreatActor.info
GitHub: WellKnitTech/ThreatActor.info
基于 Jekyll 构建的威胁情报静态知识库,聚合多个公开情报源的威胁行为者、恶意软件和 IOC 数据,并提供静态 JSON API 供下游安全工具集成调用。
Stars: 0 | Forks: 1
[](https://jekyllrb.com)
[](https://www.ruby-lang.org)
[](LICENSE)
[](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, 威胁分析, 威胁情报, 威胁行为者, 安全库, 安全运营, 开发者工具, 开源框架, 恶意软件, 情报共享, 战役追踪, 扫描框架, 持续集成, 知识库, 知识库, 网络安全, 自动化侦查工具, 隐私保护, 静态网站