Loading...
Loading...
Compare original and translation side by side
$ARGUMENTSscan <path>action <description>trust <lookup|attest|revoke|list> [args]reportconfig <strict|balanced|permissive>$ARGUMENTSscan <path>action <description>trust <lookup|attest|revoke|list> [args]reportconfig <strict|balanced|permissive>*.js*.ts*.jsx*.tsx*.mjs*.cjs*.py*.json*.yaml*.yml*.toml*.sol*.sh*.bash*.md.mdnode_modulesdistbuild.gitcoverage__pycache__.venvvenv*.min.js*.min.csspackage-lock.jsonyarn.lockpnpm-lock.yaml*.js*.ts*.jsx*.tsx*.mjs*.cjs*.py*.json*.yaml*.yml*.toml*.sol*.sh*.bash*.md.mdnode_modulesdistbuild.gitcoverage__pycache__.venvvenv*.min.js*.min.csspackage-lock.jsonyarn.lockpnpm-lock.yaml| # | Rule ID | Severity | File Types | Description |
|---|---|---|---|---|
| 1 | SHELL_EXEC | HIGH | js,ts,mjs,cjs,py,md | Command execution capabilities |
| 2 | AUTO_UPDATE | CRITICAL | js,ts,py,sh,md | Auto-update / download-and-execute |
| 3 | REMOTE_LOADER | CRITICAL | js,ts,mjs,py,md | Dynamic code loading from remote |
| 4 | READ_ENV_SECRETS | MEDIUM | js,ts,mjs,py | Environment variable access |
| 5 | READ_SSH_KEYS | CRITICAL | all | SSH key file access |
| 6 | READ_KEYCHAIN | CRITICAL | all | System keychain / browser profiles |
| 7 | PRIVATE_KEY_PATTERN | CRITICAL | all | Hardcoded private keys |
| 8 | MNEMONIC_PATTERN | CRITICAL | all | Hardcoded mnemonic phrases |
| 9 | WALLET_DRAINING | CRITICAL | js,ts,sol | Approve + transferFrom patterns |
| 10 | UNLIMITED_APPROVAL | HIGH | js,ts,sol | Unlimited token approvals |
| 11 | DANGEROUS_SELFDESTRUCT | HIGH | sol | selfdestruct in contracts |
| 12 | HIDDEN_TRANSFER | MEDIUM | sol | Non-standard transfer implementations |
| 13 | PROXY_UPGRADE | MEDIUM | sol,js,ts | Proxy upgrade patterns |
| 14 | FLASH_LOAN_RISK | MEDIUM | sol,js,ts | Flash loan usage |
| 15 | REENTRANCY_PATTERN | HIGH | sol | External call before state change |
| 16 | SIGNATURE_REPLAY | HIGH | sol | ecrecover without nonce |
| 17 | OBFUSCATION | HIGH | js,ts,mjs,py,md | Code obfuscation techniques |
| 18 | PROMPT_INJECTION | CRITICAL | all | Prompt injection attempts |
| 19 | NET_EXFIL_UNRESTRICTED | HIGH | js,ts,mjs,py,md | Unrestricted POST / upload |
| 20 | WEBHOOK_EXFIL | CRITICAL | all | Webhook exfiltration domains |
| 21 | TROJAN_DISTRIBUTION | CRITICAL | md | Trojanized binary download + password + execute |
| 22 | SUSPICIOUS_PASTE_URL | HIGH | all | URLs to paste sites (pastebin, glot.io, etc.) |
| 23 | SUSPICIOUS_IP | MEDIUM | all | Hardcoded public IPv4 addresses |
| 24 | SOCIAL_ENGINEERING | MEDIUM | md | Pressure language + execution instructions |
| # | 规则ID | 严重程度 | 文件类型 | 描述 |
|---|---|---|---|---|
| 1 | SHELL_EXEC | 高 | js,ts,mjs,cjs,py,md | 存在命令执行能力 |
| 2 | AUTO_UPDATE | 关键 | js,ts,py,sh,md | 自动更新/下载并执行 |
| 3 | REMOTE_LOADER | 关键 | js,ts,mjs,py,md | 从远程动态加载代码 |
| 4 | READ_ENV_SECRETS | 中 | js,ts,mjs,py | 访问环境变量 |
| 5 | READ_SSH_KEYS | 关键 | 所有 | 访问SSH密钥文件 |
| 6 | READ_KEYCHAIN | 关键 | 所有 | 访问系统钥匙串/浏览器配置文件 |
| 7 | PRIVATE_KEY_PATTERN | 关键 | 所有 | 硬编码私钥 |
| 8 | MNEMONIC_PATTERN | 关键 | 所有 | 硬编码助记词 |
| 9 | WALLET_DRAINING | 关键 | js,ts,sol | 授权+转账模式 |
| 10 | UNLIMITED_APPROVAL | 高 | js,ts,sol | 无限额代币授权 |
| 11 | DANGEROUS_SELFDESTRUCT | 高 | sol | 合约中的自毁操作 |
| 12 | HIDDEN_TRANSFER | 中 | sol | 非标准转账实现 |
| 13 | PROXY_UPGRADE | 中 | sol,js,ts | 代理升级模式 |
| 14 | FLASH_LOAN_RISK | 中 | sol,js,ts | 使用闪电贷 |
| 15 | REENTRANCY_PATTERN | 高 | sol | 状态变更前的外部调用 |
| 16 | SIGNATURE_REPLAY | 高 | sol | 无随机数的ecrecover操作 |
| 17 | OBFUSCATION | 高 | js,ts,mjs,py,md | 代码混淆技术 |
| 18 | PROMPT_INJECTION | 关键 | 所有 | 提示注入尝试 |
| 19 | NET_EXFIL_UNRESTRICTED | 高 | js,ts,mjs,py,md | 无限制的POST/上传操作 |
| 20 | WEBHOOK_EXFIL | 关键 | 所有 | Webhook数据泄露域名 |
| 21 | TROJAN_DISTRIBUTION | 关键 | md | 木马化二进制文件下载+密码+执行 |
| 22 | SUSPICIOUS_PASTE_URL | 高 | 所有 | 指向粘贴站点的URL(如pastebin、glot.io等) |
| 23 | SUSPICIOUS_IP | 中 | 所有 | 硬编码公网IPv4地址 |
| 24 | SOCIAL_ENGINEERING | 中 | md | 施压性语言+执行指令 |
undefinedundefined| # | Risk Tag | Severity | File:Line | Evidence |
|---|---|---|---|---|
| 1 | TAG_NAME | critical | path/file.ts:42 | |
| # | 风险标签 | 严重程度 | 文件:行号 | 证据 |
|---|---|---|---|---|
| 1 | TAG_NAME | critical | path/file.ts:42 | |
undefinedundefinedSKILL.mdskills/| Scan Risk Level | Suggested Trust Level | Preset | Action |
|---|---|---|---|
| LOW | | | Offer to register |
| MEDIUM | | | Offer to register with warning |
| HIGH / CRITICAL | — | — | Warn the user; do not suggest registration |
idsourceversionversionpackage.jsonunknownhashnode scripts/trust-cli.ts hash --path <scanned_path>hashnode scripts/trust-cli.ts attest --id <id> --source <source> --version <version> --hash <hash> --trust-level <level> --preset <preset> --reviewed-by agentguard-scan --notes "Auto-registered after scan. Risk level: <risk_level>." --forcenpm installcd skills/agentguard/scripts && npm installSKILL.mdskills/| 扫描风险等级 | 建议信任等级 | 预设权限 | 操作 |
|---|---|---|---|
| 低 | | | 提供注册选项 |
| 中 | | | 提供注册选项并给出警告 |
| 高 / 关键 | — | — | 向用户发出警告;不建议注册 |
idsourceversionpackage.jsonversionunknownhashnode scripts/trust-cli.ts hash --path <scanned_path>hashnode scripts/trust-cli.ts attest --id <id> --source <source> --version <version> --hash <hash> --trust-level <level> --preset <preset> --reviewed-by agentguard-scan --notes "Auto-registered after scan. Risk level: <risk_level>." --forcenpm installcd skills/agentguard/scripts && npm installnetwork_requestexec_commandread_filewrite_filesecret_accessweb3_txweb3_signnetwork_requestexec_commandread_filewrite_filesecret_accessweb3_txweb3_sign| Scenario | Decision |
|---|---|
| Private key exfiltration | DENY (always) |
| Mnemonic exfiltration | DENY (always) |
| API secret exfiltration | CONFIRM |
| Command execution | DENY (default) |
| Unlimited approval | CONFIRM |
| Unknown spender | CONFIRM |
| Untrusted domain | CONFIRM |
| Body contains secret | DENY |
| 场景 | 决策 |
|---|---|
| 私钥泄露 | 拒绝(始终) |
| 助记词泄露 | 拒绝(始终) |
| API密钥泄露 | 需确认 |
| 命令执行 | 拒绝(默认) |
| 无限额授权 | 需确认 |
| 未知支出方 | 需确认 |
| 不可信域名 | 需确认 |
| 请求体包含机密信息 | 拒绝 |
node scripts/action-cli.ts decide --type web3_tx --chain-id <id> --from <addr> --to <addr> --value <wei> [--data <calldata>] [--origin <url>] [--user-present]node scripts/action-cli.ts decide --type web3_sign --chain-id <id> --signer <addr> [--message <msg>] [--typed-data <json>] [--origin <url>] [--user-present]node scripts/action-cli.ts simulate --chain-id <id> --from <addr> --to <addr> --value <wei> [--data <calldata>] [--origin <url>]decidenode scripts/action-cli.ts decide --type exec_command --command "<cmd>" [--skill-source <source>] [--skill-id <id>]decisiondenygoplus.address_risk.is_maliciousgoplus.simulation.approval_changesis_unlimited: trueSIMULATION_UNAVAILABLEnode scripts/action-cli.ts decide --type web3_tx --chain-id <id> --from <addr> --to <addr> --value <wei> [--data <calldata>] [--origin <url>] [--user-present]node scripts/action-cli.ts decide --type web3_sign --chain-id <id> --signer <addr> [--message <msg>] [--typed-data <json>] [--origin <url>] [--user-present]node scripts/action-cli.ts simulate --chain-id <id> --from <addr> --to <addr> --value <wei> [--data <calldata>] [--origin <url>]decidenode scripts/action-cli.ts decide --type exec_command --command "<cmd>" [--skill-source <source>] [--skill-id <id>]decisiondenygoplus.address_risk.is_maliciousgoplus.simulation.approval_changesis_unlimited: trueSIMULATION_UNAVAILABLEundefinedundefined
---| Level | Description |
|---|---|
| Default. Requires full review, minimal capabilities |
| Trusted with capability limits |
| Full trust (subject to global policies) |
| 等级 | 描述 |
|---|---|
| 默认值。需要全面审核,权限最小 |
| 受信任但权限受限 |
| 完全信任(受全局策略约束) |
network_allowlist: string[] — Allowed domains (supports *.example.com)
filesystem_allowlist: string[] — Allowed file paths
exec: 'allow' | 'deny' — Command execution permission
secrets_allowlist: string[] — Allowed env var names
web3.chains_allowlist: number[] — Allowed chain IDs
web3.rpc_allowlist: string[] — Allowed RPC endpoints
web3.tx_policy: 'allow' | 'confirm_high_risk' | 'deny'network_allowlist: string[] — 允许的域名(支持*.example.com格式)
filesystem_allowlist: string[] — 允许的文件路径
exec: 'allow' | 'deny' — 命令执行权限
secrets_allowlist: string[] — 允许访问的环境变量名称
web3.chains_allowlist: number[] — 允许的链ID
web3.rpc_allowlist: string[] — 允许的RPC端点
web3.tx_policy: 'allow' | 'confirm_high_risk' | 'deny'| Preset | Description |
|---|---|
| All deny, empty allowlists |
| Local filesystem read-only |
| Exchange APIs (Binance, Bybit, OKX, Coinbase), Web3 chains 1/56/137/42161 |
| All network, multi-chain DeFi (1/56/137/42161/10/8453/43114), no exec |
| 预设 | 描述 |
|---|---|
| 所有操作拒绝,允许列表为空 |
| 本地文件系统只读权限 |
| 交易所API(Binance、Bybit、OKX、Coinbase),Web3链1/56/137/42161 |
| 全网络访问,多链DeFi(1/56/137/42161/10/8453/43114),无命令执行权限 |
agentguard trust lookup --source <source> --version <version>agentguard trust attest --id <id> --source <source> --version <version> --hash <hash> --trust-level <level> --preset <preset> --reviewed-by <name>--preset--capabilities <json>agentguard trust revoke --source <source> --reason <reason>--source-patternagentguard trust list [--trust-level <level>] [--status <status>]agentguard trust lookup --source <source> --version <version>agentguard trust attest --id <id> --source <source> --version <version> --hash <hash> --trust-level <level> --preset <preset> --reviewed-by <name>--preset--capabilities <json>agentguard trust revoke --source <source> --reason <reason>--source-patternagentguard trust list [--trust-level <level>] [--status <status>]node scripts/trust-cli.ts <subcommand> [args]data/registry.jsonnode scripts/trust-cli.ts <subcommand> [args]data/registry.json~/.agentguard/audit.jsonl{"timestamp":"...","tool_name":"Bash","tool_input_summary":"rm -rf /","decision":"deny","risk_level":"critical","risk_tags":["DANGEROUS_COMMAND"],"initiating_skill":"some-skill"}initiating_skill~/.agentguard/audit.jsonl{"timestamp":"...","tool_name":"Bash","tool_input_summary":"rm -rf /","decision":"deny","risk_level":"critical","risk_tags":["DANGEROUS_COMMAND"],"initiating_skill":"some-skill"}initiating_skill~/.agentguard/audit.jsonlinitiating_skill~/.agentguard/audit.jsonlundefinedundefined| Time | Tool | Action | Decision | Risk | Tags | Skill |
|---|---|---|---|---|---|---|
| 2025-01-15 14:30 | Bash | rm -rf / | DENY | critical | DANGEROUS_COMMAND | some-skill |
| 2025-01-15 14:28 | Write | .env | CONFIRM | high | SENSITIVE_PATH | — |
| 时间 | 工具 | 动作 | 决策 | 风险等级 | 标签 | Skill |
|---|---|---|---|---|---|---|
| 2025-01-15 14:30 | Bash | rm -rf / | DENY | critical | DANGEROUS_COMMAND | some-skill |
| 2025-01-15 14:28 | Write | .env | CONFIRM | high | SENSITIVE_PATH | — |
| Skill | Events | Blocked | Risk Tags |
|---|---|---|---|
| some-skill | 5 | 2 | DANGEROUS_COMMAND, EXFIL_RISK |
/agentguard trust attest/agentguard trust revoke| Skill | 事件数 | 拦截数 | 风险标签 |
|---|---|---|---|
| some-skill | 5 | 2 | DANGEROUS_COMMAND, EXFIL_RISK |
/agentguard trust attest/agentguard trust revoke./setup.sh
如果日志文件不存在,告知用户暂无安全事件记录,并建议通过`./setup.sh`或添加插件启用钩子。
---| Level | Behavior |
|---|---|
| Block all risky actions — every dangerous or suspicious command is denied |
| Block dangerous, confirm risky — default level, good for daily use |
| Only block critical threats — for experienced users who want minimal friction |
| 等级 | 行为 |
|---|---|
| 拦截所有风险动作——所有危险或可疑命令均被拒绝 |
| 拦截危险动作,确认风险动作——默认等级,适合日常使用 |
| 仅拦截关键威胁——适合希望最小化干扰的资深用户 |
$ARGUMENTS~/.agentguard/config.json{"level": "balanced"}$ARGUMENTS~/.agentguard/config.json{"level": "balanced"}~/.claude/skills/SKILL.mdquickScan()| Scan Result | Trust Level | Capabilities |
|---|---|---|
| | |
| | |
| | |
~/.agentguard/audit.jsonl/agentguard trust attest~/.claude/skills/SKILL.mdquickScan()| 扫描结果 | 信任等级 | 权限 |
|---|---|---|
| | |
| | |
| | |
~/.agentguard/audit.jsonl/agentguard trust attest