# agent-guard > 代码安全扫描工具,用于检测危险操作和安全漏洞。当用户请求以下操作时使用:(1) 扫描安全风险/检查危险操作 (2) 审查敏感信息泄露 (3) 检测安全漏洞 (4) 检查破坏性操作 (5) 审查 Skill/代码仓库。支持 Shell/Python/Node.js/PowerShell/PHP/Ruby/Go/Java/C# 多语言,检测 16 大类安全风险(破坏性操作、远程执行、命令注入、网络外传、权限提升、敏感信息泄露、持久化、敏感文件访问、提示注入、数据外传、越权工具使用、混淆、社会工程、资源滥用、策略违规、能力夸大)。 - Author: brucevan - Repository: brucevanfdm/agent-guard-skill - Version: 20260207103614 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/brucevanfdm/agent-guard-skill - Web: https://mule.run/skillshub/@@brucevanfdm/agent-guard-skill~agent-guard:20260207103614 --- --- name: agent-guard description: 代码安全扫描工具,用于检测危险操作和安全漏洞。当用户请求以下操作时使用:(1) 扫描安全风险/检查危险操作 (2) 审查敏感信息泄露 (3) 检测安全漏洞 (4) 检查破坏性操作 (5) 审查 Skill/代码仓库。支持 Shell/Python/Node.js/PowerShell/PHP/Ruby/Go/Java/C# 多语言,检测 16 大类安全风险(破坏性操作、远程执行、命令注入、网络外传、权限提升、敏感信息泄露、持久化、敏感文件访问、提示注入、数据外传、越权工具使用、混淆、社会工程、资源滥用、策略违规、能力夸大)。 --- # Agent Guard 代码安全扫描工具,用于检测代码和脚本中的潜在安全风险。 ## 快速开始 运行内置扫描脚本: ```bash # 扫描单个文件 python3 scripts/scanner.py <文件路径> # 扫描目录 python3 scripts/scanner.py <目录路径> # 输出 JSON 格式 python3 scripts/scanner.py <文件路径> -f json # 输出 SARIF(用于代码扫描平台) python3 scripts/scanner.py <目录路径> -f sarif -o results.sarif # 输出 Markdown / Table python3 scripts/scanner.py <目录路径> -f markdown python3 scripts/scanner.py <目录路径> -f table ``` ## 推荐工作流(审查 Skill/仓库) 1) 选择扫描目标(Skill 目录或代码仓库根目录) 2) 运行扫描并排除噪音路径(按需增删) ```bash python3 scripts/scanner.py <目录路径> -f json \ --exclude "SKILL.md" \ --exclude "**/node_modules/**" ``` 3) 优先处理 `Critical/High`:解释触发原因、影响面、给出最小化修复方案 4) 对疑似误报:先用 `--exclude` 收敛范围,再考虑调整 `scripts/rules.json` 提示:本工具基于正则匹配,结果用于快速发现风险点,最终仍需人工确认上下文。 ### 扫描模式与规则开关 ```bash # 严格模式(全部规则) python3 scripts/scanner.py <目录路径> --mode strict # 平衡模式(默认) python3 scripts/scanner.py <目录路径> --mode balanced # 宽松模式(偏向 Critical/High) python3 scripts/scanner.py <目录路径> --mode permissive # 禁用指定规则(可重复) python3 scripts/scanner.py <目录路径> --disable-rule SUDO --disable-rule PY_EVAL ``` 说明: - 默认启用 `Skill-aware` 分层扫描(检测到 `SKILL.md` 时,会按 `manifest / instruction / scripts / references / assets` 分阶段扫描) - 可用 `--no-skill-aware` 关闭分层扫描,回退为普通目录遍历 ## 风险类别 | 类别 | 检测内容 | | ------------------- | ------------------------------------------------------ | | Destructive | `rm -rf /`、磁盘擦除、格式化等破坏性操作 | | RemoteExec | `curl \| sh`、反弹 Shell、PowerShell 编码执行等 | | CmdInjection | `eval()`、`exec()`、`os.system()`、subprocess 等 | | Network | 可疑网络请求、FTP 明文传输等 | | Privilege | `sudo`、`chmod 777`、sudoers 修改等 | | Secrets | 硬编码 API Key、密码、Token、私钥等 | | Persistence | crontab、SSH 密钥注入、注册表启动项等 | | SensitiveFileAccess | 读取私钥、凭证文件、浏览器密码库等 | | PromptInjection | 忽略安全策略、覆盖系统指令等提示注入 | | DataExfiltration | 打包后上传、批量收集后外发等数据外传 | | UnauthorizedToolUse | 未声明能力却调用高权限工具 | | Obfuscation | Base64/编码混淆、隐藏执行链 | | SocialEngineering | 要求隐瞒用户、诱导越权操作 | | ResourceAbuse | Fork bomb、无限资源消耗模式 | | PolicyViolation | 明确策略绕过语义与执行指令 | | CapabilityInflation | 能力夸大、误导性范围声明 | ## 严重程度 - **Critical** - 严重风险,需要立即处理 - **High** - 高风险,强烈建议修复 - **Medium** - 中等风险,建议审查 - **Low** - 低风险,仅供参考 ## 规则配置 规则定义在 `scripts/rules.json`,包含: - `id`: 规则唯一标识 - `pattern`: 正则表达式模式 - `severity`: 严重程度 - `category`: 风险类别 - `remediation`: 修复建议 - `cwe_id`: CWE 编号 自定义规则文件: ```bash python3 scripts/scanner.py <文件路径> --rules <自定义规则文件路径> ``` 说明: - 默认规则文件为 `scripts/rules.json` - 默认会跳过扫描当前使用的规则文件(避免规则描述/正则字符串触发误报) - 可用 `--no-recursive` 关闭递归扫描 - 可用 `--exclude` 排除路径(glob),例如:`--exclude "SKILL.md"` 或 `--exclude "**/node_modules/**"` - 可用 `--disable-rule` 禁用单条规则,或用 `--mode` 调整规则集强度 - 当存在 `Critical/High` 告警时,脚本会以非 0 退出码退出(便于 CI 失败) ## 输出示例 ``` [CRITICAL] RemoteExec 风险 - 规则: CURL_PIPE_SH (Curl管道执行) - 文件: install.sh - 行号: 1 - 描述: curl | sh 远程执行 - 置信度: High - 建议: 避免直接执行远程脚本,应先下载后检查 - CWE: CWE-78 ```