Back to skill

Security audit

Clawhub Manager

Security checks for vulnerabilities and agentic risk

Overview

This is mostly a legitimate ClawHub management skill, but a scanner test script can unexpectedly reach the real publish flow and the publish script includes a security-scan bypass.

Install only if you are comfortable with a tool that can publish and delete ClawHub skills using your active CLI login. Verify the logged-in account and target directory before publishing, avoid --skip-security for real releases, and do not run test-security-scan.sh unless you accept possible live publish side effects.

Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (11)

Unsafe Defaults

Medium
Category
Tool Misuse
Content
### ⚙️ 改进

- **发布流程优化**:安全扫描失败时会阻止发布,并提供修复建议
- **跳过选项**:添加 `--skip-security` 参数(不推荐,仅用于测试)

### 🔧 技术细节
Confidence
81% confidence
Finding
Documenting and supporting a `--skip-security` option weakens the release safety model because it creates an easy path to bypass secret-scanning protections before publication. Even though the changelog labels it as not recommended and for testing only, normalizing this bypass in a skill-management tool increases the chance of accidental or negligent publication of sensitive material.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
bash test-security-scan.sh

# 跳过安全扫描(不推荐)
bash publish.sh /path/to/skill --version 1.0.0 --skip-security
```

---
Confidence
87% confidence
Finding
The example command explicitly shows how to publish while skipping security scanning, which lowers the barrier to unsafe use and can train operators to bypass checks during routine workflows. In the context of a tool that publishes skills to a hub, this is more dangerous because it can directly enable distribution of packages containing secrets or other unsafe content.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
```bash
# ⚠️ 仅在测试环境使用
bash publish.sh /path/to/skill --version 1.0.0 --skip-security
```

### 3. 手动安全检查
Confidence
88% confidence
Finding
Documenting a '--skip-security' flag creates an officially supported path to bypass the security scan before publishing. Even though the text warns it is only for testing, such bypasses are frequently reused in production workflows, allowing skills with embedded secrets or other unsafe content to be published without checks.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
```bash
# ⚠️ 仅在测试环境使用
bash publish.sh /path/to/skill --version 1.0.0 --skip-security
```

## 注意事项
Confidence
89% confidence
Finding
Documenting and apparently supporting a '--skip-security' flag weakens the intended protection against publishing secrets or sensitive files. Even though the docs say it is not recommended, a bypassable scan creates an unsafe default path in operational practice, especially for hurried or automated publishing workflows.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
SLUG=""
NAME=""
CHANGELOG=""
SKIP_SECURITY=""

while [[ $# -gt 0 ]]; do
  case $1 in
Confidence
86% confidence
Finding
The script supports a --skip-security flag that allows operators to bypass all secret-scanning safeguards before publishing. In a publishing workflow, this weakens the trust boundary and can directly enable accidental release of hardcoded credentials or sensitive files to a remote registry.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
CHANGELOG="$2"
      shift 2
      ;;
    --skip-security)
      SKIP_SECURITY="yes"
      shift
      ;;
Confidence
90% confidence
Finding
This option explicitly enables skipping the security scan, creating an unsafe path through the release process. If used, secrets, tokens, or sensitive files that the scanner would have caught may be published externally, causing credential leakage and supply-chain exposure.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
shift 2
      ;;
    --skip-security)
      SKIP_SECURITY="yes"
      shift
      ;;
    *)
Confidence
90% confidence
Finding
Assigning SKIP_SECURITY='yes' activates a code path that disables protective validation entirely. In the context of a skill publishing tool, this increases the likelihood of publishing unsafe or secret-bearing content to a shared platform.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
echo "  --slug <slug>         技能 slug(可选)"
  echo "  --name <name>         显示名称(可选)"
  echo "  --changelog <text>    更新日志(可选)"
  echo "  --skip-security       跳过安全扫描(不推荐)"
  echo ""
  echo "示例:"
  echo "  $0 /path/to/skill --version 1.0.0"
Confidence
84% confidence
Finding
Documenting and advertising the skip flag in help text normalizes bypassing security checks and makes misuse easier. That does not create exploitation by itself, but it materially lowers the barrier to releasing unscanned content in operational use.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
echo "  3. 确保敏感文件在 .gitignore 中"
    echo "  4. 撤销已泄露的密钥并重新生成"
    echo ""
    echo "如需跳过安全扫描(不推荐),使用 --skip-security 参数"
    return 1
  fi
}
Confidence
85% confidence
Finding
The script tells users to use --skip-security after a failed scan, which actively encourages bypassing a security control. In practice, this can turn a blocked secret-leak event into a published exposure, especially under delivery pressure.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
}

# 执行安全扫描(除非显式跳过)
if [ "$SKIP_SECURITY" != "yes" ]; then
  if ! security_scan "$SKILL_PATH"; then
    echo "⚠️  发布已取消"
    exit 1
Confidence
92% confidence
Finding
This conditional is the actual enforcement bypass: when SKIP_SECURITY is set, the scan is not executed. Because the tool publishes to ClawHub, the context makes this more dangerous than a local-only lint bypass; it can directly lead to external distribution of sensitive or malicious content.

Unsafe Defaults

Medium
Category
Tool Misuse
Content
exit 1
  fi
else
  echo "⚠️  警告:已跳过安全扫描(--skip-security)"
  echo ""
fi
Confidence
87% confidence
Finding
This branch confirms that publication can proceed after skipping the security scan, explicitly weakening the secure-by-default posture. The surrounding context—secret scanning before artifact publication—means the bypass has real confidentiality and supply-chain risk.

Static analysis

Detected: suspicious.generated_source_template_injection

User-controlled placeholder is embedded directly into generated source code.

Critical
Code
suspicious.generated_source_template_injection
Location
SECURITY.md:120

User-controlled placeholder is embedded directly into generated source code.

Critical
Code
suspicious.generated_source_template_injection
Location
SKILL.md:112