{
  "skill_name": "glass-shard-title",
  "skill_path": "/Users/brianlevine/claude-projects/skill-scanner-test/skills/heygen-com-hyperframes/registry/blocks/glass-shard-title",
  "is_safe": false,
  "max_severity": "CRITICAL",
  "findings_count": 6,
  "findings": [
    {
      "id": "LOW_ANALYZABILITY_MODERATE",
      "rule_id": "LOW_ANALYZABILITY",
      "category": "policy_violation",
      "severity": "MEDIUM",
      "title": "Moderate analyzability score",
      "description": "Only 90% of skill content could be analyzed. 1 of 14 files are opaque to the scanner. Some content could not be verified as safe.",
      "file_path": null,
      "line_number": null,
      "snippet": null,
      "remediation": "Review opaque files and replace with inspectable formats where possible.",
      "analyzer": "analyzability",
      "metadata": {
        "score": 89.7,
        "unanalyzable_files": 1,
        "total_files": 14,
        "risk_level": "MEDIUM",
        "aitech": "AITech-9.2",
        "aitech_name": "Detection Evasion",
        "aisubtech": "AISubtech-9.2.1",
        "aisubtech_name": "Obfuscation Vulnerabilities",
        "aitech_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "MITRE ATLAS: AML.T0107: Exploitation for Defense Evasion",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "aisubtech_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "framework_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "MANIFEST_MISSING_LICENSE_c5ae9be793",
      "rule_id": "MANIFEST_MISSING_LICENSE",
      "category": "policy_violation",
      "severity": "INFO",
      "title": "Skill does not specify a license",
      "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
      "file_path": "SKILL.md",
      "line_number": null,
      "snippet": null,
      "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)",
      "analyzer": "static",
      "metadata": {
        "aitech": null,
        "aitech_name": null,
        "aisubtech": null,
        "aisubtech_name": null,
        "aitech_mappings": [],
        "aisubtech_mappings": [],
        "framework_mappings": [],
        "taxonomy_status": "not_applicable",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "UNANALYZABLE_BINARY_assets/ferndale_studio_01_1k.hdr",
      "rule_id": "UNANALYZABLE_BINARY",
      "category": "policy_violation",
      "severity": "MEDIUM",
      "title": "Unanalyzable binary file",
      "description": "Binary file 'assets/ferndale_studio_01_1k.hdr' cannot be inspected by the scanner. Reason: Binary file (.hdr) - cannot inspect content. Binary files resist static analysis and may contain hidden functionality.",
      "file_path": "assets/ferndale_studio_01_1k.hdr",
      "line_number": null,
      "snippet": null,
      "remediation": "Replace binary files with source code, or submit the binary to VirusTotal for independent verification (--use-virustotal).",
      "analyzer": "analyzability",
      "metadata": {
        "skip_reason": "Binary file (.hdr) - cannot inspect content",
        "weight": 20.638835365967676,
        "semantic_facts": {
          "evidence_kind": "file_analyzability",
          "evidence_value_class": "opaque_binary",
          "context_kind": "binary",
          "signal_kind": "unanalyzable_binary"
        },
        "cel": {
          "decision": "would_suppress",
          "reason": "shadow_or_rule_rollout",
          "fact_schema": "v1",
          "expression_hash": "5a9db9ca3422a0d8437343780ce9aaabdc4dca71aa98bcf63a85b681ef985ce2",
          "pack": "core",
          "rollout": "shadow"
        },
        "aitech": "AITech-9.2",
        "aitech_name": "Detection Evasion",
        "aisubtech": "AISubtech-9.2.1",
        "aisubtech_name": "Obfuscation Vulnerabilities",
        "aitech_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "MITRE ATLAS: AML.T0107: Exploitation for Defense Evasion",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "aisubtech_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "framework_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "BINARY_FILE_DETECTED_f840f2503a",
      "rule_id": "BINARY_FILE_DETECTED",
      "category": "policy_violation",
      "severity": "INFO",
      "title": "Binary file detected in skill package",
      "description": "Binary file found: assets/ferndale_studio_01_1k.hdr. Binary files cannot be inspected by static analysis. Consider using Python or Bash scripts for transparency.",
      "file_path": "assets/ferndale_studio_01_1k.hdr",
      "line_number": null,
      "snippet": null,
      "remediation": "Review binary file necessity. Replace with auditable scripts if possible.",
      "analyzer": "static",
      "metadata": {
        "semantic_facts": {
          "evidence_kind": "file_inventory",
          "context_kind": "binary",
          "signals": [
            {
              "rule_id": "BINARY_FILE_DETECTED",
              "kind": "unanalyzable_binary",
              "file_path": "assets/ferndale_studio_01_1k.hdr",
              "value_class": "binary"
            }
          ]
        },
        "aitech": "AITech-9.2",
        "aitech_name": "Detection Evasion",
        "aisubtech": "AISubtech-9.2.1",
        "aisubtech_name": "Obfuscation Vulnerabilities",
        "aitech_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "MITRE ATLAS: AML.T0107: Exploitation for Defense Evasion",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "aisubtech_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "framework_mappings": [
          "OWASP: LLM09:2026: Vector and Embedding Weaknesses",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "MITRE ATLAS: AML.T0074: Masquerading",
          "MITRE ATLAS: AML.T0068: LLM Prompt Obfuscation",
          "NIST AML: N/A",
          "Cisco AI MDL Code: MDL-001",
          "Cisco AI MDL Code: MDL-003",
          "Cisco AI MDL Code: MDL-009",
          "Cisco AI MDL Code: MDL-011",
          "Cisco AI MDL Code: MDL-016",
          "Cisco AI MDL Code: MDL-017",
          "Cisco AI MDL Code: MDL-019"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "UNDECLARED_NETWORK_DESTINATION_8e9adc6db4",
      "rule_id": "UNDECLARED_NETWORK_DESTINATION",
      "category": "unauthorized_tool_use",
      "severity": "LOW",
      "title": "Script contacts a destination the documentation never mentions",
      "description": "Script contacts or configures 'jcgt.org' but the skill documentation never visibly mentions it. Undocumented network destinations can indicate behaviour the manifest and description do not disclose.",
      "file_path": "assets/glass-main.js",
      "line_number": 3619,
      "snippet": null,
      "remediation": "Document the destination in SKILL.md (or the manifest description) if it is intended, or remove the undisclosed network access. Organizations can list internal hosts in llm_analysis.trusted_reference_domains.",
      "analyzer": "static",
      "metadata": {
        "aitech": "AITech-9.1",
        "aitech_name": "Model or Agentic System Manipulation",
        "aisubtech": "AISubtech-9.1.3",
        "aisubtech_name": "Unauthorized or Unsolicited Network Access",
        "aitech_mappings": [
          "OWASP: LLM04:2026: Supply Chain",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0050: Command and Scripting Interpreter",
          "NIST AML: NISTAML.023: Backdoor Poisoning",
          "Cisco AI MDL Code: MDL-006",
          "Cisco AI MDL Code: MDL-007",
          "Cisco AI MDL Code: MDL-005",
          "Cisco AI MDL Code: MDL-010",
          "Cisco AI MDL Code: MDL-012",
          "Cisco AI MDL Code: MDL-014",
          "Cisco AI MDL Code: MDL-015",
          "Cisco AI MDL Code: MDL-019"
        ],
        "aisubtech_mappings": [
          "OWASP: LLM04:2026: Supply Chain",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0049: Exploit Public Facing Application",
          "NIST AML: AML.T0072: Reverse Shell",
          "NIST AML: N/A"
        ],
        "framework_mappings": [
          "OWASP: LLM04:2026: Supply Chain",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0049: Exploit Public Facing Application",
          "NIST AML: AML.T0072: Reverse Shell",
          "NIST AML: N/A"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "COMMAND_INJECTION_JS_CHILD_PROCESS_bf37b80c6a",
      "rule_id": "COMMAND_INJECTION_JS_CHILD_PROCESS",
      "category": "command_injection",
      "severity": "CRITICAL",
      "title": "Node.js child_process module usage for shell command execution",
      "description": "Pattern detected: from \"node:child_process\"",
      "file_path": "build-bundle.mjs",
      "line_number": 8,
      "snippet": "import { execFileSync } from \"node:child_process\";",
      "remediation": "Avoid child_process. If required, use execFile with explicit arguments instead of exec with shell strings",
      "analyzer": "static",
      "metadata": {
        "matched_pattern": "from\\s+['\"](?:node:)?child_process['\"]",
        "matched_text": "from \"node:child_process\"",
        "signature_pattern_index": 1,
        "signature_match_start": 24,
        "signature_match_end": 49,
        "signature_pattern_sha256": "9376960e72aac8f6d944cee70e70b31657c1f32ad94358351255626f957be3d1",
        "scanner_category": "INJECTION ATTACK",
        "signature_context": "package",
        "signature_polarity": "active",
        "source_category": "command_injection",
        "category_normalization": "native",
        "semantic_facts": {
          "evidence_kind": "signature_pattern",
          "context_kind": "package",
          "signals": [
            {
              "rule_id": "COMMAND_INJECTION_JS_CHILD_PROCESS",
              "kind": "signature_polarity",
              "file_path": "build-bundle.mjs",
              "value_class": "active"
            },
            {
              "rule_id": "COMMAND_INJECTION_JS_CHILD_PROCESS",
              "kind": "unreferenced_executable",
              "file_path": "build-bundle.mjs",
              "value_class": "javascript"
            }
          ]
        },
        "aitech": "AITech-9.1",
        "aitech_name": "Model or Agentic System Manipulation",
        "aisubtech": "AISubtech-9.1.4",
        "aisubtech_name": "Injection Attacks (e.g., SQL, Command Execution, XSS)",
        "aitech_mappings": [
          "OWASP: LLM04:2026: Supply Chain",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0050: Command and Scripting Interpreter",
          "NIST AML: NISTAML.023: Backdoor Poisoning",
          "Cisco AI MDL Code: MDL-006",
          "Cisco AI MDL Code: MDL-007",
          "Cisco AI MDL Code: MDL-005",
          "Cisco AI MDL Code: MDL-010",
          "Cisco AI MDL Code: MDL-012",
          "Cisco AI MDL Code: MDL-014",
          "Cisco AI MDL Code: MDL-015",
          "Cisco AI MDL Code: MDL-019"
        ],
        "aisubtech_mappings": [
          "OWASP: LLM01:2026: Prompt Injection",
          "OWASP: LLM10:2026: Improper Output Handling",
          "OWASP: LLM03:2026: Excessive Agency",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0051: LLM Prompt Injection",
          "MITRE ATLAS: AML.T0050: Command and Scripting Interpreter",
          "MITRE ATLAS: AML.T0067: LLM Trusted Output Component Manipulation",
          "MITRE ATT&CK: T1588.007: Obtain AI Capabilities",
          "NIST AML: NISTAML.024: Targeted Poisoning"
        ],
        "framework_mappings": [
          "OWASP: LLM01:2026: Prompt Injection",
          "OWASP: LLM10:2026: Improper Output Handling",
          "OWASP: LLM03:2026: Excessive Agency",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0051: LLM Prompt Injection",
          "MITRE ATLAS: AML.T0050: Command and Scripting Interpreter",
          "MITRE ATLAS: AML.T0067: LLM Trusted Output Component Manipulation",
          "MITRE ATT&CK: T1588.007: Obtain AI Capabilities",
          "NIST AML: NISTAML.024: Targeted Poisoning"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    }
  ],
  "scan_duration_seconds": 0.8252773284912109,
  "duration_ms": 825,
  "analyzers_used": [
    "static_analyzer",
    "bytecode",
    "pipeline",
    "correlation",
    "behavioral_analyzer",
    "trigger_analyzer"
  ],
  "timestamp": "2026-10-22T04:36:24.598742+00:00",
  "scan_metadata": {
    "policy_name": "default",
    "policy_version": "1.0",
    "policy_preset_base": "balanced",
    "policy_fingerprint_sha256": "3f48e661bfbc54597f97bbf3dcf2c1cbae2f596ddc79c0b44784efea326b3d1d",
    "cel": {
      "mode": "shadow",
      "runtime": "cel-go",
      "runtime_version": "v0.32.0;helper=2.3.1",
      "fact_schema": "v1",
      "expression_set_hash": "f26459b8f4a46a974d7ab0aaae34127b5b6a40d693e266e12fca03a69a6d26aa",
      "evaluated": 1,
      "retained": 6,
      "would_suppress": 1,
      "suppressed": 0,
      "fallbacks": 0,
      "projection_incomplete": 0,
      "elapsed_ms": 1.052,
      "projection_ms": 0.442,
      "evaluation_ms": 0.543,
      "errors": [],
      "per_rule": {
        "UNANALYZABLE_BINARY": {
          "keep": 0,
          "would_suppress": 1,
          "fallback": 0,
          "suppressed": 0,
          "expression_hash": "5a9db9ca3422a0d8437343780ce9aaabdc4dca71aa98bcf63a85b681ef985ce2",
          "pack": "core",
          "rollout": "shadow"
        }
      },
      "suppressed_candidates": []
    },
    "rule_contract": {
      "status": "passed",
      "schema_version": 2,
      "checked": 5,
      "invalid_findings": 0,
      "errors": []
    },
    "taxonomy": {
      "source": "builtin",
      "version": "2.0.0",
      "name": "Cisco AI Security and Safety Taxonomy",
      "revision": "655a343ac943a51b6f61f86e47156e7752c15dc6",
      "snapshot_sha256": "413e8ce9081e6d91b78aaa0d0b1c06cdc15d0406ad319e23e9f9f4f80735c441",
      "findings": {
        "mapped": 5,
        "not_applicable": 1,
        "unmapped": 0
      }
    }
  },
  "scanner_version": "2.3.1",
  "source": "heygen-com",
  "repo_url": "https://github.com/heygen-com/hyperframes"
}