security-check-skill
Security audit and inspection skill for Clawdbot skills.
Installation
npx clawhub@latest install security-check-skillView the full skill documentation and source below.
Documentation
Security Check Skill
Comprehensive security auditing for Clawdbot skills to detect malicious intent, prompt injection, secrets exposure, and misaligned behavior.
Quick Start
Pre-Installation Security Check
Before installing a new skill from ClawdHub or any source:
python3 scripts/scan_skill.py /path/to/skillDaily Security Audit
Run daily to ensure installed skills remain secure:
# Scan all skills in the skills directory
python3 scripts/scan_skill.py /path/to/skills/skill-1
python3 scripts/scan_skill.py /path/to/skills/skill-2
# ... repeat for each installed skill
Security Scanner
Running the Scanner
The scripts/scan_skill.py tool provides automated security analysis:
python3 scripts/scan_skill.py <skill-path>
Output includes:
- HIGH severity issues (immediate action required)
- MEDIUM severity warnings (review recommended)
- LOW severity notes (informational)
- Summary of checks performed
Example output:
{
"skill_name": "example-skill",
"issues": [
{
"severity": "HIGH",
"file": "SKILL.md",
"issue": "Potential prompt injection pattern",
"recommendation": "Review and remove suspicious patterns"
}
],
"warnings": [
{
"severity": "MEDIUM",
"file": "scripts/helper.py",
"issue": "os.system() usage detected",
"recommendation": "Review and ensure this is safe"
}
],
"passed": [
{"file": "SKILL.md", "check": "Prompt injection scan", "status": "Completed"}
],
"summary": "SECURITY ISSUES FOUND: 1 issue(s), 1 warning(s)"
}
What the Scanner Checks
- Prompt injection patterns
- External network calls
- Suspicious instructions
- Dangerous command patterns (rm -rf, eval, exec)
- Hardcoded secrets and credentials
- Unsafe subprocess usage
- File system operations outside skill directory
- Hardcoded secrets (passwords, API keys, tokens)
- Suspicious URLs (pastebin, raw GitHub links)
- Sensitive information exposure
Manual Security Checklist
Use the comprehensive checklist in references/security-checklist.md for manual reviews.
Critical Checks (Before Installation)
1. Documentation Integrity (SKILL.md)
- ✅ Description accurately reflects skill functionality
- ❌ No prompt injection patterns (see
references/prompt-injection-patterns.md) - ❌ No instructions to ignore/discard context
- ❌ No system override commands
- ✅ No hidden capabilities beyond description
2. Code Review (scripts/)
- ❌ No hardcoded credentials or secrets
- ❌ No dangerous file operations (rm -rf outside skill dir)
- ❌ No eval() or exec() with user input
- ❌ No unauthorized network requests
- ✅ All operations within skill directory
- ✅ Proper input validation
3. Reference Materials (references/)
- ❌ No hardcoded passwords, API keys, or tokens
- ❌ No production credentials in documentation
- ✅ Links only to legitimate, trusted sources
- ✅ No documentation of security bypasses
4. Behavior Alignment
- ✅ Every command matches stated purpose
- ✅ No hidden capabilities
- ✅ No unnecessary file system access
- ✅ Network access only when explicitly required
Daily Audit Checks
Specific Security Concerns
Prompt Injection Detection
Read references/prompt-injection-patterns.md for comprehensive patterns.
Key indicators:
- Instructions to ignore/discard context
- System override or bypass commands
- Authority impersonation (act as administrator, etc.)
- Jailbreak attempts (unrestricted mode, etc.)
- Instruction replacement patterns
Detection:
# Automated pattern matching
import re
dangerous_patterns = [
r'ignore\s+previous\s+instructions',
r'override\s+security',
r'act\s+as\s+administrator',
]
Secrets and Credentials Exposure
What to scan for:
- Hardcoded passwords, API keys, tokens
- AWS access keys and secret keys
- SSH private keys
- Database connection strings
- Other sensitive credentials
Patterns to detect:
password="..."
secret='...'
token="1234567890abcdef"
api_key="..."
aws_access_key_id="..."
Local Configuration Access
Block access to:
~/.clawdbot/credentials/~/.aws/credentials~/.ssh/directory~/.npmrcand other config files- Shell history files
- System keychain
Allow only:
- Skill-specific configuration files
- User-provided file paths
- Designated workspace directories
- Approved environment variables
Command-Behavior Alignment
Verification process:
Example misalignment:
❌ BLOCK:
- Description: "Format text documents"
- Actual: Scans filesystem, sends data to external server
✅ SAFE:
- Description: "Convert Markdown to PDF with templates"
- Actual: Reads Markdown, applies template, generates PDF
Security Severity Levels
HIGH (Immediate Block)
- Prompt injection patterns detected
- Hardcoded secrets or credentials
- Data exfiltration capabilities
- Unauthorized file system access
- Dangerous file operations (rm -rf, dd, etc.)
- eval() or exec() with untrusted input
MEDIUM (Review Required)
- Suspicious but not clearly malicious
- Requires user approval for specific operations
- Limited network access to unverified endpoints
- Unsafe subprocess usage (shell=True)
- Environment variable exposure risks
LOW (Informational)
- Suspicious URLs (may be legitimate)
- Documentation of deprecated practices
- Minor code quality issues
- Potential improvements for security
Installation Decision Framework
When to BLOCK (Do Not Install)
- Any HIGH severity issues present
- Clear prompt injection attempts
- Hardcoded secrets
- Data exfiltration
- Unauthorized access patterns
When to WARN (Install with Caution)
- MEDIUM severity issues present
- Suspicious patterns requiring verification
- Needs specific user approvals
- Network access to unknown endpoints
When to APPROVE (Safe to Install)
- No security issues detected
- Well-documented and transparent
- Matches description perfectly
- From trusted source
- Regularly audited
Dependency Security
Check skill dependencies for vulnerabilities:
# For Node.js skills
npm audit
npm audit fix
# For Python skills
pip-audit
safety check
What to check:
- Known CVEs in dependencies
- Outdated packages with security updates
- Transitive dependency vulnerabilities
- Untrusted or unmaintained packages
Security Reporting
Report Template
# Security Audit Report
**Date:** [Date]
**Skill:** [Skill Name]
**Version:** [Version]
## Executive Summary
[Overall security posture: SAFE, WARNING, or BLOCK]
## Critical Issues (Immediate Action Required)
[List HIGH severity issues]
## Warnings (Review Recommended)
[List MEDIUM severity issues]
## Informational Notes
[List LOW severity issues]
## Recommendations
[Actionable items to address issues]
## Conclusion
[Final verdict: Install/Block/Requires Changes]
Escalation Process
- HIGH: Block skill, report to author
- MEDIUM: Review, install with caution or wait for fix
- LOW: Note, monitor
Reference Materials
Essential Reading
references/security-checklist.md)- Comprehensive security criteria
- Command alignment verification
- Secrets exposure checks
- Installation guidelines
- Daily audit procedures
references/prompt-injection-patterns.md)- Detection categories and patterns
- Automated detection strategies
- Red flag indicators
- Mitigation techniques
- Reporting templates
Internal Security Docs
Refer to workspace security documents:
SECURITY_AUDIT_REPORT.md- Overall Clawdbot security posture- Any additional security policies or guidelines
Workflow Examples
Example 1: New Skill from ClawdHub
User request: "Check if skill 'xyz' is safe to install"
Response:
python3 scripts/scan_skill.py /tmp/xyz-skill- If HIGH issues: "❌ BLOCKED: [list issues] - Do not install"
- If MEDIUM issues: "⚠️ WARNING: [list issues] - Requires manual review"
- If clean: "✅ SAFE: No security issues detected - Can install"
Example 2: Daily Security Audit
Daily routine:
# Scan all installed skills
for skill in /Users/rlapuente/clawd/skills/*/; do
python3 scripts/scan_skill.py "$skill"
done
# Review any HIGH issues immediately
# Monitor MEDIUM issues for trends
Example 3: Verification of Skill Update
After skill update:
Best Practices
Maintenance
Regular Updates
- Update detection patterns for new threats
- Add new security indicators to checklist
- Improve scanner accuracy based on false positives/negatives
- Update reference materials with latest security research
Feedback Loop
When security issues are found:
Tools
scripts/scan_skill.py- Automated security scannerreferences/security-checklist.md- Manual security checklistreferences/prompt-injection-patterns.md- Prompt injection detection guide