Back to skill

Security audit

ClawHub Login Helper

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed ClawHub login helper for headless servers, with some usability and accuracy issues but no artifact-backed malicious behavior.

Install only if you are comfortable letting this helper invoke your local ClawHub CLI and participate in account login. Treat authorization URLs, callback URLs, and tokens as sensitive, and note that the callback automation appears incomplete despite the help text.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file’s operational instructions, warnings, and usage guidance are entirely in Chinese, which effectively forces a specific language on users. The policy allows locale constraints only when users are given a choice or when the restriction is clearly documented and justified, neither of which appears here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code file contains natural-language instructions and CLI help text entirely in Chinese, which effectively forces a specific language on users without opt-in. The policy allows locale constraints only when clearly documented and justified or when users are offered a choice, neither of which is present here.

Content

No source excerpt is available for this finding.

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/clawhub_login.py (reported line 41)May include surrounding context.

python
def check_login_status():
    """检查登录状态"""
    try:
        result = subprocess.run(['clawhub', 'whoami'], capture_output=True, text=True)
        if result.returncode == 0:
            return True, result.stdout.strip()
        return False, result.stderr.strip()

subprocess module call

Medium
Category
Dangerous Code Execution
Confidence
70% confidence
Finding

subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Content

Scanner excerpt · scripts/clawhub_login.py (reported line 52)May include surrounding context.

python
"""获取授权 URL"""
    try:
        # 运行 clawhub login,捕获输出
        result = subprocess.run(['clawhub', 'login'], capture_output=True, text=True)
        
        # 从错误输出中提取 URL
        output = result.stderr

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The argument help text says the --callback parameter is '用于自动完成登录' (used to automatically complete login), creating a clear expectation that providing a callback URL will be handled by the script. However, after parsing arguments, the code never references args.callback anywhere, and login flow relies only on subprocess calls and token-file checks.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.