确定性代码安全审查:40+ 规则、密钥熵检测、staged diff 审查、SARIF 导出、基线接受、SBOM-lite 依赖清单与健康自检。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-code-security
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:STARDUSTLC666/dsh-code-security
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。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
0.3.6 更新(2026-09-28)
扫描参数写错时明确报错,避免把 paths、files 或空目标误当成扫描整个工作区。修复标准模式中结果卡片误显示“0 个文件、未通过”的问题;文件数量、结论与问题列表现在使用实际扫描结果。
验证宿主:官方源码构建的 Harness 0.2.0-rc.1(commit 407e65c8)+ Node 24.16.0(2026-09-28)。31 项插件测试在隔离环境全部通过;同一个宿主里 18 个插件共同加载,注册 10 个工具,工具 schema 与健康检查契约通过。本轮未启用真实端口与外部服务。
让 agent 每次改完代码,先过一道本地安全扫描,修复完了才准交付。
DeepSeek Harness AI 代码安全审查插件:确定性规则引擎 + git diff 增量审查 + 修复闭环 + 策略门禁。借鉴 Codex 安全技能的方法论(漏洞分级、证据优先、供应链分层、Agent 安全),实现为可复现工具。零运行时依赖。
工具
| 工具 | 作用 | 写操作 |
|---|---|---|
secure_scan |
扫描文件/目录,输出 CWE/严重度/行号/代码片段证据 | 写状态 |
secure_diff |
只审查 git diff 新增行 | 写状态 |
secure_fix_verify |
修复后复扫:关闭 / 仍存在 / 新引入 | 写状态 |
secure_report |
按规则/文件聚合 + 门禁结论 | 否 |
secure_export |
导出 SARIF 2.1.0 / Markdown 报告 | 写文件审批 |
secure_baseline |
接受当前已知问题为基线,之后只按新增判定 | 审批门 |
secure_deps |
SBOM-lite:解析依赖清单与版本约束风险 | 否 |
secure_policy_show |
查看 .code-security.json 策略 | 否 |
secure_policy_set |
写入策略(排除/忽略/阈值) | 审批门 |
规则覆盖(40+)
- 注入:eval / exec / shell=True / SQL 拼接 / innerHTML
- 反序列化:pickle / yaml.load / ObjectInputStream / Marshal / unserialize
- 加密:弱哈希、ECB、硬编码 IV/密钥、JWT none、TLS 校验关闭、Shell TLS 绕过(curl -k / wget --no-check-certificate / git sslVerify=false)
- 凭据:硬编码密码、令牌、私钥、高熵密钥
- 配置:chmod 777、Docker privileged / latest、npm audit=false、CORS *
- 泄露:敏感日志、错误堆栈外发、路径穿越、SSRF
发现只包含客观证据与 CWE 编号,不附修复建议——修复方案由 agent 基于证据生成。
兼容性
2026-09-13 修复:保留宿主 subprocess.spawn 的服务对象,避免方法独立传递后因 this 丢失而报错。该路径已在隔离宿主进程服务中实测通过。secure_diff 已通过真实宿主进程服务读取隔离 Git 仓库差异,正确识别变更文件和新增行。
安装
dsh plugin --profile web add dsh-code-security
卸载
dsh plugin --profile web remove dsh-code-security
卸载后重启 Web 服务。如需彻底清理,可再手动删除自己 profile cordis.patch.yml 中覆盖的插件行。
使用
secure_scan { target: src }
secure_diff { base: HEAD }
secure_fix_verify { target: src }
secure_baseline { reason: 历史遗留 }
secure_deps { target: . }
策略示例(.code-security.json):
{
"version": 1,
"exclude": ["vendor/**", "generated/**"],
"ignore": [{ "ruleId": "SEC-206", "file": "test/**", "reason": "非安全敏感" }],
"failOn": "high"
}
工程
pnpm test # 构建 + 24 个测试
MIT
License
MIT(见 LICENSE)
链接
同类插件
toby-bridges/api-relay-audit★ 865
从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。
SeaOf0/dsh-redteam-model★ 655
面向授权安全研究的 DSH 合集:九个工作模式(redteam 总控、渗透测试、代码审计、二进制分析、攻防评估、免杀对抗、应急溯源、云安全攻防、CTF 解题)与十五个运行时插件,设置页管理台支持一键部署、安装、更新与卸载。
howmp/dsh-pentest★ 571
面向 DeepSeek Harness 的授权渗透模式:以探索链路记录目标、线索、资产与漏洞,并在 Web 中可视化展示。
PerryLink/dsh-auto-review★ 219
审批链上的第二模型自动审查:只读审查子代理返回带理由的 allow/deny 结构化裁决,默认 fail-closed。
NanmiCoder/dsh-auto-mode★ 164
在 Workspace Write 与 Full access 之间增加 Auto 权限档:日常操作留在官方 workspace-write 沙箱内,由当前会话模型复核升权与破坏性调用,精确的越界访问按次放行一次,意图不明时询问,命中关键路径则拒绝。
PerryLink/dsh-permission-rules★ 115
Claude Code 风格的声明式权限规则:按序 allow/deny/ask 的 YAML 规则,在 tools/pre-execute 瀑布上匹配工具名、参数、工作区路径与 agent 身份,带完整会话日志审计、干跑模式与热重载。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。