| name | poc_forge |
| description | PoC 锻造——生成 PoC 骨架、AI 填充检测逻辑、语法验证,输出完整可执行 PoC 脚本 |
| version | 2.0.0 |
| author | PenTestClaw |
| tags | ["poc","exploit","generator","vulnerability"] |
PoC 锻造 (poc-forge)
职责
为指定 CVE 生成完整可执行的 PoC 检测脚本:
- 生成骨架 → 标准化 PoC 类结构(继承 PoCBase)
- AI 填充 → AI 根据漏洞知识写入
check() 的真实 payload 和判断逻辑
- 语法验证 → 自动检查 import、类继承、必需方法
- 存入 checks/ → 供 mass-verify 调用
使用方法
生成 PoC 骨架(等待 AI 填充)
python3 scripts/poc_forge.py --cve CVE-2024-21762 \
--name "FortiOS Out-of-Bound Write" \
--severity CRITICAL --cvss 9.8 \
--affected "FortiOS 7.4.0-7.4.2" \
--output-dir scripts/checks/
直接写入完整 PoC(AI 一步到位)
python3 scripts/poc_forge.py --cve CVE-2024-21762 \
--name "FortiOS Out-of-Bound Write" \
--severity CRITICAL --cvss 9.8 \
--affected "FortiOS 7.4.0-7.4.2" \
--output-dir scripts/checks/ \
--complete
验证 PoC 脚本
python3 scripts/poc_forge.py --verify scripts/checks/cve_2024_21762_check.py
PoC 标准结构
class CVE_XXXX_XXXXX(PoCBase):
CVE_ID = "CVE-XXXX-XXXXX"
SEVERITY = "CRITICAL"
CVSS = 9.8
DESCRIPTION = "..."
AFFECTED = "..."
PAYLOADS = [...]
INDICATORS = [...]
def check(self, target, port=None):
\"\"\"
无害验证方法 — 只检测漏洞是否存在,不执行利用
返回: {"vulnerable": bool, "detail": str}
\"\"\"
...
AI 指令
- 收到 CVE 详情后,先调用
poc_forge.py 生成骨架
- 读取骨架文件,用你的漏洞知识完整填充
PAYLOADS、INDICATORS 和 check() 方法
- 填充的
check() 必须是无害验证——只检测不利用
- 完成后用
--verify 参数验证语法正确性
- 最终 PoC 存放在
scripts/checks/ 目录,文件名为 cve_xxxx_xxxxx_check.py
安全注意事项
- PoC 的
check() 方法只做检测,不做利用
- 不包含反弹 shell、文件上传等危险 payload
- 验证逻辑优先使用版本比对、特征匹配等无害方式