[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FNTRZ10CGGSKMHPESSG7TF":3,"skill-same:01M6FNTRZ10CGGSKMHPESSG7TF":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6FNTRZ10CGGSKMHPESSG7TF","skillguard",null,"Security scanner for ClawHub skills. Vet third-party skills before installation — detect dangerous patterns, suspicious code, and risky dependencies.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fg0head\u002Fclawscan\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"moderation","detect","third-party","vet","installation","dependencies","scan","patterns","scanner","security scanner","vulnerability","Safety","audit","code","security","clawhub","safe","suspicious","2026-11-10 10:12:30",false,"---\nname: skillguard\nversion: 2.0.0\ndescription: Security scanner for ClawHub skills. Vet third-party skills before installation — detect dangerous patterns, suspicious code, and risky dependencies.\nauthor: PaxSwarm\nlicense: MIT\nkeywords: [security, audit, scan, vet, clawhub, skills, safety, moderation, vulnerability]\ntriggers: [\"skill security\", \"vet skill\", \"scan skill\", \"is this skill safe\", \"skillguard\", \"audit skill\", \"clawscan\"]\n---\n\n# ?️ SkillGuard — ClawHub Security Scanner\n\n> **\"Trust, but verify.\"**\n\nClawHub has no moderation process. Any agent can publish any skill. SkillGuard provides the security layer that's missing — scanning skills for dangerous patterns, vulnerable dependencies, and suspicious behaviors before they touch your system.\n\n---\n\n## ? Why This Matters\n\nThird-party skills can:\n\n| Risk | Impact |\n|------|--------|\n| **Execute arbitrary code** | Full system compromise |\n| **Access your filesystem** | Data theft, ransomware |\n| **Read environment variables** | API key theft ($$$) |\n| **Exfiltrate data via HTTP** | Privacy breach |\n| **Install malicious dependencies** | Supply chain attack |\n| **Persist backdoors** | Long-term compromise |\n| **Escalate privileges** | Root access |\n\n**One malicious skill = game over.**\n\nSkillGuard helps you catch threats before installation.\n\n---\n\n## ? Installation\n\n```bash\nclawhub install clawscan\n```\n\nOr manually:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard\ncd skillguard\nchmod +x scripts\u002Fskillguard.py\n```\n\n### Requirements\n- Python 3.8+\n- `clawhub` CLI (for remote scanning)\n\n---\n\n## ? Quick Start\n\n```bash\n# Scan a skill BEFORE installing\npython3 scripts\u002Fskillguard.py scan some-random-skill\n\n# Scan a local folder (your own skills or downloaded)\npython3 scripts\u002Fskillguard.py scan-local .\u002Fpath\u002Fto\u002Fskill\n\n# Audit ALL your installed skills\npython3 scripts\u002Fskillguard.py audit-installed\n\n# Generate detailed security report\npython3 scripts\u002Fskillguard.py report some-skill --format markdown\n\n# Check dependencies for known vulnerabilities\npython3 scripts\u002Fskillguard.py deps .\u002Fpath\u002Fto\u002Fskill\n```\n\n---\n\n## ? What SkillGuard Detects\n\n### ? CRITICAL — Block Installation\n\nThese patterns indicate serious security risks:\n\n| Category | Patterns | Risk |\n|----------|----------|------|\n| **Code Execution** | `eval()`, `exec()`, `compile()` | Arbitrary code execution |\n| **Shell Injection** | `subprocess(shell=True)`, `os.system()`, `os.popen()` | Command injection |\n| **Child Process** | `child_process.exec()`, `child_process.spawn()` | Shell access (Node.js) |\n| **Credential Theft** | Access to `~\u002F.ssh\u002F`, `~\u002F.aws\u002F`, `~\u002F.config\u002F` | Private key\u002Fcredential theft |\n| **System Files** | `\u002Fetc\u002Fpasswd`, `\u002Fetc\u002Fshadow` | System compromise |\n| **Recursive Delete** | `rm -rf`, `shutil.rmtree('\u002F')` | Data destruction |\n| **Privilege Escalation** | `sudo`, `setuid`, `chmod 777` | Root access |\n| **Reverse Shell** | Socket + subprocess patterns | Remote access |\n| **Crypto Mining** | Mining pool URLs, `stratum:\u002F\u002F` | Resource theft |\n\n### ? WARNING — Review Before Installing\n\nThese patterns may be legitimate but warrant inspection:\n\n| Category | Patterns | Concern |\n|----------|----------|---------|\n| **Network Requests** | `requests.post()`, `fetch()` POST | Where is data going? |\n| **Environment Access** | `os.environ`, `process.env` | Which variables? |\n| **File Writes** | `open(..., 'w')`, `writeFile()` | What's being saved? |\n| **Base64 Encoding** | `base64.encode()`, `btoa()` | Obfuscated payloads? |\n| **External IPs** | Hardcoded IP addresses | Exfiltration endpoints? |\n| **Bulk File Ops** | `shutil.copytree()`, `glob` | Mass data access? |\n| **Persistence** | `crontab`, `systemctl`, `.bashrc` | Auto-start on boot? |\n| **Package Install** | `pip install`, `npm install` | Supply chain risk |\n\n### ? INFO — Noted But Normal\n\n| Category | Patterns | Note |\n|----------|----------|------|\n| **File Reads** | `open(..., 'r')`, `readFile()` | Expected for skills |\n| **JSON Parsing** | `json.load()`, `JSON.parse()` | Data handling |\n| **Logging** | `print()`, `console.log()` | Debugging |\n| **Standard Imports** | `import os`, `import sys` | Common libraries |\n\n---\n\n## ? Scan Output Example\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║              ?️  SKILLGUARD SECURITY REPORT                  ║\n╠══════════════════════════════════════════════════════════════╣\n║  Skill:       suspicious-helper v1.2.0                       ║\n║  Author:      unknown-user                                   ║\n║  Files:       8 analyzed                                     ║\n║  Scan Time:   2024-02-03 05:30:00 UTC                        ║\n╚══════════════════════════════════════════════════════════════╝\n\n? FILES SCANNED\n────────────────────────────────────────────────────────────────\n  ✓ SKILL.md                    (541 bytes)\n  ✓ scripts\u002Fmain.py             (2.3 KB)\n  ✓ scripts\u002Futils.py            (1.1 KB)\n  ✓ scripts\u002Fnetwork.py          (890 bytes)\n  ✓ config.json                 (234 bytes)\n  ✓ requirements.txt            (89 bytes)\n  ✓ package.json                (312 bytes)\n  ✓ install.sh                  (156 bytes)\n\n? CRITICAL ISSUES (3)\n────────────────────────────────────────────────────────────────\n  [CRIT-001] scripts\u002Fmain.py:45\n  │ Pattern:  eval() with external input\n  │ Risk:     Arbitrary code execution\n  │ Code:     result = eval(user_input)\n  │\n  [CRIT-002] scripts\u002Futils.py:23\n  │ Pattern:  subprocess with shell=True\n  │ Risk:     Command injection vulnerability\n  │ Code:     subprocess.run(cmd, shell=True)\n  │\n  [CRIT-003] install.sh:12\n  │ Pattern:  Recursive delete with variable\n  │ Risk:     Potential data destruction\n  │ Code:     rm -rf $TARGET_DIR\u002F*\n\n? WARNINGS (5)\n────────────────────────────────────────────────────────────────\n  [WARN-001] scripts\u002Fnetwork.py:15  — HTTP POST to external URL\n  [WARN-002] scripts\u002Fmain.py:78     — Reads OPENAI_API_KEY\n  [WARN-003] requirements.txt:3     — Unpinned dependency: requests\n  [WARN-004] scripts\u002Futils.py:45    — Base64 encoding detected\n  [WARN-005] config.json            — Hardcoded IP: 192.168.1.100\n\n? INFO (2)\n────────────────────────────────────────────────────────────────\n  [INFO-001] scripts\u002Fmain.py:10     — Standard file read operations\n  [INFO-002] requirements.txt       — 3 dependencies declared\n\n? DEPENDENCY ANALYSIS\n────────────────────────────────────────────────────────────────\n  requirements.txt:\n    ⚠️  requests        (unpinned - specify version!)\n    ✓  json            (stdlib)\n    ✓  pathlib         (stdlib)\n\n  package.json:\n    ⚠️  axios@0.21.0   (CVE-2021-3749 - upgrade to 0.21.2+)\n\n════════════════════════════════════════════════════════════════\n                        VERDICT: ? DANGEROUS\n════════════════════════════════════════════════════════════════\n  \n  ⛔ DO NOT INSTALL THIS SKILL\n  \n  3 critical security issues found:\n  • Arbitrary code execution via eval()\n  • Command injection via shell=True\n  • Dangerous file deletion pattern\n  \n  Manual code review required before any use.\n  \n════════════════════════════════════════════════════════════════\n```\n\n---\n\n## ? Commands Reference\n\n### `scan \u003Cskill-name>`\nFetch and scan a skill from ClawHub before installing.\n\n```bash\nskillguard scan cool-automation-skill\nskillguard scan cool-automation-skill --verbose\nskillguard scan cool-automation-skill --json > report.json\n```\n\n### `scan-local \u003Cpath>`\nScan a local skill directory.\n\n```bash\nskillguard scan-local .\u002Fmy-skill\nskillguard scan-local ~\u002Fdownloads\u002Funtrusted-skill --strict\n```\n\n### `audit-installed`\nScan all skills in your workspace.\n\n```bash\nskillguard audit-installed\nskillguard audit-installed --fix  # Attempt to fix issues\n```\n\n### `deps \u003Cpath>`\nAnalyze dependencies for known vulnerabilities.\n\n```bash\nskillguard deps .\u002Fskill-folder\nskillguard deps .\u002Fskill-folder --update-db  # Refresh vuln database\n```\n\n### `report \u003Cskill> [--format]`\nGenerate detailed security report.\n\n```bash\nskillguard report suspicious-skill --format markdown > report.md\nskillguard report suspicious-skill --format json > report.json\nskillguard report suspicious-skill --format html > report.html\n```\n\n### `allowlist \u003Cskill>`\nMark a skill as manually reviewed and trusted.\n\n```bash\nskillguard allowlist my-trusted-skill\nskillguard allowlist --list  # Show all trusted skills\nskillguard allowlist --remove old-skill\n```\n\n### `watch`\nMonitor for new skill versions and auto-scan updates.\n\n```bash\nskillguard watch --interval 3600  # Check every hour\n```\n\n---\n\n## ⚙️ Configuration\n\nCreate `~\u002F.skillguard\u002Fconfig.json`:\n\n```json\n{\n  \"severity_threshold\": \"warning\",\n  \"auto_scan_on_install\": true,\n  \"block_critical\": true,\n  \"trusted_authors\": [\n    \"official\",\n    \"PaxSwarm\",\n    \"verified-publisher\"\n  ],\n  \"allowed_domains\": [\n    \"api.openai.com\",\n    \"api.anthropic.com\",\n    \"api.github.com\",\n    \"clawhub.ai\"\n  ],\n  \"ignored_patterns\": [\n    \"test_*.py\",\n    \"*_test.js\",\n    \"*.spec.ts\"\n  ],\n  \"custom_patterns\": [\n    {\n      \"regex\": \"my-internal-api\\\\.com\",\n      \"severity\": \"info\",\n      \"description\": \"Internal API endpoint\"\n    }\n  ],\n  \"vuln_db_path\": \"~\u002F.skillguard\u002Fvulns.json\",\n  \"report_format\": \"markdown\",\n  \"color_output\": true\n}\n```\n\n---\n\n## ? Security Levels\n\nAfter scanning, skills are assigned a security level:\n\n| Level | Badge | Meaning | Recommendation |\n|-------|-------|---------|----------------|\n| **Verified** | ✅ | Trusted author, no issues | Safe to install |\n| **Clean** | ? | No issues found | Likely safe |\n| **Review** | ? | Warnings only | Read before installing |\n| **Suspicious** | ? | Multiple warnings | Careful review needed |\n| **Dangerous** | ? | Critical issues | Do not install |\n| **Malicious** | ⛔ | Known malware patterns | Block & report |\n\n---\n\n## ? Integration Workflows\n\n### Pre-Install Hook\n```bash\n# Add to your workflow\nskillguard scan $SKILL && clawhub install $SKILL\n```\n\n### CI\u002FCD Pipeline\n```yaml\n# GitHub Actions example\n- name: Security Scan\n  run: |\n    pip install skillguard\n    skillguard scan-local .\u002Fmy-skill --strict --exit-code\n```\n\n### Automated Monitoring\n```bash\n# Cron job for daily audits\n0 9 * * * \u002Fpath\u002Fto\u002Fskillguard audit-installed --notify\n```\n\n---\n\n## ? Vulnerability Database\n\nSkillGuard maintains a local database of known vulnerabilities:\n\n```bash\n# Update vulnerability database\nskillguard update-db\n\n# Check database status\nskillguard db-status\n\n# Report a new vulnerability\nskillguard report-vuln --skill bad-skill --details \"Description...\"\n```\n\n**Sources:**\n- CVE Database (Python packages)\n- npm Advisory Database\n- GitHub Security Advisories\n- Community reports\n\n---\n\n## ? Limitations\n\nSkillGuard is a **first line of defense**, not a guarantee:\n\n| Limitation | Explanation |\n|------------|-------------|\n| **Obfuscation** | Determined attackers can hide malicious code |\n| **Dynamic code** | Runtime-generated code is harder to analyze |\n| **False positives** | Legitimate code may trigger warnings |\n| **Zero-days** | New attack patterns won't be detected |\n| **Dependencies** | Deep transitive dependency scanning is limited |\n\n**Defense in depth:** Use SkillGuard alongside:\n- Sandboxed execution environments\n- Network monitoring\n- Regular audits\n- Principle of least privilege\n\n---\n\n## ? Contributing\n\nFound a dangerous pattern we missed? Help improve SkillGuard:\n\n### Add a Pattern\n```json\n{\n  \"id\": \"CRIT-XXX\",\n  \"regex\": \"dangerous_function\\\\(\",\n  \"severity\": \"critical\",\n  \"category\": \"code_execution\",\n  \"description\": \"Dangerous function call\",\n  \"cwe\": \"CWE-94\",\n  \"remediation\": \"Use safe_alternative() instead\",\n  \"file_types\": [\".py\", \".js\"]\n}\n```\n\n### Report False Positives\n```bash\nskillguard report-fp --pattern \"WARN-005\" --reason \"Legitimate use case\"\n```\n\n---\n\n## ? Changelog\n\n### v2.0.0 (Current)\n- Comprehensive pattern database (50+ patterns)\n- Dependency vulnerability scanning\n- Multiple output formats (JSON, Markdown, HTML)\n- Configuration file support\n- Trusted author system\n- Watch mode for monitoring updates\n- Improved reporting with CWE references\n\n### v1.0.0\n- Initial release\n- Basic pattern detection\n- Local and remote scanning\n- Audit installed skills\n\n---\n\n## ? License\n\nMIT License — Use freely, contribute back.\n\n---\n\n## ?️ Stay Safe\n\n> \"In the agent ecosystem, trust is earned through transparency.\n> Every skill you install is code you're choosing to run.\n> Choose wisely. Verify always.\"\n\n*Built by [PaxSwarm](https:\u002F\u002Fgithub.com\u002FG0HEAD) — protecting the swarm, one skill at a time* ?‍⬛\n\n---\n\n**Links:**\n- [ClawHub](https:\u002F\u002Fclawhub.ai\u002Fskills\u002Fclawscan)\n- [GitHub](https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard)\n- [Report Issues](https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard\u002Fissues)\n- [Pattern Database](https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard\u002Fblob\u002Fmain\u002Fpatterns.json)\n","# ?️ SkillGuard — ClawHub Security Scanner\n\n> **\"Trust, but verify.\"**\n\nClawHub has no moderation process. Any agent can publish any skill. SkillGuard provides the security layer that's missing — scanning skills for dangerous patterns, vulnerable dependencies, and suspicious behaviors before they touch your system.\n\n---\n\n## ? Why This Matters\n\nThird-party skills can:\n\n| Risk | Impact |\n|------|--------|\n| **Execute arbitrary code** | Full system compromise |\n| **Access your filesystem** | Data theft, ransomware |\n| **Read environment variables** | API key theft ($$$) |\n| **Exfiltrate data via HTTP** | Privacy breach |\n| **Install malicious dependencies** | Supply chain attack |\n| **Persist backdoors** | Long-term compromise |\n| **Escalate privileges** | Root access |\n\n**One malicious skill = game over.**\n\nSkillGuard helps you catch threats before installation.\n\n---\n\n## ? Installation\n\n```bash\nclawhub install clawscan\n```\n\nOr manually:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard\ncd skillguard\nchmod +x scripts\u002Fskillguard.py\n```\n\n### Requirements\n- Python 3.8+\n- `clawhub` CLI (for remote scanning)\n\n---\n\n## ? Quick Start\n\n```bash\n# Scan a skill BEFORE installing\npython3 scripts\u002Fskillguard.py scan some-random-skill\n\n# Scan a local folder (your own skills or downloaded)\npython3 scripts\u002Fskillguard.py scan-local .\u002Fpath\u002Fto\u002Fskill\n\n# Audit ALL your installed skills\npython3 scripts\u002Fskillguard.py audit-installed\n\n# Generate detailed security report\npython3 scripts\u002Fskillguard.py report some-skill --format markdown\n\n# Check dependencies for known vulnerabilities\npython3 scripts\u002Fskillguard.py deps .\u002Fpath\u002Fto\u002Fskill\n```\n\n---\n\n## ? What SkillGuard Detects\n\n### ? CRITICAL — Block Installation\n\nThese patterns indicate serious security risks:\n\n| Category | Patterns | Risk |\n|----------|----------|------|\n| **Code Execution** | `eval()`, `exec()`, `compile()` | Arbitrary code execution |\n| **Shell Injection** | `subprocess(shell=True)`, `os.system()`, `os.popen()` | Command injection |\n| **Child Process** | `child_process.exec()`, `child_process.spawn()` | Shell access (Node.js) |\n| **Credential Theft** | Access to `~\u002F.ssh\u002F`, `~\u002F.aws\u002F`, `~\u002F.config\u002F` | Private key\u002Fcredential theft |\n| **System Files** | `\u002Fetc\u002Fpasswd`, `\u002Fetc\u002Fshadow` | System compromise |\n| **Recursive Delete** | `rm -rf`, `shutil.rmtree('\u002F')` | Data destruction |\n| **Privilege Escalation** | `sudo`, `setuid`, `chmod 777` | Root access |\n| **Reverse Shell** | Socket + subprocess patterns | Remote access |\n| **Crypto Mining** | Mining pool URLs, `stratum:\u002F\u002F` | Resource theft |\n\n### ? WARNING — Review Before Installing\n\nThese patterns may be legitimate but warrant inspection:\n\n| Category | Patterns | Concern |\n|----------|----------|---------|\n| **Network Requests** | `requests.post()`, `fetch()` POST | Where is data going? |\n| **Environment Access** | `os.environ`, `process.env` | Which variables? |\n| **File Writes** | `open(..., 'w')`, `writeFile()` | What's being saved? |\n| **Base64 Encoding** | `base64.encode()`, `btoa()` | Obfuscated payloads? |\n| **External IPs** | Hardcoded IP addresses | Exfiltration endpoints? |\n| **Bulk File Ops** | `shutil.copytree()`, `glob` | Mass data access? |\n| **Persistence** | `crontab`, `systemctl`, `.bashrc` | Auto-start on boot? |\n| **Package Install** | `pip install`, `npm install` | Supply chain risk |\n\n### ? INFO — Noted But Normal\n\n| Category | Patterns | Note |\n|----------|----------|------|\n| **File Reads** | `open(..., 'r')`, `readFile()` | Expected for skills |\n| **JSON Parsing** | `json.load()`, `JSON.parse()` | Data handling |\n| **Logging** | `print()`, `console.log()` | Debugging |\n| **Standard Imports** | `import os`, `import sys` | Common libraries |\n\n---\n\n## ? Scan Output Example\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║              ?️  SKILLGUARD SECURITY REPORT                  ║\n╠══════════════════════════════════════════════════════════════╣\n║  Skill:       suspicious-helper v1.2.0                       ║\n║  Author:      unknown-user                                   ║\n║  Files:       8 analyzed                                     ║\n║  Scan Time:   2024-02-03 05:30:00 UTC                        ║\n╚══════════════════════════════════════════════════════════════╝\n\n? FILES SCANNED\n────────────────────────────────────────────────────────────────\n  ✓ SKILL.md                    (541 bytes)\n  ✓ scripts\u002Fmain.py             (2.3 KB)\n  ✓ scripts\u002Futils.py            (1.1 KB)\n  ✓ scripts\u002Fnetwork.py          (890 bytes)\n  ✓ config.json                 (234 bytes)\n  ✓ requirements.txt            (89 bytes)\n  ✓ package.json                (312 bytes)\n  ✓ install.sh                  (156 bytes)\n\n? CRITICAL ISSUES (3)\n────────────────────────────────────────────────────────────────\n  [CRIT-001] scripts\u002Fmain.py:45\n  │ Pattern:  eval() with external input\n  │ Risk:     Arbitrary code execution\n  │ Code:     result = eval(user_input)\n  │\n  [CRIT-002] scripts\u002Futils.py:23\n  │ Pattern:  subprocess with shell=True\n  │ Risk:     Command injection vulnerability\n  │ Code:     subprocess.run(cmd, shell=True)\n  │\n  [CRIT-003] install.sh:12\n  │ Pattern:  Recursive delete with variable\n  │ Risk:     Potential data destruction\n  │ Code:     rm -rf $TARGET_DIR\u002F*\n\n? WARNINGS (5)\n────────────────────────────────────────────────────────────────\n  [WARN-001] scripts\u002Fnetwork.py:15  — HTTP POST to external URL\n  [WARN-002] scripts\u002Fmain.py:78     — Reads OPENAI_API_KEY\n  [WARN-003] requirements.txt:3     — Unpinned dependency: requests\n  [WARN-004] scripts\u002Futils.py:45    — Base64 encoding detected\n  [WARN-005] config.json            — Hardcoded IP: 192.168.1.100\n\n? INFO (2)\n────────────────────────────────────────────────────────────────\n  [INFO-001] scripts\u002Fmain.py:10     — Standard file read operations\n  [INFO-002] requirements.txt       — 3 dependencies declared\n\n? DEPENDENCY ANALYSIS\n────────────────────────────────────────────────────────────────\n  requirements.txt:\n    ⚠️  requests        (unpinned - specify version!)\n    ✓  json            (stdlib)\n    ✓  pathlib         (stdlib)\n\n  package.json:\n    ⚠️  axios@0.21.0   (CVE-2021-3749 - upgrade to 0.21.2+)\n\n════════════════════════════════════════════════════════════════\n                        VERDICT: ? DANGEROUS\n════════════════════════════════════════════════════════════════\n  \n  ⛔ DO NOT INSTALL THIS SKILL\n  \n  3 critical security issues found:\n  • Arbitrary code execution via eval()\n  • Command injection via shell=True\n  • Dangerous file deletion pattern\n  \n  Manual code review required before any use.\n  \n════════════════════════════════════════════════════════════════\n```\n\n---\n\n## ? Commands Reference\n\n### `scan \u003Cskill-name>`\nFetch and scan a skill from ClawHub before installing.\n\n```bash\nskillguard scan cool-automation-skill\nskillguard scan cool-automation-skill --verbose\nskillguard scan cool-automation-skill --json > report.json\n```\n\n### `scan-local \u003Cpath>`\nScan a local skill directory.\n\n```bash\nskillguard scan-local .\u002Fmy-skill\nskillguard scan-local ~\u002Fdownloads\u002Funtrusted-skill --strict\n```\n\n### `audit-installed`\nScan all skills in your workspace.\n\n```bash\nskillguard audit-installed\nskillguard audit-installed --fix  # Attempt to fix issues\n```\n\n### `deps \u003Cpath>`\nAnalyze dependencies for known vulnerabilities.\n\n```bash\nskillguard deps .\u002Fskill-folder\nskillguard deps .\u002Fskill-folder --update-db  # Refresh vuln database\n```\n\n### `report \u003Cskill> [--format]`\nGenerate detailed security report.\n\n```bash\nskillguard report suspicious-skill --format markdown > report.md\nskillguard report suspicious-skill --format json > report.json\nskillguard report suspicious-skill --format html > report.html\n```\n\n### `allowlist \u003Cskill>`\nMark a skill as manually reviewed and trusted.\n\n```bash\nskillguard allowlist my-trusted-skill\nskillguard allowlist --list  # Show all trusted skills\nskillguard allowlist --remove old-skill\n```\n\n### `watch`\nMonitor for new skill versions and auto-scan updates.\n\n```bash\nskillguard watch --interval 3600  # Check every hour\n```\n\n---\n\n## ⚙️ Configuration\n\nCreate `~\u002F.skillguard\u002Fconfig.json`:\n\n```json\n{\n  \"severity_threshold\": \"warning\",\n  \"auto_scan_on_install\": true,\n  \"block_critical\": true,\n  \"trusted_authors\": [\n    \"official\",\n    \"PaxSwarm\",\n    \"verified-publisher\"\n  ],\n  \"allowed_domains\": [\n    \"api.openai.com\",\n    \"api.anthropic.com\",\n    \"api.github.com\",\n    \"clawhub.ai\"\n  ],\n  \"ignored_patterns\": [\n    \"test_*.py\",\n    \"*_test.js\",\n    \"*.spec.ts\"\n  ],\n  \"custom_patterns\": [\n    {\n      \"regex\": \"my-internal-api\\\\.com\",\n      \"severity\": \"info\",\n      \"description\": \"Internal API endpoint\"\n    }\n  ],\n  \"vuln_db_path\": \"~\u002F.skillguard\u002Fvulns.json\",\n  \"report_format\": \"markdown\",\n  \"color_output\": true\n}\n```\n\n---\n\n## ? Security Levels\n\nAfter scanning, skills are assigned a security level:\n\n| Level | Badge | Meaning | Recommendation |\n|-------|-------|---------|----------------|\n| **Verified** | ✅ | Trusted author, no issues | Safe to install |\n| **Clean** | ? | No issues found | Likely safe |\n| **Review** | ? | Warnings only | Read before installing |\n| **Suspicious** | ? | Multiple warnings | Careful review needed |\n| **Dangerous** | ? | Critical issues | Do not install |\n| **Malicious** | ⛔ | Known malware patterns | Block & report |\n\n---\n\n## ? Integration Workflows\n\n### Pre-Install Hook\n```bash\n# Add to your workflow\nskillguard scan $SKILL && clawhub install $SKILL\n```\n\n### CI\u002FCD Pipeline\n```yaml\n# GitHub Actions example\n- name: Security Scan\n  run: |\n    pip install skillguard\n    skillguard scan-local .\u002Fmy-skill --strict --exit-code\n```\n\n### Automated Monitoring\n```bash\n# Cron job for daily audits\n0 9 * * * \u002Fpath\u002Fto\u002Fskillguard audit-installed --notify\n```\n\n---\n\n## ? Vulnerability Database\n\nSkillGuard maintains a local database of known vulnerabilities:\n\n```bash\n# Update vulnerability database\nskillguard update-db\n\n# Check database status\nskillguard db-status\n\n# Report a new vulnerability\nskillguard report-vuln --skill bad-skill --details \"Description...\"\n```\n\n**Sources:**\n- CVE Database (Python packages)\n- npm Advisory Database\n- GitHub Security Advisories\n- Community reports\n\n---\n\n## ? Limitations\n\nSkillGuard is a **first line of defense**, not a guarantee:\n\n| Limitation | Explanation |\n|------------|-------------|\n| **Obfuscation** | Determined attackers can hide malicious code |\n| **Dynamic code** | Runtime-generated code is harder to analyze |\n| **False positives** | Legitimate code may trigger warnings |\n| **Zero-days** | New attack patterns won't be detected |\n| **Dependencies** | Deep transitive dependency scanning is limited |\n\n**Defense in depth:** Use SkillGuard alongside:\n- Sandboxed execution environments\n- Network monitoring\n- Regular audits\n- Principle of least privilege\n\n---\n\n## ? Contributing\n\nFound a dangerous pattern we missed? Help improve SkillGuard:\n\n### Add a Pattern\n```json\n{\n  \"id\": \"CRIT-XXX\",\n  \"regex\": \"dangerous_function\\\\(\",\n  \"severity\": \"critical\",\n  \"category\": \"code_execution\",\n  \"description\": \"Dangerous function call\",\n  \"cwe\": \"CWE-94\",\n  \"remediation\": \"Use safe_alternative() instead\",\n  \"file_types\": [\".py\", \".js\"]\n}\n```\n\n### Report False Positives\n```bash\nskillguard report-fp --pattern \"WARN-005\" --reason \"Legitimate use case\"\n```\n\n---\n\n## ? Changelog\n\n### v2.0.0 (Current)\n- Comprehensive pattern database (50+ patterns)\n- Dependency vulnerability scanning\n- Multiple output formats (JSON, Markdown, HTML)\n- Configuration file support\n- Trusted author system\n- Watch mode for monitoring updates\n- Improved reporting with CWE references\n\n### v1.0.0\n- Initial release\n- Basic pattern detection\n- Local and remote scanning\n- Audit installed skills\n\n---\n\n## ? License\n\nMIT License — Use freely, contribute back.\n\n---\n\n## ?️ Stay Safe\n\n> \"In the agent ecosystem, trust is earned through transparency.\n> Every skill you install is code you're choosing to run.\n> Choose wisely. Verify always.\"\n\n*Built by [PaxSwarm](https:\u002F\u002Fgithub.com\u002FG0HEAD) — protecting the swarm, one skill at a time* ?‍⬛\n\n---\n\n**Links:**\n- [ClawHub](https:\u002F\u002Fclawhub.ai\u002Fskills\u002Fclawscan)\n- [GitHub](https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard)\n- [Report Issues](https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard\u002Fissues)\n- [Pattern Database](https:\u002F\u002Fgithub.com\u002FG0HEAD\u002Fskillguard\u002Fblob\u002Fmain\u002Fpatterns.json)\n",{"name":5,"author":41,"license":14,"version":42,"keywords":43,"triggers":46,"description":7},"PaxSwarm","2.0.0",[32,30,24,21,33,44,45,18,28],"skills","safety",[47,48,49,50,5,51,52],"skill security","vet skill","scan skill","is this skill safe","audit skill","clawscan","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fg0head\u002Fclawscan",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add kbarbel640-del\u002Fskills --skill skillguard",{"tool":66,"command":67},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill skillguard",{"tool":69,"command":70},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill skillguard","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fg0head\u002Fclawscan\u002FSKILL.md",true,[74,80,86],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"_meta.json","REFERENCE","参考文档",268,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fg0head\u002Fclawscan\u002F_meta.json",{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"scripts\u002Fskillguard.py","SCRIPT","脚本",37075,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fg0head\u002Fclawscan\u002Fscripts\u002Fskillguard.py",{"path":87,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":88,"sourceHtmlUrl":89},"skill.json",850,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fg0head\u002Fclawscan\u002Fskill.json",[91,122,151,172,178,198],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":102,"publishedAt":36},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],"crowd prompting","prompting","api","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":133,"publishedAt":36},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[128],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[134,105,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,110,150],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":160,"publishedAt":36},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":131,"taxonomyTypeDesc":132},"01JBSEEDCAT000000000000021","资料检索与研究",[161,162,163,164,165,166,167,106,168,148,150,169,105,170,171],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":173,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":177,"publishedAt":36},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[176],{"categoryNo":158,"categoryName":159,"taxonomyType":131,"taxonomyTypeDesc":132},[164,163,162,161,171,166,167,106,165,148,150,168,169,105,170],{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":184,"publishedAt":36},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[185,186,187,188,189,190,191,192,193,194,195,196,197],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":199,"name":200,"nameZh":6,"description":201,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":202,"categories":203,"keywords":208,"publishedAt":36},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[204,205],{"categoryNo":129,"categoryName":130,"taxonomyType":131,"taxonomyTypeDesc":132},{"categoryNo":206,"categoryName":207,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000037","律师与法务",[209,210,211,212,106,213,214,53,215,169,216,217,218,219,220,119,221,222,223],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]