Nox-HQ/nox-plugin-threat-enrich
GitHub: Nox-HQ/nox-plugin-threat-enrich
一个Nox安全扫描器插件,将源代码漏洞检测结果同时映射到CWE、OWASP Top 10和MITRE ATT&CK三大分类标准,为安全发现提供统一的威胁情报上下文和可操作的修复建议。
Stars: 0 | Forks: 0
# nox-plugin-threat-enrich
**结合 CWE、OWASP Top 10 和 MITRE ATT&CK 元数据的威胁情报增强。**
## 概述
`nox-plugin-threat-enrich` 是一个 Nox 安全扫描器插件,用于为安全发现提供威胁情报上下文。它能检测源代码中的漏洞模式,并为每个发现标注相关的 CWE 标识符、OWASP Top 10 2021 类别、MITRE ATT&CK 技术 ID 以及可操作的修复指南——所有这些都在单次扫描中完成。
没有上下文的安全发现只是噪音。一个原始的“检测到 SQL 注入”发现虽然能告诉开发者出了问题,但却无法为合规团队、威胁情报分析师和应急响应人员提供他们所需的信息。该插件通过将每个检测到的模式映射到安全团队实际使用的分类标准来弥补这一差距:CWE 用于漏洞分类,OWASP Top 10 用于 Web 应用程序风险分类,而 MITRE ATT&CK 用于攻击者行为映射。
该插件支持扫描 Go、Python、JavaScript 和 TypeScript 源文件,涵盖四个增强类别。它以被动只读模式运行,生成确定性的结果,且不需要任何外部威胁情报源或 API 调用。
## 使用场景
### 用于合规报告的统一漏洞分类标准
您的安全团队需要使用 CWE 标识符进行 NIST 合规报告,使用 OWASP 类别进行 PCI DSS 报告,并使用 ATT&CK 技术进行威胁防御。该插件生成的发现同时包含所有三种分类标准,从而消除了手动交叉参照并加速了合规报告的生成。
### 威胁导向的开发
您的开发团队不仅想了解存在哪些漏洞,还想了解攻击者是如何利用它们的。每个发现都包含 MITRE ATT&CK 技术 ID(例如,T1059 用于命令注入,T1110 用于凭证访问),将代码层面的模式与现实世界的攻击活动联系起来,帮助开发者理解威胁态势。
### 自动化安全指标仪表板
您的 CISO 需要一个仪表板,以展示按 OWASP Top 10 类别和 CWE 级别划分的漏洞分布情况。该插件生成的结构化发现带有统一的元数据字段,可以直接输入到 SIEM 工具、安全仪表板和 GRC 平台中,无需手动增强。
### 多框架风险评估
您的组织受多个引用不同漏洞分类标准的合规框架约束。该插件将每个发现同时映射到 CWE、OWASP 和 ATT&CK,因此单次扫描即可满足 NIST 800-53、OWASP ASVS、PCI DSS 以及基于 MITRE 的威胁模型的报告要求。
## 5 分钟演示
### 前置条件
- Go 1.25+
- 已安装 [Nox](https://github.com/Nox-HQ/nox)
### 快速开始
1. **安装插件**
nox plugin install Nox-HQ/nox-plugin-threat-enrich
2. **创建包含可增强模式的测试文件**
mkdir -p demo-enrich && cd demo-enrich
cat > app.py <<'EOF'
import hashlib
import subprocess
from flask import Flask, request
app = Flask(__name__)
@app.route("/search")
def search():
term = request.args["q"]
cursor = app.db.cursor()
cursor.execute("SELECT * FROM items WHERE name = '%s'" % term)
return cursor.fetchall()
@app.route("/hash")
def hash_password():
pwd = request.form["password"]
return hashlib.md5(pwd.encode()).hexdigest()
@app.route("/run")
def execute():
cmd = request.args["cmd"]
subprocess.call(cmd, shell=True)
api_key = "sk-prod-a1b2c3d4e5f6g7h8i9j0"
EOF
3. **运行扫描**
nox scan --plugin nox/threat-enrich demo-enrich/
4. **查看发现**
nox/threat-enrich scan completed: 4 findings
ENRICH-001 [HIGH] CWE-categorizable vulnerability: SQL Injection:
cursor.execute("SELECT * FROM items WHERE name = '%s'" % term)
Location: demo-enrich/app.py:11
CWE: CWE-89
OWASP: A03:2021-Injection
Remediation: Use parameterized queries or prepared statements instead of string concatenation
ENRICH-002 [MEDIUM] OWASP A02:2021 Cryptographic Failures pattern:
return hashlib.md5(pwd.encode()).hexdigest()
Location: demo-enrich/app.py:17
CWE: CWE-327
OWASP: A02:2021-Cryptographic Failures
Remediation: Use strong, modern cryptographic algorithms (AES-256, SHA-256+); avoid MD5, SHA1, DES, RC4
ENRICH-001 [HIGH] CWE-categorizable vulnerability: Command Injection:
subprocess.call(cmd, shell=True)
Location: demo-enrich/app.py:21
CWE: CWE-78
OWASP: A03:2021-Injection
ATT&CK: T1059
Remediation: Avoid shell execution with user input; use safe command APIs with argument arrays
ENRICH-004 [LOW] Common vulnerability pattern: Hardcoded Secret:
api_key = "sk-prod-a1b2c3d4e5f6g7h8i9j0"
Location: demo-enrich/app.py:23
CWE: CWE-798
OWASP: A07:2021-Identification and Authentication Failures
ATT&CK: T1552
Remediation: Use environment variables or a secrets manager; never embed secrets in source code
## 规则
| 规则 ID | 描述 | 严重性 | 置信度 | CWE | OWASP Top 10 | ATT&CK |
|------------|-------------|----------|------------|-----|-------------|--------|
| ENRICH-001 | CWE-categorizable vulnerability: SQL Injection | High | High | CWE-89 | A03:2021-Injection | -- |
| ENRICH-001 | CWE-categorizable vulnerability: Cross-Site Scripting | High | High | CWE-79 | A07:2021-XSS | -- |
| ENRICH-001 | CWE-categorizable vulnerability: Command Injection | High | High | CWE-78 | A03:2021-Injection | T1059 |
| ENRICH-002 | OWASP A01:2021 Broken Access Control pattern | Medium | Medium | CWE-284 | A01:2021-Broken Access Control | -- |
| ENRICH-002 | OWASP A02:2021 Cryptographic Failures pattern | Medium | Medium | CWE-327 | A02:2021-Cryptographic Failures | -- |
| ENRICH-003 | ATT&CK Credential Access technique (T1110) | Medium | High | CWE-522 | A07:2021 | T1110 |
| ENRICH-003 | ATT&CK Discovery technique: File and Directory Discovery (T1083) | Medium | High | CWE-200 | -- | T1083 |
| ENRICH-003 | ATT&CK Execution technique: Command and Scripting Interpreter (T1059) | Medium | High | CWE-78 | A03:2021-Injection | T1059 |
| ENRICH-004 | Common vulnerability: Insecure Deserialization | Low | Medium | CWE-502 | A08:2021 | -- |
| ENRICH-004 | Common vulnerability: Hardcoded Secret | Low | Medium | CWE-798 | A07:2021 | T1552 |
## 支持的语言 / 文件类型
| 语言 | 扩展名 |
|----------|-----------|
| Go | `.go` |
| Python | `.py` |
| JavaScript | `.js` |
| TypeScript | `.ts` |
## 配置
该插件具有合理的默认设置,无需配置。它会递归扫描整个工作区,跳过 `.git`、`vendor`、`node_modules`、`__pycache__` 和 `.venv` 目录。
将 `workspace_root` 作为输入传递以覆盖默认的扫描目录:
```
nox scan --plugin nox/threat-enrich --input workspace_root=/path/to/project
```
## 安装
### 通过 Nox (推荐)
```
nox plugin install Nox-HQ/nox-plugin-threat-enrich
```
### 独立安装
```
git clone https://github.com/Nox-HQ/nox-plugin-threat-enrich.git
cd nox-plugin-threat-enrich
make build
```
## 开发
```
# 构建 plugin 二进制文件
make build
# 运行带有 race 检测的测试
make test
# 运行 linter
make lint
# 清理构建 artifacts
make clean
# 构建 Docker 镜像
docker build -t nox-plugin-threat-enrich .
```
## 架构
该插件遵循标准的 Nox 插件架构,通过 Nox Plugin SDK 经由 stdio 进行通信。
1. **文件发现**:递归遍历工作区,过滤出受支持的源文件扩展名(`.go`、`.py`、`.js`、`.ts`)。
2. **带增强的模式匹配**:逐行扫描每个源文件。当模式匹配时,将生成带有规则定义中完整增强元数据的发现:
- `cwe` -- CWE 标识符(例如,CWE-89)
- `owasp_top10` -- OWASP Top 10 2021 类别(例如,A03:2021-Injection)
- `mitre_attack` -- MITRE ATT&CK 技术 ID(例如,T1059)
- `remediation` -- 可操作的修复指南
3. **多分类规则**:每条规则都包含所有适用的分类映射。命令注入模式会同时映射到 CWE-78、OWASP A03:2021-Injection 和 ATT&CK T1059。这不是一个单独的增强步骤——这些映射是内置在规则定义中的。
4. **确定性输出**:所有分析均使用带有静态增强元数据的预编译正则表达式模式。不会查询任何外部威胁情报源。
## 贡献
欢迎贡献。请在 [GitHub 仓库](https://github.com/Nox-HQ/nox-plugin-threat-enrich) 中开启 issue 或提交 pull request。
1. Fork 该仓库
2. 创建一个 feature 分支 (`git checkout -b feature/my-feature`)
3. 为您的更改编写测试
4. 确保 `make test` 和 `make lint` 通过
5. 提交 pull request
## 许可证
Apache-2.0
标签:Cloudflare, CMS安全, EVTX分析, Go语言, JavaScript, MITRE ATT&CK, NIST合规, Nox插件, OWASP Top 10, PCI DSS, Python, SAST, SQL注入检测, TypeScript, 代码安全, 合规报告, 威胁情报, 威胁知情防御, 安全元数据标注, 安全开发生命周期, 安全扫描, 安全插件, 开发者工具, 无后门, 日志审计, 时序注入, 漏洞分类, 漏洞情报富化, 漏洞枚举, 盲注攻击, 程序破解, 结构化查询, 自动化安全, 跨平台扫描, 错误基检测, 静态代码分析