{
  "skill_name": "linear-autopilot",
  "skill_path": "/workspace/skills/clawhub-linear-autopilot",
  "skill_directory": "/workspace/skills/clawhub-linear-autopilot",
  "is_safe": false,
  "max_severity": "HIGH",
  "findings_count": 5,
  "findings": [
    {
      "id": "llm_finding_linear-autopilot_0",
      "rule_id": "LLM_DATA_EXFILTRATION",
      "category": "data_exfiltration",
      "severity": "HIGH",
      "title": "Hardcoded API Key Storage in Unencrypted File",
      "description": "The skill instructs users to store their Linear API key in plaintext in ~/.clawdbot/linear.env without any encryption or secure storage mechanism. This creates a credential exposure risk where any process or malware with file system access can read the API key. The bash script also sources this file directly, making the key available in the shell environment.",
      "file_path": "SKILL.md",
      "line_number": null,
      "snippet": "echo \"LINEAR_API_KEY=lin_api_xxxxx\" > ~/.clawdbot/linear.env\nsource ~/.clawdbot/linear.env",
      "remediation": "Use secure credential storage mechanisms like system keychains (macOS Keychain, Windows Credential Manager, Linux Secret Service). Alternatively, use environment variables set in secure shell profiles with restricted permissions (chmod 600), or integrate with credential management tools like pass, 1Password CLI, or AWS Secrets Manager.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "This skill presents MULTIPLE HIGH-SEVERITY security risks primarily related to credential management and data exposure. The most critical issues are: (1) plaintext storage of API keys without encryption, (2) exposure of Discord bot tokens to third-party services, and (3) automatic git operations without user confirmation. The skill also exhibits concerning patterns around command injection risks, excessive data collection, and missing security controls. While the core functionality (Linear-Discord-Git automation) is legitimate, the implementation lacks fundamental security practices for credential protection, user consent, and data minimization. The skill requires significant security hardening before it can be considered safe for production use.",
        "primary_threats": [
          "Data Exfiltration/Exposure",
          "Credential Theft",
          "Tool Exploitation",
          "Command Injection",
          "Over-Collection"
        ],
        "aitech": "AITech-8.2",
        "aitech_name": "Data Exfiltration / Exposure",
        "aisubtech": "AISubtech-8.2.3",
        "aisubtech_name": "Data Exfiltration via Agent Tooling",
        "scanner_category": "SECURITY VIOLATION",
        "meta_validated": true,
        "meta_confidence": "HIGH",
        "meta_confidence_reason": "LLM analyzer correctly identified plaintext credential storage. The actual code confirms no encryption or permission restrictions are applied. This is a well-known security anti-pattern.",
        "meta_exploitability": "Easy - any malware or process with user-level access can read the file",
        "meta_impact": "High - compromised Linear API key allows full access to user's Linear workspace, task data, and team information"
      }
    },
    {
      "id": "llm_finding_linear-autopilot_1",
      "rule_id": "LLM_DATA_EXFILTRATION",
      "category": "data_exfiltration",
      "severity": "HIGH",
      "title": "Discord Bot Token Exposure Risk in Third-Party Services",
      "description": "The setup instructions guide users to provide their Discord bot token to third-party automation services (Make.com, Pipedream, Zapier). This creates a credential exposure risk where the bot token is stored in external services outside the user's control. If these services are compromised or have data breaches, the bot token could be exposed, allowing unauthorized access to the Discord bot.",
      "file_path": "references/pipedream-setup.md",
      "line_number": null,
      "snippet": "Connect your Discord bot account (use Clawdbot's bot token)\nUse **Discord Bot** integration with your Clawdbot token",
      "remediation": "Use Discord webhooks instead of bot tokens for third-party integrations where possible. Webhooks are channel-specific and have limited scope. If bot tokens must be used, clearly warn users about the security implications and recommend using a dedicated bot with minimal permissions for automation workflows. Consider implementing token rotation and monitoring for unauthorized usage.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "This skill presents MULTIPLE HIGH-SEVERITY security risks primarily related to credential management and data exposure. The most critical issues are: (1) plaintext storage of API keys without encryption, (2) exposure of Discord bot tokens to third-party services, and (3) automatic git operations without user confirmation. The skill also exhibits concerning patterns around command injection risks, excessive data collection, and missing security controls. While the core functionality (Linear-Discord-Git automation) is legitimate, the implementation lacks fundamental security practices for credential protection, user consent, and data minimization. The skill requires significant security hardening before it can be considered safe for production use.",
        "primary_threats": [
          "Data Exfiltration/Exposure",
          "Credential Theft",
          "Tool Exploitation",
          "Command Injection",
          "Over-Collection"
        ],
        "aitech": "AITech-8.2",
        "aitech_name": "Data Exfiltration / Exposure",
        "aisubtech": "AISubtech-8.2.3",
        "aisubtech_name": "Data Exfiltration via Agent Tooling",
        "scanner_category": "SECURITY VIOLATION",
        "meta_validated": true,
        "meta_confidence": "HIGH",
        "meta_confidence_reason": "LLM correctly identified credential exposure risk. The setup guides explicitly instruct users to provide bot tokens to external services. This is a legitimate architectural concern.",
        "meta_exploitability": "Medium - requires compromise of third-party service, but impact is significant",
        "meta_impact": "High - compromised bot token allows full bot impersonation, message sending, and potential server access depending on bot permissions"
      }
    },
    {
      "id": "llm_finding_linear-autopilot_2",
      "rule_id": "LLM_UNAUTHORIZED_TOOL_USE",
      "category": "unauthorized_tool_use",
      "severity": "MEDIUM",
      "title": "Unrestricted Git Auto-Push Without User Confirmation",
      "description": "The skill configuration enables automatic git commits and pushes (autoPush: true) without explicit user confirmation for each operation. The bash script performs git operations that could push sensitive task data, API responses, or configuration files to remote repositories without user review. This violates the principle of user control over data transmission.",
      "file_path": "SKILL.md",
      "line_number": null,
      "snippet": "{\"git\": {\"autoPush\": true, \"commitPrefix\": \"task:\"}}\ngit add . && git commit -m \"$COMMIT_PREFIX $msg\" && git push",
      "remediation": "Make auto-push opt-in with explicit user confirmation. Add a confirmation prompt before each git push operation, or require users to manually enable auto-push with clear warnings about what data will be transmitted. Implement a dry-run mode that shows what would be committed before actually pushing. Add .gitignore rules to exclude sensitive files like linear.env and linear-config.json.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "This skill presents MULTIPLE HIGH-SEVERITY security risks primarily related to credential management and data exposure. The most critical issues are: (1) plaintext storage of API keys without encryption, (2) exposure of Discord bot tokens to third-party services, and (3) automatic git operations without user confirmation. The skill also exhibits concerning patterns around command injection risks, excessive data collection, and missing security controls. While the core functionality (Linear-Discord-Git automation) is legitimate, the implementation lacks fundamental security practices for credential protection, user consent, and data minimization. The skill requires significant security hardening before it can be considered safe for production use.",
        "primary_threats": [
          "Data Exfiltration/Exposure",
          "Credential Theft",
          "Tool Exploitation",
          "Command Injection",
          "Over-Collection"
        ],
        "aitech": "AITech-12.1",
        "aitech_name": "Tool Exploitation",
        "aisubtech": "AISubtech-12.1.2",
        "aisubtech_name": "Tool Poisoning",
        "scanner_category": "SUSPICIOUS CODE EXECUTION",
        "meta_validated": true,
        "meta_confidence": "MEDIUM",
        "meta_confidence_reason": "This is a design choice rather than a vulnerability. The risk depends on what data is being committed. For a task automation tool, auto-commit may be intentional. However, lack of user control is a valid concern.",
        "meta_exploitability": "Low - requires user to enable the feature and have git remote configured",
        "meta_impact": "Medium - potential exposure of sensitive task data or credentials if committed to public repositories"
      }
    },
    {
      "id": "llm_finding_linear-autopilot_3",
      "rule_id": "LLM_COMMAND_INJECTION",
      "category": "command_injection",
      "severity": "MEDIUM",
      "title": "Command Injection Risk in Git Commit Messages",
      "description": "The bash script constructs git commit messages using variables that may contain user-controlled content from Linear task titles or descriptions without proper sanitization. If a task title contains shell metacharacters or command substitution syntax, it could lead to command injection when the commit message is constructed.",
      "file_path": "scripts/linear-api.sh",
      "line_number": null,
      "snippet": "git commit -m \"$COMMIT_PREFIX $msg\"\n# Where $msg comes from task data without sanitization",
      "remediation": "Properly quote and escape all variables used in shell commands. Use git commit with the -F flag to read commit messages from a file instead of inline strings, or use printf '%s' to safely handle special characters. Sanitize task titles and descriptions before using them in shell commands by removing or escaping shell metacharacters.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "This skill presents MULTIPLE HIGH-SEVERITY security risks primarily related to credential management and data exposure. The most critical issues are: (1) plaintext storage of API keys without encryption, (2) exposure of Discord bot tokens to third-party services, and (3) automatic git operations without user confirmation. The skill also exhibits concerning patterns around command injection risks, excessive data collection, and missing security controls. While the core functionality (Linear-Discord-Git automation) is legitimate, the implementation lacks fundamental security practices for credential protection, user consent, and data minimization. The skill requires significant security hardening before it can be considered safe for production use.",
        "primary_threats": [
          "Data Exfiltration/Exposure",
          "Credential Theft",
          "Tool Exploitation",
          "Command Injection",
          "Over-Collection"
        ],
        "aitech": "AITech-9.1",
        "aitech_name": "Model or Agentic System Manipulation",
        "aisubtech": "AISubtech-9.1.4",
        "aisubtech_name": "Injection Attacks (SQL, Command Execution, XSS)",
        "scanner_category": "INJECTION ATTACK",
        "meta_validated": true,
        "meta_confidence": "MEDIUM",
        "meta_confidence_reason": "The actual linear-api.sh script does NOT contain git commit commands - this is implied behavior from SKILL.md instructions. The risk exists if the agent implements this pattern, but it's not in the provided code.",
        "meta_exploitability": "Medium - requires attacker to control Linear task titles and trigger git operations",
        "meta_impact": "Medium - arbitrary command execution in the context of the user running the script"
      }
    },
    {
      "id": "llm_finding_linear-autopilot_7",
      "rule_id": "LLM_DATA_EXFILTRATION",
      "category": "data_exfiltration",
      "severity": "LOW",
      "title": "Configuration File Permissions Not Enforced",
      "description": "The setup instructions create configuration files (~/.clawdbot/linear.env, ~/.clawdbot/linear-config.json) without setting restrictive file permissions. These files contain sensitive data (API keys, Discord IDs) but may be readable by other users or processes on multi-user systems.",
      "file_path": "SKILL.md",
      "line_number": null,
      "snippet": "mkdir -p ~/.clawdbot\necho \"LINEAR_API_KEY=lin_api_xxxxx\" > ~/.clawdbot/linear.env\n# No chmod command to restrict permissions",
      "remediation": "Add explicit permission setting commands after file creation: chmod 600 ~/.clawdbot/linear.env and chmod 600 ~/.clawdbot/linear-config.json. Document that the ~/.clawdbot directory should have restricted permissions (chmod 700). Include security best practices in the setup documentation.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "This skill presents MULTIPLE HIGH-SEVERITY security risks primarily related to credential management and data exposure. The most critical issues are: (1) plaintext storage of API keys without encryption, (2) exposure of Discord bot tokens to third-party services, and (3) automatic git operations without user confirmation. The skill also exhibits concerning patterns around command injection risks, excessive data collection, and missing security controls. While the core functionality (Linear-Discord-Git automation) is legitimate, the implementation lacks fundamental security practices for credential protection, user consent, and data minimization. The skill requires significant security hardening before it can be considered safe for production use.",
        "primary_threats": [
          "Data Exfiltration/Exposure",
          "Credential Theft",
          "Tool Exploitation",
          "Command Injection",
          "Over-Collection"
        ],
        "aitech": "AITech-8.2",
        "aitech_name": "Data Exfiltration / Exposure",
        "aisubtech": "AISubtech-8.2.3",
        "aisubtech_name": "Data Exfiltration via Agent Tooling",
        "scanner_category": "SECURITY VIOLATION",
        "meta_validated": true,
        "meta_confidence": "HIGH",
        "meta_confidence_reason": "This is a standard security best practice. The code clearly lacks permission restrictions.",
        "meta_exploitability": "Low - requires local access to the system and depends on system configuration",
        "meta_impact": "Medium - on multi-user systems, other users could read API keys and configuration"
      }
    }
  ],
  "scan_duration_seconds": 47.06123685836792,
  "duration_ms": 47061,
  "analyzers_used": [
    "static_analyzer",
    "behavioral_analyzer",
    "llm_analyzer",
    "trigger_analyzer",
    "meta_analyzer"
  ],
  "timestamp": "2026-02-06T04:02:29.711213"
}