Stratify-Systems/ThreatSIM
GitHub: Stratify-Systems/ThreatSIM
ThreatSim 是一个声明式的 CI/CD 原生安全验证与 Fuzzing 引擎,通过在流水线中模拟真实攻击来持续验证安全防御控制措施的有效性。
Stars: 1 | Forks: 1
# 🛡️ ThreatSim
[](https://golang.org)
[](https://opensource.org/licenses/MIT)
**ThreatSim** 是一个为现代 CI/CD pipeline 设计的声明式安全验证与 fuzzing 引擎。
ThreatSim 不会像传统的漏洞扫描器那样不加区分地扫描您的基础设施,而是作为一个有针对性的**验证引擎**。它将您的应用程序视为一个黑盒,并运行确定性的、多 payload 的安全模拟,以确保您的安全控制(如认证、速率限制、headers、输入验证)正在按预期积极发挥作用。
## ✨ 核心功能
- 📜 **声明式安全 (Policy-as-Code):** 以简单易读的 JSON 或 YAML 格式编写测试用例。
- 🔌 **插件架构:** 使用内置或自定义的 Go 插件执行复杂的、有状态的安全攻击(如 Bruteforcing、SQLi 和 XSS Fuzzing),并将其完全抽象为简单的 YAML 配置块。
- 💥 **自动化 Fuzzing:** 只需定义一次 endpoint 的参数,即可让智能插件自动向所有字段(查询参数、JSON body 等)注入 payload。
- ⚡ **独立执行:** 每个模拟均独立执行。一项测试的失败不会中断整个测试套件。
- 📊 **丰富的验证报告:** 生成人类可读且对 CI/CD 友好的输出,总结预期与实际的行为。
- 🛑 **Pipeline 原生:** 快速失败机制,如果任何测试失败,将返回非零退出码,在您的自动化 pipeline 中充当严格的看门人。
- ⚙️ **零配置执行:** 使用全局 `threatsim.yaml` 配置,无需再重复输入繁琐的 CLI 参数。
## 🚀 快速开始
### 1. 安装
确保您的系统已安装 Go 1.24+。
```
git clone https://github.com/suryatk2007/threatsim.git
cd threatsim
go build -o threatsim
```
### 2. 配置您的工作区
在项目根目录下创建一个 `threatsim.yaml` 配置文件,以定义您的目标和模拟路径:
```
target_url: "https://jsonplaceholder.typicode.com"
file: "simulations/security_tests.yaml"
```
### 3. 编写您的安全模拟
创建您的测试文件(例如 `simulations/security_tests.yaml`)。
```
version: "1.0"
simulations:
# Example 1: Smart SQLi Automated Fuzzing
- name: "SQL Injection Smart Scan"
plugin: "sqli" # Automatically injects payloads into all query params and body fields!
config:
path: "/api/users"
method: "POST"
query_params:
id: "100"
role: "user"
body:
username: "admin"
email: "test@example.com"
# Example 2: Complex Plugin Execution
- name: "Admin Login Bruteforce Test"
plugin: "bruteforce" # Hands execution off to the specialized Bruteforce Go Plugin
config:
path: "/login"
username: "admin"
```
### 4. 执行
从终端运行 ThreatSim。它将自动加载您的配置并执行模拟。
```
./threatsim run
```
## 🗺️ 路线图
- [x] 基础的 HTTP 执行与状态码验证
- [x] Header 与 Body 验证
- [x] Payload 扩展 (Fuzzing)
- [x] 可扩展的 Go 插件架构
- [ ] 并发执行引擎
- [ ] SARIF / JUnit XML 报告输出
## 📚 文档
如需深入了解其架构、设计决策以及如何扩展 ThreatSim,请阅读我们的[内部文档](./internals.md)。
标签:EVTX分析, Homebrew安装, 日志审计