jashidsany/sentinelprobe
GitHub: jashidsany/sentinelprobe
SentinelProbe 是一个用于授权环境下执行 AI 提示词注入和 agent 边界安全测试的 CLI 工具,通过可重复的 YAML 测试用例和确定性评分帮助团队评估 AI 应用的安全防护能力。
Stars: 1 | Forks: 0
# SentinelProbe
SentinelProbe 是一个 CLI 工具,用于授权的 AI 提示词注入(prompt-injection)和 agent 边界测试。它针对 AI 助手、企业搜索工具、基于浏览器的 AI 应用、HTTP 测试垫片和本地 CLI agent 运行可重复的 YAML 测试用例,然后通过确定性检查对响应进行评分。
仅在获得批准的系统、获批的账户、虚假文档和虚假密钥上使用它。
## 安装
从源码安装:
```
python3 -m pip install .
```
用于隔离环境安装:
```
pipx install .
```
用于浏览器自动化:
```
python3 -m pip install '.[browser]'
python3 -m playwright install chromium
```
在 PyPI 发布后:
```
pipx install sentinelprobe
```
## 快速开始
检查本地设置:
```
sentinelprobe doctor
sentinelprobe doctor --target claude-code
sentinelprobe doctor --target browser
```
列出内置套件:
```
sentinelprobe list-suites
```
列出目标预设:
```
sentinelprobe presets list
sentinelprobe presets show claude-code
sentinelprobe presets init glean-browser --output sentinelprobe-targets/glean-browser.json
```
运行本地 mock 基线:
```
sentinelprobe run --cases builtin --provider mock --verbose
```
使用仅响应默认值运行 Claude Code:
```
sentinelprobe claude-code
```
针对 Claude Code 运行基于文件的 coding-agent 提示词注入:
```
sentinelprobe claude-code --test agent-files --agent-files --verbose --only-findings --html-report
```
在冒烟测试期间限制成本:
```
sentinelprobe claude-code --test indirect --mutations --limit 5 --verbose --only-findings
```
创建 HTML 和 trace 产物:
```
sentinelprobe claude-code --test agent-files --agent-files --html-report --trace-file reports/agent_files_trace.txt
```
比较两份报告:
```
sentinelprobe compare --before reports/baseline.json --after reports/latest.json --html-report
```
在开发期间运行源码树回归检查:
```
python3 scripts/check.py
python3 scripts/check.py --build --wheel-smoke
```
## 测试套件
- `direct-basic`:基本的直接提示词注入测试用例。
- `direct-advanced`:高级的直接提示词注入测试用例。
- `direct`:基本加上高级的直接提示词注入测试用例。
- `indirect`:内联检索内容提示词注入测试用例。
- `agent-files`:基于文件的 coding-agent 提示词注入测试用例。
- `builtin`:所有内置测试用例。
使用 `--mutations` 来扩展定义了确定性变体的测试套件。
## Providers
- `mock`:本地安全基线。
- `http`:获批的 API 或内部测试垫片。
- `command`:围绕 CLI agent 的本地包装器。
- `browser`:由 Playwright 驱动的浏览器会话,用于获批的基于浏览器的 AI 工具。
## 预设
预设为常见目标类型提供了安全的入门命令和设置说明:
- `claude-code`
- `claude-code-agent-files`
- `glean-browser`
- `generic-http`
- `generic-browser`
- `custom-command`
## 报告
SentinelProbe 默认输出 JSON 报告。添加 `--html-report` 以获取可移植的审查产物,添加 `--trace-file` 以获取完整的提示词和响应证据。
检测结果采用以下分类:
- `pass`:未发现确定性问题。
- `review`:可疑的输出或不完整的安全处理,需要人工分类。
- `fail`:确定的不安全行为,包括虚假密钥泄露。
## 文档
详细的使用方法、provider 设置、用例格式、评分行为、浏览器工作流和 PyPI 说明详见 [docs/usage.md](docs/usage.md)。
测试用例 YAML 和 JSON 报告的 schema 记录在 [docs/schema.md](docs/schema.md) 中。
## 安全范围
- 仅使用获批的系统和账户。
- 使用虚假文档、虚假密钥和沙盒数据。
- 不要测试破坏性操作、凭证窃取、持久化、恶意软件或绕过逻辑。
- 将自动检测结果视为需要人工验证的分类信号。
标签:AI安全, Blue Team, Chat Copilot, DLL 劫持, Python, 人工智能, 大语言模型, 文档结构分析, 无后门, 特征检测, 用户模式Hook绕过, 逆向工具