Skill: ronie-shi/agentic-security-base-skill (version 1.0.0)

--- name: security-audit description: 审计代码库、基础设施和代理AI系统的安全问题。涵盖传统安全（依赖漏洞、密钥检测、OWASP Top 10、SSL/TLS、文件权限）以及代理安全（提示注入扫描、身份欺骗检测、记忆污染检查、多代理通信审计、OWASP代理Top 10）。适用于扫描漏洞、检测硬编码密钥、审查代理工作区配置、检查提示注入向量或审计代理权限边界。 metadata: {"clawdbot":{"emoji":"🔒","requires":[],"os":[]}} --- <!-- 🦞 fanzhi-provenance --> > **ContentID**: `fz:skill:0e32bfd5:wsl_lobster:mpbfukzn` > **Owner**: 泛智生态 / Ronie & 泛智小龙虾 > **Provenance**: 2026-05-20 重构为纯知识范式（零代码块） > **Updated**: 2026-05-20 # Security Audit — 智能体安全原技能 > **设计**: 本 SKILL 不包含任何代码。以下内容是安全检测的知识体系、规则和模式描述。 > AI 智能体阅读后自行理解、设计并生成对应的检测命令。 --- ## 职责 当被要求做安全审计时，AI 智能体应当： 1. 读取本 SKILL 了解安全检测规则和模式 2. 识别目标环境中的文件类型和技术栈 3. 根据以下规则自行设计检测命令 4. 执行检测并分析输出 5. 给出结构化的安全报告 --- ## ① 传统安全扫描 ### 依赖审计 检测目标项目目录中是否存在以下依赖锁文件，存在则对每个文件执行对应的漏洞扫描： | 锁文件 | 扫描工具 | |--------|---------| | `package-lock.json` | `npm audit` | | `requirements.txt` | `pip-audit` | | `go.sum` | `govulncheck` | | `Cargo.lock` | `cargo audit` | | `Dockerfile` | `trivy fs --scanners vuln` | ### 密钥检测 检测以下模式的直接匹配。忽略 `node_modules/`, `.git/`, `vendor/` 目录。 - **AWS Access Key**: `AKIA` 开头的 20 位大写字母数字（`AKIA[0-9A-Z]{16}`） - **OpenSSH 私钥**: 包含 `BEGIN.*PRIVATE KEY` 的文本 - **OpenAI API Key**: `sk-` 开头后跟至少 20 个字母数字（`sk-[A-Za-z0-9]{20,}`） - **GitHub Token**: `ghp_` 开头后跟 36 个字母数字 - **Slack Token**: `xoxb-`, `xoxp-`, `xoxa-`, `xoxs-` 开头 - **通用 API Key/Secret**: 配置文件中 `api_key`, `api_secret`, `access_token`, `auth_token`, `bearer` 字面量 - **硬编码密码**: `password:` 或 `password =` 后跟非示例值 - **连接字符串**: `mongodb://`, `mysql://`, `postgres://`, `redis://` 包含凭证但不指向 localhost 或示例域名 检查 git 历史中是否有敏感信息（`git log -p --all | grep`），因为即使当前版本已删除，历史记录中仍有残留。 ### SQL 注入 检测数据库查询中是否存在字符串拼接。模式： - 使用 `f""`, `format()`, `%s`, `${}`, `+ "`, `concat()` 等方式拼接查询语句 - 未使用参数化查询（`parameterized`, `prepared`, `placeholder`） ### 硬编码凭证 检测源码中以下字面量的出现次数： - `admin.*password`, `password.*admin`, `default.*password` - 配置文件中的硬编码环境值（非 `example`, `placeholder`, `changeme`） ### XSS 检测前端模板中未转义的输出： - `innerHTML`, `dangerouslySetInnerHTML`, `v-html`, `{{{ }}}` - `document.write()`, `eval()`, `new Function()` ### CORS 配置 检测后端配置中是否存在 `Access-Control-Allow-Origin: *` 或 CORS 中间件设置为允许所有来源（`origin: true`）。生产环境只对公开只读 API 使用通配符，不应用于有 Cookie 或 Token 认证的接口。 ### SSL 配置 检测代码中是否存在 SSL 证书验证被禁用的场景： - Python: `verify=False` - Node.js: `rejectUnauthorized: false` - Go: `InsecureSkipVerify: true` - curl: `CURLOPT_SSL_VERIFYPEER=0` / `-k` 此类配置仅应出现在测试代码中。 ### 调试模式 检测配置文件中是否存在生产环境下不应开启的调试模式： - `DEBUG=True` / `DEBUG=true` / `NODE_ENV=development` ### HTTP 安全头 检测目标 URL 响应头中是否包含以下安全标头： - `Strict-Transport-Security`: max-age ≥ 31536000 - `Content-Security-Policy`: 有明确的 default-src 限制 - `X-Frame-Options`: `DENY` 或 `SAMEORIGIN` - `X-Content-Type-Options`: `nosniff` - `Referrer-Policy`: `strict-origin-when-cross-origin` ### 文件权限 检测以下不安全权限配置： - 全局可写文件（`find -perm -o=w`） - SSH 目录权限非 700，私钥权限非 600 - `~/.ssh/` 中文件权限问题 ### Pre-commit 钩子 建议为 git 仓库生成 pre-commit 钩子，在提交前拦截包含密钥或敏感信息的文件。钩子应检查暂存区（staged files）而非全部文件。 --- ## ② 代理安全扫描 ### ASI01 — 提示注入 扫描 Agent 工作区中的 `.md`, `.json`, `.txt` 文件，检测以下提示注入模式： - `ignore.*previous.*instructions` — 忽略之前的指令 - `you are now` / `new system prompt` — 系统提示覆盖 - `forget your` / `act as if` — 身份篡改 - `[SYSTEM]` / `SYSTEM_ADMIN_OVERRIDE` — 伪系统消息 - **零宽 Unicode 字符**：`\x{200B}`, `\x{200C}`, `\x{200D}`, `\x{FEFF}` — 隐藏文本注入 ### ASI02 — 工具权限 检查 `AGENTS.md`, `TOOLS.md` 中是否存在绕过安全限制的配置： - `sudo` 直接调用 - `chmod 777` 权限过宽 - `unrestricted.*shell` / `full.*access` 无限制访问 ### ASI03 — 身份验证 检查 Agent 是否配置了发送者身份验证机制： - `authorizedSenders` 白名单配置 - 抗身份欺骗规则（`verify.*identity`, `spoofing`） 缺失则可能被非所有者冒充调用。 ### ASI04 — 记忆污染 扫描 `MEMORY.md`, `memory/*.md`, `HEARTBEAT.md` 中以下异常： - 外部 URL 注入（gist, pastebin, hastebin 等未经验证的外部内容源） - 覆盖指令（`override`, `bypass.*safety`, `disable.*check`, `ignore.*rule`） 此类内容可能通过外部数据修改 Agent 的持久化记忆。 ### ASI05 — 供应链 检查安装的第三方 SKILL 中是否包含危险的执行模式： - `exec()`, `shell`, `subprocess`, `child_process` 调用 - 写入 `MEMORY.md`, `SOUL.md`, `write.*config` 的 SKILL - 缺少 `.clawhub/origin.json` 的 SKILL（来源不可验证） ### ASI06 — 边界规则 检查 Agent 的权限边界配置： - non-owner 权限分离（`non.owner.*refuse`, `only.*owner`） - 反说服规则（anti-gaslighting / concession limits） - 权限升级限制（`escalat.*stop`） ### ASI07 — 数据泄露 扫描 Agent 的配置文件中是否暴露了敏感信息： - API Key / Password / Token / Bearer 字面量 - SSH Key / PGP Key / Certificate 文件 - PII（SSN `xxx-xx-xxxx` 格式，信用卡号 `xxxx-xxxx-xxxx-xxxx` 格式） 排除 example, placeholder, REDACTED, changeme 等非敏感值。 ### ASI10 — 多代理通道 统计 Agent 配置中暴露的外部通信渠道数量： - Discord / Forum / Moltbook / Clawstr / Webhook 过多的外部通道增加了攻击面。 --- ## ③ 供应链与新兴威胁 ### OWASP 安全框架（五报告体系） | 框架 | 覆盖范围 | AI 参考方式 | |------|---------|------------| | OWASP LLM Top 10 v2.0 | LLM 应用安全基线 | 验证 LLM 配置合规性 | | OWASP Agentic Top 10 2026 | Agent 运行时安全 | 对应 ASI01-ASI10 检查 | | OWASP Agentic Skills Top 10 2026-03 | SKILL 层安全 | 评估第三方 Skill 风险 | | OWASP GenAI Data Security 21 Risks | 全链路数据安全 | 检查数据流转风险点 | | OWASP ML Security Top 10 | ML 系统安全 | 评估模型/训练安全 | ### 关键 CVE 以下 CVE 为 2025-2026 年公开的高风险漏洞，AI 检测目标项目中是否使用受影响组件： | CVE | 组件 | CVSS | 检测条件 | |-----|------|------|---------| | CVE-2026-44338 | PraisonAI | 9.8 | 项目中包含 `PraisonAI` 或 `praisal` 引用 → 确认版本是否>2.4.0 | | CVE-2026-27685 | SAP NetWeaver | 9.1 | 包含 `NetWeaver` 或 `SAP.*portal` → 建议打补丁 | | CVE-2019-17571 | Log4j 1.2 | 9.8 | `log4j` 版本为 1.x 或 2.x (<2.17) → 指令 RCE 风险 | | CVE-2026-7351 | Chrome MHTML | — | 影响 Chrome 浏览器 → 建议升级 | | CVE-2026-6539 | Notepad++ | — | 格式字符串漏洞 → 建议升级 | | CVE-2026-41940 | cPanel/WHM | — | 认证绕过 → 建议升级 | ### 已知漏洞版本范围 以下组件版本已知存在漏洞，检测目标项目中的版本声明文件： | 组件 | 安全版本起点 | 检测文件类型 | |------|------------|------------| | Log4j | 2.17.0+ | `pom.xml`, `build.gradle`, `log4j.properties` | | OpenSSL | 1.1.1w+ 或 3.0.13+ | `Dockerfile`, `.sh`, `Makefile` | | Nginx | 1.25.0+ | `Dockerfile`, `.yml` | | Node.js | 20.11.0+ | `.nvmrc`, `.node-version`, `Dockerfile` | | Python | 3.7+（3.6 及以下已 EOL） | `Dockerfile`, `requirements.txt`, `.yml` | ### 真实攻击案例 以下为 2026 年已发生的真实攻击，检测目标环境中是否存在对应攻击向量： - **ClawHavoc**（2026 年持续）：ClawHub 上 341 个恶意 SKILL 通过供应链传播。检测已安装 SKILL 的 origin.json 完整性、内存写入行为、危险执行调用 - **Fox Tempest**（2026 年 5 月）：恶意软件签名即服务，微软已取缔。参考微软安全公告确认受影响签名的软件 - **NTLM RCE**（2026 年 5 月，CrowdStrike）：Windows NTLM 认证栈 RCE。检测 NTLM 配置和相关注册表项 - **零宽注入**（持续）：隐藏 Unicode 字符被用于提示注入（`\x{200B}`, `\x{200C}`），Agent 应始终过滤零宽字符 --- ## ④ 安全编码参考 AI 在输出安全建议时应参考以下清单： **输入验证** - 所有用户输入应验证类型、长度、格式 - SQL 查询应使用参数化语句，禁止字符串拼接 - Shell 命令不应包含用户输入 - 文件路径应校验路径遍历（`../`） - HTML 输出应转义 **凭证管理** - API Key、密码、Token 应使用环境变量 - `.env` 文件应加入 `.gitignore` - 密钥应定期轮换 - 泄露密钥应立即撤销 **防御纵深** - 每层独立防御：输入验证 + 输出转义 + 参数化查询 + 最小权限 - 不依赖单层防御，假设任何一层都可能被绕过 --- ## References - [OWASP LLM Top 10 v2.0](https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-v2-0/) - [OWASP Agentic Top 10 2026](https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/) - [OWASP Agentic Skills Top 10](https://github.com/OWASP/www-project-agentic-skills-top-10) (March 2026) - [OWASP GenAI Data Security 21 Risks](https://genai.owasp.org/) (March 2026) — 全链路GenAI数据安全风险框架 - [Agents of Chaos — arXiv:2602.20021](https://arxiv.org/abs/2602.20021) - [CrowdStrike NTLM RCE Advisory](https://www.crowdstrike.com/blog/ntlm-remote-code-execution-security-advisory/) (May 2026) - [Fox Tempest Microsoft Takedown](https://www.itsecuritynews.info/) (May 2026) - [CVE.news Database](https://www.cve.news/) - [NVD — National Vulnerability Database](https://nvd.nist.gov/) - [SAP Security Patch Day March 2026](https://blog.csdn.net/OPHKVPS/article/details/160716842) - [Agents of Chaos — ClawHavoc](https://github.com/eze-is/agents-of-chaos)


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal:  | SkillSpector:  ()