Clawhub Publish Security

# ClawHub Publish Security Skill 🔒

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "Clawhub Publish Security" with this command: npx skills add vilda007/clawhub-publish-security

ClawHub Publish Security Skill 🔒

Description

Mandatory security scanner for ClawHub skill publication. Automatically detects and prevents accidental exposure of sensitive information in skills before publication.

When to Use This Skill

ALWAYS run before clawhub publish:

  • Publishing your first skill
  • Updating existing skills
  • Any skill that contains configuration examples
  • Scripts that handle credentials or paths

Installation

# Install via ClawHub
clawhub install clawhub-publish-security

# The skill installs:
# - security-scan.py (automated scanner)
# - README.md (complete security guide)
# - SKILL.md (this file)

Usage

Quick Scan

# Scan a skill before publication
python skills/clawhub-publish-security/security-scan.py skills/your-skill

# Or from skill directory
cd skills/your-skill
python ../clawhub-publish-security/security-scan.py .

Pre-Publish Workflow

# 1. Create your skill
cd skills/my-awesome-skill

# 2. Run security scan
python ../clawhub-publish-security/security-scan.py .

# 3. Fix any issues found

# 4. Re-run scan until clean
python ../clawhub-publish-security/security-scan.py .

# 5. Publish only when scan passes
clawhub publish . --slug my-awesome-skill

What It Checks

❌ Blocked Patterns (Will Fail Scan)

TypePatternExample (❌ BAD)Fix (✅ GOOD)
Phone Numbers+420..., +1...+420XXXXXXXXX<YOUR_PHONE_NUMBER>
Personal PathsUsers\name\C:\COMFYUIC:\ComfyUI
API Keysapi_key=XXXapi_key=sk-XXXos.environ.get("API_KEY")
Tokenstoken=XXXtoken=ghp_XXX<YOUR_TOKEN>
EmailsXXX@XXX.complaceholder@placeholder.com<YOUR_EMAIL>
Passwordspassword=XXXpassword=XXX<YOUR_PASSWORD>
Secretssecret=XXXsecret=XXX<YOUR_SECRET>

✅ Allowed Patterns (Safe)

TypeExampleStatus
Placeholders<YOUR_PHONE_NUMBER>✅ Safe
Env varsos.environ.get("API_KEY")✅ Safe
Generic pathsC:\ComfyUI, ~/.openclaw✅ Safe
Author name"author": "Name (user)"✅ Safe
Public URLshttps://github.com/...✅ Safe

Output Examples

Clean Scan ✅

============================================================
[LOCK] ClawHub Publish Security Scanner
============================================================

[DIR] Scanning: C:\Users\vilda\.openclaw\workspace\skills\your-skill

[OK] Phone Numbers:     CLEAN (0 found)
[OK] Personal Paths:    CLEAN (0 found)
[OK] API Keys:          CLEAN (0 found)
[OK] Tokens:            CLEAN (0 found)
[OK] Emails:            CLEAN (0 found)
[OK] Passwords:         CLEAN (0 found)
[OK] Secrets:           CLEAN (0 found)

[PASS] ALL CHECKS PASSED - Ready for publication!

[OK] You can now safely run: clawhub publish

Failed Scan ❌

============================================================
[LOCK] ClawHub Publish Security Scanner
============================================================

[DIR] Scanning: C:\Users\vilda\.openclaw\workspace\skills\your-skill

[FAIL] Phone Numbers:     FOUND (1 issue)
   - config.json:15: "+420XXXXXXXXX"

[OK] Personal Paths:    CLEAN (0 found)
[OK] API Keys:          CLEAN (0 found)
...

============================================================
[FAIL] SECURITY ISSUES FOUND - Do NOT publish!
   Total issues: 1
============================================================

[INFO] How to fix:
   - Phone numbers: Replace with <YOUR_PHONE_NUMBER>

