muchdogesec/stix4doge
GitHub: muchdogesec/stix4doge
为 DOGESEC 产品线生成并维护符合 STIX 2.1 规范的持久化威胁情报对象,通过 CI 自动同步到对象存储以供下游消费。
Stars: 2 | Forks: 0
# stix4doge
## 概述

本仓库用于生成 DOGESEC 产品所使用的 STIX 对象。
## 代码生成器
`generators/` 目录中的 Python 脚本用于生成本仓库中的 STIX 对象。
如果您只想获取本仓库中已有的 STIX 对象副本,则无需执行这些步骤。
如果您确实想要添加新对象或修改现有对象,请按照以下方式安装代码:
```
# clone 最新代码
git clone https://github.com/muchdogesec/stix4doge
# 创建 venv
cd stix4doge
python3 -m venv stix4doge-venv
source stix4doge-venv/bin/activate
pip3 install requirements.txt
```
进行您的修改。
然后根据需要运行每个脚本。
```
rm -rf objects && \
python3 generators/identity.py && \
python3 generators/marking-definition.py
```
## GitHub Actions
本仓库包含一个工作流,每当有 commit 合并到 `main` 分支时,它会自动将 JSON 对象同步到 S3/R2。
- 工作流文件:[`.github/workflows/s3-sync.yml`](/Users/lullah/dev/dogesec/stix4doge/.github/workflows/s3-sync.yml)
- 触发条件:推送到 `main` 分支且更改了 `objects/*/*.json`
- 同步范围:`objects/*/*.json`
- 目标前缀:`stix4doge/`
- 行为:上传新增或更改的文件,并删除已移除的文件,以便 bucket 在 `stix4doge/` 下的这些路径中与仓库保持一致
- GitHub 环境:`s3_env`
该工作流需要在 `s3_env` 中配置以下环境密钥(secret):
- `CLOUDFLARE_ACCOUNT_ID`
- `CLOUDFLARE_ACCESS_KEY_ID`
- `CLOUDFLARE_ACCESS_KEY_SECRET`
- `S3_BUCKET_NAME`
## 关于 UUID 的说明
请注意,本仓库中所有的 SDO 和 SMO `id` 都是由命名空间 `1abb62b9-e513-5f55-8e73-8f6d7b55c237` 生成的。这是一个随机生成的 UUIDv4。它用于确保本仓库中的代码生成的对象在每次更新时都具有持久的 UUID。
## 许可证
[Apache 2.0](/LICENSE)。
## 实用的辅助工具
* 现有的 STIX 2.1 schema:[cti-stix2-json-schemas](https://github.com/oasis-open/cti-stix2-json-schemas):OASIS TC 开放仓库:STIX 2 的非规范性 schema 和示例
* 生成 STIX 2.1 扩展:[stix2 Python 库](https://stix2.readthedocs.io/en/latest/)
* 对象的 STIX 2.1 规范:[STIX 2.1 文档](https://docs.oasis-open.org/cti/stix/v2.1/stix-v2.1.html)
标签:Python, STIX, 威胁情报, 开发者工具, 数据生成, 无后门, 漏洞探索, 自动化同步, 逆向工具