Low Risk — Risk Score 25/100
Last scan:8 hr ago Rescan
25 /100
runtime-sentinel
OpenClaw 运行时安全卫士,提供技能完整性哈希、提示注入检测、凭证暴露审计功能
合法安全工具,代码质量高,无恶意行为,但存在钱包导出功能文档缺失的小瑕疵
Skill Nameruntime-sentinel
Duration52.5s
Enginepi
Safe to install
接受使用。建议补充钱包导出功能的文档声明。建议为所有第三方依赖添加版本锁定。

Findings 3 items

Severity Finding Location
Medium
钱包导出功能未在文档中声明 Doc Mismatch
export_mnemonic() 功能允许用户导出 BIP-39 助记词(12 词恢复短语),但 SKILL.md 中未声明此功能
pub async fn export_mnemonic() -> Result<()> {
→ 在 SKILL.md 中添加钱包导出功能的声明,包括安全警告
scripts/src/payment.rs:197
Low
第三方依赖版本未锁定 Supply Chain
Cargo.toml 中多个依赖使用灵活版本(如 clap = 4、tokio = 1),可能引入供应链风险
clap = { version = "4", features = ["derive", "env"] }
→ 使用精确版本或锁定文件(如 Cargo.lock)确保可复现构建
scripts/Cargo.toml:1
Low
读取敏感环境变量 Sensitive Access
代码读取 SENTINEL_RPC、SENTINEL_VT_KEY 等环境变量用于配置
let rpc = std::env::var("SENTINEL_RPC").unwrap_or(DEFAULT_RPC.to_string())
→ 这是正常功能,建议在文档中明确声明所需环境变量
scripts/src/payment.rs:487
ResourceDeclaredInferredStatusEvidence
Filesystem NONE READ ✓ Aligned audit.rs:203-241 读取技能目录计算哈希
Filesystem NONE WRITE ✓ Aligned audit.rs:120-126 创建隔离目录
Network NONE READ+WRITE ✓ Aligned 多个 HTTP 调用用于 x402 支付、VT 查询、ClawHub 交互
Environment NONE READ ✓ Aligned payment.rs:487 读取 SENTINEL_RPC
Shell NONE NONE audit.rs:467 使用 unzip 命令但通过 tokio::process::Command 执行
10 findings
🔗
Medium External URL 外部 URL
https://rustup.rs
references/binary-build.md:10
🔗
Medium External URL 外部 URL
https://api.runtime-sentinel.dev/v1/daemon/start
references/x402-payment.md:15
💰
Medium Wallet Address 加密货币钱包地址
0x0E0EE00281A8729d4B68CDed99d430324350a305
references/x402-payment.md:18
🔗
Medium External URL 外部 URL
https://x402.org/facilitator
references/x402-payment.md:100
🔗
Medium External URL 外部 URL
https://clawhub.ai/api/v1/report
scripts/src/audit.rs:171
🔗
Medium External URL 外部 URL
https://www.virustotal.com/api/v3/files/
scripts/src/audit.rs:414
🔗
Medium External URL 外部 URL
https://clawhub.ai/api/v1/skills/
scripts/src/audit.rs:457
🔗
Medium External URL 外部 URL
https://api.runtime-sentinel.dev/v1
scripts/src/payment.rs:16
🔗
Medium External URL 外部 URL
https://mainnet.base.org
scripts/src/payment.rs:18
💰
Medium Wallet Address 加密货币钱包地址
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
scripts/src/payment.rs:24

File Tree

17 files · 118.2 KB · 3741 lines
Rust 9f · 2906L Markdown 6f · 728L TOML 2f · 107L
├─ 📁 references
│ ├─ 📝 binary-build.md Markdown 141L · 4.5 KB
│ ├─ 📝 threat-model.md Markdown 119L · 4.9 KB
│ └─ 📝 x402-payment.md Markdown 111L · 3.3 KB
├─ 📁 scripts
│ ├─ 📁 src
│ │ ├─ 📁 patterns
│ │ │ └─ 📄 mod.rs Rust 115L · 3.9 KB
│ │ ├─ 📄 audit.rs Rust 528L · 17.3 KB
│ │ ├─ 📄 daemon.rs Rust 392L · 12.2 KB
│ │ ├─ 📄 egress.rs Rust 341L · 10.0 KB
│ │ ├─ 📄 injection.rs Rust 134L · 4.6 KB
│ │ ├─ 📄 main.rs Rust 174L · 4.6 KB
│ │ ├─ 📄 payment.rs Rust 699L · 25.5 KB
│ │ ├─ 📄 process.rs Rust 412L · 10.4 KB
│ │ └─ 📄 report.rs Rust 111L · 3.0 KB
│ ├─ 📄 Cargo.toml TOML 98L · 1.9 KB
│ └─ 📄 rust-toolchain.toml TOML 9L · 200 B
├─ 📝 LICENSE.md Markdown 21L · 1.1 KB
├─ 📝 README.md Markdown 133L · 4.1 KB
└─ 📝 SKILL.md Markdown 203L · 6.6 KB

Dependencies 5 items

PackageVersionSourceKnown VulnsNotes
clap 4 crates.io No 无版本锁定
tokio 1 crates.io No 无版本锁定
alloy 0.3 crates.io No 无版本锁定
reqwest 0.12 crates.io No 无版本锁定
regex 1 crates.io No 无版本锁定

Security Positives

✓ 代码质量高,使用 Rust 编写,内存安全
✓ 使用行业标准加密(eth-keystore、AES-256-GCM、Argon2id)
✓ 功能设计合理,安全工具的正当需求
✓ x402 支付使用 EIP-712 签名,钱包私钥不离本地
✓ 支持 --offline 模式避免网络调用
✓ 文件监控仅限用户目录 ~/.openclaw/
✓ 进程监控仅读 /proc 和进程列表,无命令执行
✓ 无代码混淆、Base64 执行等可疑模式