[FAIL] After fixing, re-run: python security-scan.py /path/to/skill
[OK] Only publish when ALL checks pass!

Files to Scan

Always Scan These:

FileRisk LevelCommon Issues
*.py, *.js🔴 HighHardcoded credentials
config.json🔴 HighAPI keys, tokens
*.sh, *.ps1🔴 HighPersonal paths
README.md🟡 MediumExample values
SKILL.md🟡 MediumConfig examples

Safe to Skip:

FileReason
*.md (docs only)Low risk, but still scanned
LICENSENo credentials
.gitignoreNo credentials

Integration

OpenClaw Pre-Publish Hook

Add to your workflow:

# Before every publish
alias clawhub-publish="python skills/clawhub-publish-security/security-scan.py . && clawhub publish"

# Usage
clawhub-publish . --slug my-skill

CI/CD Pipeline

# GitHub Actions example
- name: Security Scan
  run: python skills/clawhub-publish-security/security-scan.py ./skills/my-skill

- name: Publish to ClawHub
  if: success()
  run: clawhub publish ./skills/my-skill

Best Practices

DO ✅

# Environment variables
api_key = os.environ.get("API_KEY")

# Generic paths
comfyui_path = r"C:\ComfyUI"

# Placeholders in docs
"target": "<YOUR_PHONE_NUMBER>"

# Author attribution
"author": "Name (username)"

DON'T ❌

# Hardcoded credentials
api_key = "sk-XXX"

# Personal paths
comfyui_path = r"C:\<name>\ComfyUI"

# Real values in examples
"target": "+420XXXXXXXXX"

Troubleshooting

False Positive: Email in Author Field

Problem: Scanner flags email in author attribution

Solution: This is intentional - emails should not be in published skills. Use:

"author": "Name (username)"

False Positive: Generic Path

Problem: C:\Program Files flagged

Solution: This is a system path, should be safe. If flagged, report as bug.

Scan Hangs

Problem: Scan takes too long

Solution: Check for large files or binary files. Add to .gitignore.

Related Skills

  • clawhub-smart-updater - Safe skill updates
  • openclaw-safe-audit - Security audit for OpenClaw
  • edgeone-clawscan - Tencent security scanner

License

MIT-0 - Free to use, modify, and redistribute without attribution.

Author

Klepeto 🦞 (vilda)
Created: 2026-05-07
Purpose: Prevent security incidents in published ClawHub skills

Changelog

1.0.0 (2026-05-07)

  • Initial release
  • Automated security scanning
  • Pattern detection for 7 sensitive data types
  • Pre-publish checklist
  • CI/CD integration support

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

BTC/ETH AI Trader

BTC/ETH 交易分析系统。AI技术分析、开仓建议、飞书推送。

Registry SourceRecently Updated
00Profile unavailable
General

学习DNA档案

小龙虾"长期记忆"的核心引擎——学习DNA档案。每当学生开始新对话、 自我介绍、填写学习信息、说"记住我"、"我的情况是"、"更新我的档案", 或任何需要小龙虾了解这个学生是谁时,必须激活此SKILL。 没有学习DNA,小龙虾每次对话都是"失忆状态";装了此SKILL, 它才能真正记住这个孩子——弱点、风格、目标...

Registry SourceRecently Updated
General

Database Skill

用于火山引擎(Volcengine)数据库(MySQL、veDB-MySQL、PostgreSQL、SQL Server、MongoDB、Redis)和公网自建数据库(MySQL和PostgreSQL系列)的元数据管理、数据分析、开发变更、运维诊断、巡检。覆盖实例列表查询、实例下数据库列表查询、表列表查询、表结构...

Registry SourceRecently Updated
General

Garmin Connect Health

Fetch health and fitness data from Garmin Connect -- 40+ metrics including sleep, HRV, stress, body battery, SpO2, VO2 Max, training status, and activities....

Registry SourceRecently Updated
2850dw1161