Install
openclaw skills install vivi-skill-vetterSecurity-first skill vetting for AI agents. Use BEFORE installing any skill from ClawHub, GitHub, or other sources. Checks for red flags, dangerous patterns, permission scope, and suspicious code. Protects the agent and user from malicious skills.
openclaw skills install vivi-skill-vetterSecurity-first skill vetting for AI agents. Use this skill to analyze and assess the safety of skills from external sources before installation.
Use BEFORE installing any skill from:
clawhub install <slug>)Trigger phrases:
These patterns indicate malicious intent. Do NOT install skills containing these.
Command Execution:
curl ... | bash # Remote code execution
curl ... | sh # Remote code execution
wget ... -O - | sh # Remote code execution
eval "$(...)" # Arbitrary code execution
exec "$(cmd)" # Arbitrary code execution
Privilege Escalation:
sudo ... # Requesting root access
chmod 777 ... # Overly permissive
chmod +x ... # Making scripts executable
chown root ... # Changing ownership to root
Data Exfiltration:
curl -X POST ... -d @/etc/passwd # Sending sensitive files
curl ... -d "$HOME/.ssh" # Sending SSH keys
nc -e /bin/sh ... # Reverse shell
System Destruction:
rm -rf / # Delete everything
rm -rf ~ # Delete home directory
rm -rf /* # Delete all files
:(){ :|:& };: # Fork bomb
These patterns may be legitimate but require context. Review carefully.
Environment Access:
$HOME, $USER, $PATH # Environment variables
cat ~/.ssh/id_rsa # SSH key access
cat ~/.bashrc # Shell config access
Network Operations:
curl ... # May send data externally
wget ... # May download malicious code
nc ... # Netcat - potential backdoor
Package Installation:
pip install ... # Could install malicious package
npm install ... # Could install malicious package
brew install ... # Could install malicious package
Hidden Files:
. # Files starting with dot
touch ~/.hidden # Creating hidden files
Obfuscated Code:
base64.b64decode("...") # Decoding hidden code
exec(base64.b64decode(...)) # Executing hidden code
__import__('...') # Dynamic import
These are normal operations in skills:
# From ClawHub (inspect without installing)
clawhub inspect <slug>
# From GitHub
git clone <repo> /tmp/skill-review
Use the vetting script:
python3 scripts/vet_skill.py <skill-directory>
For flagged items, manually review:
The vetting script performs automated analysis:
# Basic scan
python3 scripts/vet_skill.py /path/to/skill
# Detailed output
python3 scripts/vet_skill.py /path/to/skill --verbose
# Output to file
python3 scripts/vet_skill.py /path/to/skill --output report.md
The script outputs:
┌─────────────────────────────────────┐
│ Is there a critical │
│ red flag? │
└──────────────────┬──────────────────┘
│
┌─────────┴─────────┐
│ Yes │ No
▼ ▼
┌─────────┐ ┌─────────────────┐
│ BLOCK │ │ Any warnings? │
│ │ └────────┬────────┘
└─────────┘ │
┌──────────┴──────────┐
│ Yes │ No
▼ ▼
┌────────────────┐ ┌─────────┐
│ Can warnings │ │ PASS │
│ be explained? │ └─────────┘
└───────┬────────┘
│
┌───────┴───────┐
│ Yes │ No
▼ ▼
┌─────────┐ ┌──────────┐
│ CAUTION │ │ BLOCK │
└─────────┘ └──────────┘
"Trust but verify" - Even trusted sources can be compromised
The goal is not to block all skills, but to:
┌─────────────────────────────────────────────────────────────────────┐
│ YOUR MACHINE │
├──────────────────┬──────────────────┬───────────────────────────────┤
│ │ │ │
│ 🚫 MY FILES │ ✅ SHARED FILES │ 🧠 AGENT BRAIN │
│ (禁区) │ (协作区) │ (代理记忆区) │
│ │ │ │
│ • Personal data │ • Shared docs │ • MEMORY.md │
│ • SSH keys │ • Project files │ • Daily notes │
│ • Passwords │ • Specs │ • Learning records │
│ • Private repos │ • Notes │ • Task logs │
│ • Credentials │ • Brain folder │ • Workspace files │
│ │ │ │
│ ⛔ NO ACCESS │ 🤝 COLLABORATE │ 🧠 FULL ACCESS │
│ │ │ │
└──────────────────┴──────────────────┴───────────────────────────────┘
🚫 MY FILES (禁区)
✅ SHARED FILES (协作区)
🧠 AGENT BRAIN (代理记忆区)
~/.openclaw/workspace/重要:检测 + 告知 = 由用户判断
而不是自动拦截!让用户来做最终决定。
| 检测到行为 | 级别 | 处理方式 |
|---|---|---|
| 访问 MY FILES 区域 | 🚨 SEVERE | 告知用户,等待确认 |
| 跨区域数据传输 | ⚠️ WARNING | 提醒用户,说明风险 |
| 在 SHARED FILES 操作 | ✅ INFO | 正常,仅记录 |
| 在 AGENT BRAIN 操作 | ✅ INFO | 正常,仅记录 |
MY FILES 区域检测:
# 私人数据路径
~/.ssh/ # SSH keys
~/.gnupg/ # GPG keys
~/.config/ # Config files (部分)
~/Documents/ # 私人文档 (用户定义)
~/Desktop/ # 桌面文件
~/Library/ # macOS Library
/etc/ # System files
# 私人服务
Dropbox/ # 个人 Dropbox
私人 GitHub repos # 非共享仓库
SHARED FILES 区域检测:
# 共享工作区
~/.openclaw/workspace/ # OpenClaw 工作区
~/Projects/shared/ # 共享项目
用户指定的共享目录 # 由用户定义
AGENT BRAIN 区域检测:
# 代理记忆区
~/.openclaw/workspace/MEMORY.md
~/.openclaw/workspace/memory/
~/.openclaw/workspace/AGENTS.md
~/.openclaw/workspace/IDENTITY.md
~/.openclaw/workspace/USER.md
当检测到边界违规时,告知用户:
🚨 边界警告:检测到访问 MY FILES 区域
技能尝试访问:~/.ssh/id_rsa
区域类型:私人密钥存储
这可能是:
1. 恶意窃取私钥
2. 合法的 SSH 操作需求
请确认是否允许此操作?
[ ] 允许一次
[ ] 允许并记住
[ ] 拒绝
This skill was created to protect Vivi大管家 and 糖门门主 from malicious skills.