{
  "skill_name": "querit-search",
  "skill_path": "/workspace/skills/clawhub-querit-search",
  "skill_directory": "/workspace/skills/clawhub-querit-search",
  "is_safe": true,
  "max_severity": "MEDIUM",
  "findings_count": 2,
  "findings": [
    {
      "id": "llm_finding_querit-search_0",
      "rule_id": "LLM_DATA_EXFILTRATION",
      "category": "data_exfiltration",
      "severity": "MEDIUM",
      "title": "Hardcoded External Repository Download Without Integrity Verification",
      "description": "The install.sh script downloads files from a GitHub repository (https://raw.githubusercontent.com/interskh/querit-search/main) without any integrity verification (no checksums, signatures, or hash validation). This creates a supply chain risk where an attacker who compromises the GitHub repository or performs a man-in-the-middle attack could inject malicious code that would be executed on the user's system.",
      "file_path": "install.sh",
      "line_number": null,
      "snippet": "REPO_BASE=\"https://raw.githubusercontent.com/interskh/querit-search/main\"\nFILES=\"SKILL.md search.js content.js package.json _meta.json\"\n\nfor file in $FILES; do\n  curl -fsSL \"${REPO_BASE}/${file}\" -o \"${SKILL_DIR}/${file}\"\ndone",
      "remediation": "Implement integrity verification: (1) Include SHA-256 checksums for all downloaded files in the installer script, (2) Verify checksums after download before execution, (3) Use signed releases or Git commit hashes instead of 'main' branch, (4) Consider bundling dependencies within the skill package instead of downloading at install time.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "The querit-search skill is a web search integration that poses MODERATE security risk. The primary concerns are supply chain security (unverified downloads from GitHub) and API key management practices. The skill does not exhibit malicious behavior such as data exfiltration, prompt injection, or command injection. However, the installation mechanism downloads code from an external repository without integrity verification, creating a supply chain vulnerability. The skill also requires an API key via environment variable without comprehensive security guidance. Missing optional metadata reduces transparency. The skill's core functionality (web search via external API) is legitimate and matches its description, but security hardening is recommended before production use.",
        "primary_threats": [
          "Supply Chain Risk",
          "Credential Management",
          "Missing Security Documentation"
        ],
        "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 a real supply chain vulnerability. The code downloads and executes scripts without verification, which is a well-known attack vector.",
        "meta_exploitability": "Medium - Requires compromising the GitHub repository or MITM position, but once achieved, full code execution is possible",
        "meta_impact": "High - Arbitrary code execution with user privileges during installation"
      }
    },
    {
      "id": "llm_finding_querit-search_1",
      "rule_id": "LLM_DATA_EXFILTRATION",
      "category": "data_exfiltration",
      "severity": "MEDIUM",
      "title": "API Key Exposure Risk via Environment Variable",
      "description": "The skill requires QUERIT_API_KEY to be set as an environment variable and passes it to Node.js scripts. While environment variables are a standard practice, there is no documentation about secure handling, rotation policies, or warnings about API key exposure in logs or process listings. The skill metadata indicates this is the 'primaryEnv' variable, making it a critical credential.",
      "file_path": "SKILL.md",
      "line_number": 7,
      "snippet": "Needs env: `QUERIT_API_KEY` \u2014 get a free key at https://querit.ai (1,000 queries/month).\n\nYAML metadata:\n'primaryEnv': 'QUERIT_API_KEY'",
      "remediation": "Add security guidance: (1) Document that API keys should never be committed to version control, (2) Recommend using secure credential storage (e.g., system keychain), (3) Warn users that environment variables may be visible in process listings, (4) Implement key rotation reminders, (5) Consider adding a check to warn if the key appears to be exposed in logs.",
      "analyzer": "llm",
      "metadata": {
        "model": "claude-sonnet-4-5-20250929",
        "overall_assessment": "The querit-search skill is a web search integration that poses MODERATE security risk. The primary concerns are supply chain security (unverified downloads from GitHub) and API key management practices. The skill does not exhibit malicious behavior such as data exfiltration, prompt injection, or command injection. However, the installation mechanism downloads code from an external repository without integrity verification, creating a supply chain vulnerability. The skill also requires an API key via environment variable without comprehensive security guidance. Missing optional metadata reduces transparency. The skill's core functionality (web search via external API) is legitimate and matches its description, but security hardening is recommended before production use.",
        "primary_threats": [
          "Supply Chain Risk",
          "Credential Management",
          "Missing Security Documentation"
        ],
        "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": "MEDIUM",
        "meta_confidence_reason": "This is a documentation/best-practice issue rather than an active vulnerability. The implementation itself (using env vars) is standard, but guidance would improve security posture.",
        "meta_exploitability": "Low - Requires user to mishandle the key (commit to git, expose in logs, etc.)",
        "meta_impact": "Medium - API key exposure could lead to quota exhaustion or unauthorized searches"
      }
    }
  ],
  "scan_duration_seconds": 32.89044976234436,
  "duration_ms": 32890,
  "analyzers_used": [
    "static_analyzer",
    "llm_analyzer",
    "meta_analyzer"
  ],
  "timestamp": "2026-02-07T19:45:26.300239"
}