一个基于 AI 的自动化 NPM 包安全测试工具。通过分析测试用例与 API 模式生成 Fuzzing Driver,并集成(或模拟)Jazzer.js 进行模糊测试以发现安全漏洞。
- 测试用例与 API 模式分析(需要 OpenAI API Key)
- 模板/LLM 生成 Fuzzing Driver
- 漏洞检测与报告生成(原型污染、代码注入、路径遍历等)
- 全流程自动化引擎(AutomationEngine,当前通过脚本演示)
npm install
npm run build
当前 CLI 提供以下命令:
- 状态检查
npm run start status
展示工具版本、环境与配置摘要等信息。
- 分析包并生成 API 模式(需要 OpenAI API Key)
# 将结果写入指定输出目录(默认 ./output)
npm run start analyze <package-name> \
--api-key <OPENAI_API_KEY> \
--output ./output \
--iterations 10000 \
--timeout 300
- 该命令会:
- 读取/验证 OpenAI API Key(命令行传入或配置文件)
- 提取测试用例并调用 LLM 分析 API 模式
- 将分析结果保存为:output/-analysis.json
支持两种方式:
- 命令行参数:
--api-key <OPENAI_API_KEY>
- 配置文件(默认路径):
~/.npm-security-tester/config.json
示例:
{
"api": {
"openai": {
"apiKey": "your-openai-api-key",
"model": "gpt-4"
}
},
"output": { "directory": "./output" },
"fuzzing": { "jazzer": { "timeout": 300000, "iterations": 10000 } }
}
当前 CLI 尚未直接挂接全流程自动化引擎(AutomationEngine)。可通过脚本快速演示完整流程:
node test-e2e.js
执行完成后将看到:
- 生成的 Drivers:output/drivers/
- 自动化报告:output/automation-report.json
提示:脚本会自动进行合成分析与模板驱动生成,并在本地环境下模拟/集成模糊测试运行。
- 分析结果:
output/<package>-analysis.json
- 驱动与元数据:
output/drivers/*.js
、*.meta.json
- 自动化报告:
output/automation-report.json
- 原型污染(Prototype Pollution)
- 代码注入(Code Injection)
- 路径遍历(Path Traversal)
- 资源/性能类问题(DoS/内存使用等)
- 将 AutomationEngine 挂接为 CLI 子命令(如 run/auto)
- 增强 API 模式合成策略,覆盖更多函数签名
- 丰富报告内容与可视化
欢迎提交 Issue/PR,一起完善工具能力与生态。