clawsec-nanoclaw
Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about security advisories affecting the bot
- License 许可
- MIT
- 最近更新
- 2026-04-18
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- clawsec-nanoclaw
- version
- 0.0.1
- description
- Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about security advisories affecting the bot
02 资源文件 19
- 其他advisories/feed-signing-public.pem113 B
- 参考文档agents/openai.yaml43 B
- 参考文档docs/INTEGRITY.md13.5 KB
- 参考文档docs/SKILL_SIGNING.md14.8 KB
- 脚本guardian/integrity-monitor.ts20.2 KB
- 参考文档guardian/policy.json1.7 KB
- 脚本host-services/advisory-cache.ts11.6 KB
- 脚本host-services/integrity-handler.ts9.6 KB
- 脚本host-services/ipc-handlers.ts3.4 KB
- 脚本host-services/skill-signature-handler.ts6.1 KB
- 参考文档INSTALL.md8.5 KB
- 脚本lib/advisories.ts10.3 KB
- 脚本lib/signatures.ts13.8 KB
- 脚本lib/types.ts5.7 KB
- 脚本mcp-tools/advisory-tools.ts12.7 KB
- 脚本mcp-tools/integrity-tools.ts8.1 KB
- 脚本mcp-tools/signature-verification.ts5.1 KB
- 参考文档README.md5.1 KB
- 参考文档skill.json4.3 KB
03 SKILL.md 正文
ClawSec for NanoClaw
Security advisory monitoring that protects your WhatsApp bot from known vulnerabilities in skills and dependencies.
Overview
ClawSec provides MCP tools that check installed skills against a curated feed of security advisories. It prevents installation of vulnerable skills and alerts you to issues in existing ones.
Core principle: Check before you install. Monitor what's running.
When to Use
Use ClawSec tools when:
- Installing a new skill (check safety first)
- User asks "are my skills secure?"
- Investigating suspicious behavior
- Regular security audits
- After receiving security notifications
Do NOT use for:
- Code review (use other tools)
- Performance issues (different concern)
- General debugging
MCP Tools Available
Pre-Installation Check
// Before installing any skill
const safety = await tools.clawsec_check_skill_safety({
skillName: 'new-skill',
version: '1.0.0' // optional
});
if (!safety.safe) {
// Show user the risks before proceeding
console.warn(`Security issues: ${safety.advisories.map(a => a.id)}`);
}
Security Audit
// Check all installed skills
const result = await tools.clawsec_check_advisories({
skillsRoot: '/workspace/project/skills' // optional
});
if (result.criticalCount > 0) {
// Alert user immediately
console.error('CRITICAL vulnerabilities found!');
}
Browse Advisories
// List advisories with filters
const advisories = await tools.clawsec_list_advisories({
platform: 'nanoclaw', // optional: nanoclaw, openclaw, or both
severity: 'critical' // optional: critical, high, medium, low
});
Quick Reference
| Task | Tool | Key Parameter |
|---|---|---|
| Pre-install check | clawsec_check_skill_safety |
skillName |
| Audit all skills | clawsec_check_advisories |
installRoot (optional) |
| Browse feed | clawsec_list_advisories |
severity, type (optional) |
| Verify package signature | clawsec_verify_skill_package |
packagePath |
| Refresh advisory cache | clawsec_refresh_cache |
(none) |
| Check file integrity | clawsec_check_integrity |
mode, autoRestore (optional) |
| Approve file change | clawsec_approve_change |
path |
| View baseline status | clawsec_integrity_status |
path (optional) |
| Verify audit log | clawsec_verify_audit |
(none) |
Common Patterns
Pattern 1: Safe Skill Installation
// ALWAYS check before installing
const safety = await tools.clawsec_check_skill_safety({
skillName: userRequestedSkill
});
if (safety.safe) {
// Proceed with installation
await installSkill(userRequestedSkill);
} else {
// Show user the risks and get confirmation
await showSecurityWarning(safety.advisories);
if (await getUserConfirmation()) {
await installSkill(userRequestedSkill);
}
}
Pattern 2: Periodic Security Check
// Add to scheduled tasks
schedule_task({
prompt: "Check for security advisories using clawsec_check_advisories and alert if any critical issues found",
schedule_type: "cron",
schedule_value: "0 9 * * *" // Daily at 9am
});
Pattern 3: User Security Query
User: "Are my skills secure?"
You: I'll check installed skills for known vulnerabilities.
[Use clawsec_check_advisories]
Response:
✅ No critical issues found.
- 2 low-severity advisories (not urgent)
- All skills up to date
Common Mistakes
❌ Installing without checking
// DON'T
await installSkill('untrusted-skill');
// DO
const safety = await tools.clawsec_check_skill_safety({
skillName: 'untrusted-skill'
});
if (safety.safe) await installSkill('untrusted-skill');
❌ Ignoring platform filters
// DON'T: Check OpenClaw advisories on NanoClaw
const advisories = await tools.clawsec_list_advisories({
platform: 'openclaw' // Wrong platform!
});
// DO: Use correct platform or let it auto-filter
const advisories = await tools.clawsec_list_advisories({
platform: 'nanoclaw' // Correct
});
❌ Skipping critical severity
// DON'T: Only check low severity
if (result.lowCount > 0) alert();
// DO: Prioritize critical and high
if (result.criticalCount > 0 || result.highCount > 0) {
// Alert immediately
}
Implementation Details
Feed Source: https://clawsec.prompt.security/advisories/feed.json
Update Frequency: Every 6 hours (automatic)
Signature Verification: Ed25519 signed feeds
Cache Location: /workspace/project/data/clawsec-cache.json
See INSTALL.md for setup and docs/ for advanced usage.
Real-World Impact
- Prevents installation of skills with known RCE vulnerabilities
- Alerts to supply chain attacks in dependencies
- Provides actionable remediation steps
- Zero false positives (curated feed only)
04 同仓库更多 Skills
uncodixfy
Prevents generic AI/Codex UI patterns when generating frontend code. Use this skill whenever generating HTML, CSS, React, Vue, Svelte, or any frontend UI code to enforce clean, human-designed aesthetics inspired by Linear, Raycast, Stripe, and GitHub instead of typical AI-generated UI.
runpodctl
Runpod CLI to manage your GPU workloads.
langgraph-persistence
INVOKE THIS SKILL when your LangGraph needs to persist state, remember conversations, travel through history, or configure subgraph checkpointer scoping. Covers checkpointers, thread_id, time travel, Store, and subgraph persistence modes.
langgraph-human-in-the-loop
INVOKE THIS SKILL when implementing human-in-the-loop patterns, pausing for approval, or handling errors in LangGraph. Covers interrupt(), Command(resume=...), approval/validation workflows, and the 4-tier error handling strategy.
langgraph-fundamentals
INVOKE THIS SKILL when writing ANY LangGraph code. Covers StateGraph, state schemas, nodes, edges, Command, Send, invoke, streaming, and error handling.
langchain-rag
INVOKE THIS SKILL when building ANY retrieval-augmented generation (RAG) system. Covers document loaders, RecursiveCharacterTextSplitter, embeddings (OpenAI), and vector stores (Chroma, FAISS, Pinecone).