AI 驱动的源代码安全扫描工作台:5 个模型工具(start/finding/status/report/list)、/hawkeye Web UI 和 JSON/Markdown/HTML 漏洞报告;零依赖 Cordis 插件,可作 agent preset 或 npm 包安装。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:liuqingman/dsh-hawkeye-scan#path:/npm
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness (DSH) 的源码安全扫描插件:对任意源码目录发起 AI 驱动的安全扫描,逐条落盘漏洞(Markdown + YAML frontmatter),并生成 JSON / Markdown / HTML 漏洞报告,附网页工作台可视化。
基于 鹰眼(Hawkeye)AI 代码安全诊断平台 的流水线思路(Recon → Hunter → Dedup → Validator → Report),漏洞产物格式与平台后端 artifacts.py 完全一致,可直接喂给平台入库。
功能
| 能力 | 说明 |
|---|---|
hawkeye_scan_start |
初始化扫描任务(校验目标目录、建 scan_runs/<task>/ 工作区) |
hawkeye_scan_finding |
逐条写入漏洞 → findings/F-XXX.md(frontmatter 顺序与签名公式与平台一致) |
hawkeye_scan_status |
记录/查询流水线阶段(recon / hunt / dedup / review / calibrate / report) |
hawkeye_scan_report |
汇总生成 report.json / report.md / report.html |
hawkeye_scan_list |
列出所有扫描任务 |
| 网页工作台 | http://<dsh-host>:<port>/hawkeye — 任务列表、漏洞表格、报告页 |
- 纯 JS 实现(内置 SHA-256、手写 YAML frontmatter),零外部依赖,无 Node 包版本耦合。
- 签名公式:
sha256(norm_title | cwe | primary_file)[:16](与 Anthropic defending-code-reference-harness 一致的指纹方案)。
安装
方式 A:Agent Preset(推荐,即拷即用)
- 将本目录(含
agent.cordis.yml、hawkeye-scan-plugin.cjs、preset.yml、skills/)整体复制到${DSH_HOME:-$HOME/.dsh}/.agent-presets/hawkeye-scan-workbench/。 - 在 DSH Web UI 新建会话,模式选择 「鹰眼扫描工作台」。
- 会话内即出现 5 个
hawkeye_scan_*工具,浏览器打开http://127.0.0.1:13336/hawkeye查看工作台。
说明:
agent.cordis.yml基于官方cordis(创造模式)preset 复制而来,追加了一行hawkeye-scan → ./hawkeye-scan-plugin.cjs。
方式 B:npm 包(工程化分发)
npm install hawkeye-scan-workbench
在 host composition 或 agent preset 的 cordis.yml 中追加一行:
- id: hawkeye-scan
name: 'hawkeye-scan-workbench'
(bare 包名按 installed-host base 解析;不发布任何服务,无需 isolate realm。)
使用
1. hawkeye_scan_start(target_dir="/path/to/src", name="my-project")
→ task_id: scan-20260820-181053
2. (由 AI agent 调用 recon / hunter / review 等技能完成扫描推理)
3. hawkeye_scan_finding(task_id, title, severity, cwe, file, description, attack_chain, recommendation, ...)
→ finding_id: F-001(自动计算 signature)
4. hawkeye_scan_status(task_id, stage="hunt", note="...")
5. hawkeye_scan_report(task_id)
→ report.json / report.md / report.html
6. 浏览器打开 /hawkeye 可视化查看
扫描任务目录结构:
scan_runs/<task_id>/
├── task.json # 任务元数据 + 阶段记录 + findings 索引
├── findings/
│ └── F-001.md # Markdown + YAML frontmatter(机器可读 + 人可读)
├── report.json # 机器可读报告
├── report.md # 中文 Markdown 报告
└── report.html # 自包含网页报告
配置(环境变量)
| 变量 | 默认值 | 说明 |
|---|---|---|
HAWKEYE_SCAN_WORKSPACE |
/workspace/hawkeye/scan_runs |
扫描产物根目录 |
HAWKEYE_SCAN_SANDBOX_MODE |
danger-full-access |
shell/fs 沙箱模式;宿主有沙箱后端时建议 workspace-write |
安全与合规
- 插件是 Host 侧只读观测 + 任务管理:AI 扫描推理由 agent 技能链完成;插件负责确定性的落盘与报告渲染。
- 网页路由
/hawkeye/api/*为只读,task id 白名单校验(scan-[0-9-]+),无目录穿越。 - 仅在你已获授权的代码库上使用。
License
MIT
链接
同类插件
toby-bridges/api-relay-audit★ 875
从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。
SeaOf0/dsh-redteam-model★ 682
面向授权安全研究的 DSH 合集:九个工作模式(redteam 总控、渗透测试、代码审计、二进制分析、攻防评估、免杀对抗、应急溯源、云安全攻防、CTF 解题)与十五个运行时插件,设置页管理台支持一键部署、安装、更新与卸载。
howmp/dsh-pentest★ 607
面向 DeepSeek Harness 的授权渗透模式:以探索链路记录目标、线索、资产与漏洞,并在 Web 中可视化展示。
PerryLink/dsh-auto-review★ 235
审批链上的第二模型自动审查:只读审查子代理返回带理由的 allow/deny 结构化裁决,默认 fail-closed。
NanmiCoder/dsh-auto-mode★ 164
在 Workspace Write 与 Full access 之间增加 Auto 权限档:日常操作留在官方 workspace-write 沙箱内,由当前会话模型复核升权与破坏性调用,精确的越界访问按次放行一次,意图不明时询问,命中关键路径则拒绝。
PerryLink/dsh-permission-rules★ 120
Claude Code 风格的声明式权限规则:按序 allow/deny/ask 的 YAML 规则,在 tools/pre-execute 瀑布上匹配工具名、参数、工作区路径与 agent 身份,带完整会话日志审计、干跑模式与热重载。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。