{
  "skill_name": "mageck",
  "skill_path": "/home/runner/work/skill-scanner-test/skill-scanner-test/scripts/../skills/K-Dense-AI-scientific-agent-skills/skills/mageck",
  "is_safe": true,
  "max_severity": "MEDIUM",
  "findings_count": 3,
  "findings": [
    {
      "id": "COMPOUND_FETCH_EXECUTE_ba15b468cb",
      "rule_id": "COMPOUND_FETCH_EXECUTE",
      "category": "command_injection",
      "severity": "MEDIUM",
      "title": "Remote fetch followed by execution",
      "description": "Content is downloaded from the network and subsequently executed. This is a classic remote code execution attack pattern. (found in documentation \u2014 may be instructional)",
      "file_path": "references/runtime.md",
      "line_number": 14,
      "snippet": "uv venv --python 3.11 mageck-env\nuv pip install --python mageck-env/bin/python numpy==1.26.4 scipy==1.13.1 setuptools==69.5.1\ncurl -fL 'https://sourceforge.net/projects/mageck/files/0.5/mageck-0.5.9.5.tar.gz/download' -o mageck.tar.gz\ntar -xzf mageck.tar.gz\n# This archive contains liulab-mageck-c491",
      "remediation": "Review the command sequence for potential multi-step attacks. Ensure all steps are necessary and safe.",
      "analyzer": "pipeline",
      "metadata": {
        "pattern": "COMPOUND_FETCH_EXECUTE",
        "matched_lines": [
          2,
          6
        ],
        "in_documentation": true,
        "semantic_facts": {
          "evidence_kind": "command_sequence",
          "context_kind": "documentation",
          "signal_kind": "compound_flow",
          "commands": [
            {
              "executable": "curl",
              "argument_classes": [
                "archive_path",
                "output_path",
                "url"
              ],
              "downloads": true,
              "executes": false,
              "destructive": false,
              "privilege_change": false,
              "source_class": "network",
              "sink_class": "",
              "file_path": "references/runtime.md"
            },
            {
              "executable": "python",
              "argument_classes": [
                "script_path"
              ],
              "downloads": false,
              "executes": true,
              "destructive": false,
              "privilege_change": false,
              "source_class": "",
              "sink_class": "execution",
              "file_path": "references/runtime.md"
            }
          ],
          "urls": [
            {
              "scheme": "https",
              "host": "sourceforge.net",
              "domain_class": "public",
              "trusted_installer": false,
              "method": "GET",
              "direction": "inbound",
              "file_path": "references/runtime.md"
            }
          ],
          "flows": [
            {
              "source_class": "network",
              "sink_class": "execution",
              "transforms": [],
              "cross_file": false,
              "source_path": "references/runtime.md",
              "sink_path": "references/runtime.md"
            }
          ],
          "candidate_flow": {
            "source_class": "network",
            "sink_class": "execution",
            "transforms": [],
            "cross_file": false,
            "source_path": "references/runtime.md",
            "sink_path": "references/runtime.md"
          },
          "evidence_value_class": "untrusted_fetch_execute",
          "evidence_count": 2,
          "candidate_command": {
            "executable": "python",
            "argument_classes": [
              "script_path"
            ],
            "downloads": false,
            "executes": true,
            "destructive": false,
            "privilege_change": false,
            "source_class": "",
            "sink_class": "execution",
            "file_path": "references/runtime.md"
          },
          "candidate_url": {
            "scheme": "https",
            "host": "sourceforge.net",
            "domain_class": "public",
            "trusted_installer": false,
            "method": "GET",
            "direction": "inbound",
            "file_path": "references/runtime.md"
          }
        },
        "aitech": "AITech-9.1",
        "aitech_name": "Model or Agentic System Manipulation",
        "aisubtech": "AISubtech-9.1.1",
        "aisubtech_name": "Code Execution",
        "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.T0050: Command and Scripting Interpreter",
          "NIST AML: NISTAML.023: Backdoor Poisoning"
        ],
        "framework_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"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "COMPOUND_EXTRACT_EXECUTE_5833bff4de",
      "rule_id": "COMPOUND_EXTRACT_EXECUTE",
      "category": "supply_chain_attack",
      "severity": "LOW",
      "title": "Archive extraction followed by execution",
      "description": "An archive is extracted and its contents are then executed. This pattern can deliver and run malicious payloads hidden in archives. (found in documentation \u2014 may be instructional)",
      "file_path": "references/runtime.md",
      "line_number": 15,
      "snippet": "uv venv --python 3.11 mageck-env\nuv pip install --python mageck-env/bin/python numpy==1.26.4 scipy==1.13.1 setuptools==69.5.1\ncurl -fL 'https://sourceforge.net/projects/mageck/files/0.5/mageck-0.5.9.5.tar.gz/download' -o mageck.tar.gz\ntar -xzf mageck.tar.gz\n# This archive contains liulab-mageck-c491",
      "remediation": "Review the command sequence for potential multi-step attacks. Ensure all steps are necessary and safe.",
      "analyzer": "pipeline",
      "metadata": {
        "pattern": "COMPOUND_EXTRACT_EXECUTE",
        "matched_lines": [
          3,
          6
        ],
        "in_documentation": true,
        "semantic_facts": {
          "evidence_kind": "command_sequence",
          "context_kind": "documentation",
          "signal_kind": "compound_flow",
          "commands": [
            {
              "executable": "tar",
              "argument_classes": [
                "archive_path"
              ],
              "downloads": false,
              "executes": false,
              "destructive": false,
              "privilege_change": false,
              "source_class": "archive",
              "sink_class": "",
              "file_path": "references/runtime.md"
            },
            {
              "executable": "python",
              "argument_classes": [
                "script_path"
              ],
              "downloads": false,
              "executes": true,
              "destructive": false,
              "privilege_change": false,
              "source_class": "",
              "sink_class": "execution",
              "file_path": "references/runtime.md"
            }
          ],
          "urls": [],
          "flows": [
            {
              "source_class": "archive",
              "sink_class": "execution",
              "transforms": [
                "extraction"
              ],
              "cross_file": false,
              "source_path": "references/runtime.md",
              "sink_path": "references/runtime.md"
            }
          ],
          "candidate_flow": {
            "source_class": "archive",
            "sink_class": "execution",
            "transforms": [
              "extraction"
            ],
            "cross_file": false,
            "source_path": "references/runtime.md",
            "sink_path": "references/runtime.md"
          },
          "candidate_command": {
            "executable": "python",
            "argument_classes": [
              "script_path"
            ],
            "downloads": false,
            "executes": true,
            "destructive": false,
            "privilege_change": false,
            "source_class": "",
            "sink_class": "execution",
            "file_path": "references/runtime.md"
          }
        },
        "aitech": "AITech-9.1",
        "aitech_name": "Model or Agentic System Manipulation",
        "aisubtech": "AISubtech-9.1.1",
        "aisubtech_name": "Code Execution",
        "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.T0050: Command and Scripting Interpreter",
          "NIST AML: NISTAML.023: Backdoor Poisoning"
        ],
        "framework_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"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    },
    {
      "id": "GLOB_HIDDEN_FILE_TARGETING_bcb159ecd7",
      "rule_id": "GLOB_HIDDEN_FILE_TARGETING",
      "category": "command_injection",
      "severity": "MEDIUM",
      "title": "Glob or find pattern targeting hidden (dot) files, which may expose sensitive configurations",
      "description": "Pattern detected: glob(\"screen.*",
      "file_path": "scripts/screen_analysis.py",
      "line_number": 214,
      "snippet": "for artifact in work.glob(\"screen.*\"):",
      "remediation": "Avoid targeting hidden files with glob patterns. Be explicit about which files to access",
      "analyzer": "static",
      "metadata": {
        "matched_pattern": "glob\\s*\\([^)]*\\.\\*",
        "matched_text": "glob(\"screen.*",
        "signature_pattern_index": 0,
        "signature_match_start": 21,
        "signature_match_end": 35,
        "signature_pattern_sha256": "ae255851b854857b57a1f5caddcb47c36c4143ca1daa069d9b7fd7ca02ea86e6",
        "scanner_category": "INJECTION ATTACK",
        "signature_context": "code",
        "signature_polarity": "active",
        "source_category": "command_injection",
        "category_normalization": "native",
        "semantic_facts": {
          "evidence_kind": "signature_pattern",
          "context_kind": "code",
          "signals": [
            {
              "rule_id": "GLOB_HIDDEN_FILE_TARGETING",
              "kind": "signature_polarity",
              "file_path": "scripts/screen_analysis.py",
              "value_class": "active"
            }
          ]
        },
        "cel": {
          "decision": "keep",
          "reason": "expression_true",
          "fact_schema": "v1",
          "expression_hash": "9b6eea0002a55f7221dfac3f1acab382184d804c5fcd1931b15dbe2e94871246",
          "pack": "core",
          "rollout": "shadow"
        },
        "aitech": "AITech-9.1",
        "aitech_name": "Model or Agentic System Manipulation",
        "aisubtech": "AISubtech-9.1.2",
        "aisubtech_name": "Unauthorized or Unsolicited System 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.T0012: Valid Accounts",
          "MITRE ATLAS: AML.T0112: Machine Compromise",
          "NIST AML: AML.T0044: Full AI Model Access"
        ],
        "framework_mappings": [
          "OWASP: LLM04:2026: Supply Chain",
          "OWASP: ASI04: Agentic Supply Chain Vulnerabilities",
          "OWASP: ASI05: Unexpected Code Execution (RCE)",
          "MITRE ATLAS: AML.T0012: Valid Accounts",
          "MITRE ATLAS: AML.T0112: Machine Compromise",
          "NIST AML: AML.T0044: Full AI Model Access"
        ],
        "taxonomy_status": "mapped",
        "taxonomy_source": "rule"
      }
    }
  ],
  "scan_duration_seconds": 0.23329710960388184,
  "duration_ms": 233,
  "analyzers_used": [
    "static_analyzer",
    "bytecode",
    "pipeline",
    "correlation",
    "behavioral_analyzer",
    "trigger_analyzer"
  ],
  "timestamp": "2026-10-21T21:37:53.344837+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": 3,
      "would_suppress": 0,
      "suppressed": 0,
      "fallbacks": 0,
      "projection_incomplete": 0,
      "elapsed_ms": 1.368,
      "projection_ms": 0.471,
      "evaluation_ms": 0.77,
      "errors": [],
      "per_rule": {
        "GLOB_HIDDEN_FILE_TARGETING": {
          "keep": 1,
          "would_suppress": 0,
          "fallback": 0,
          "suppressed": 0,
          "expression_hash": "9b6eea0002a55f7221dfac3f1acab382184d804c5fcd1931b15dbe2e94871246",
          "pack": "core",
          "rollout": "shadow"
        }
      },
      "suppressed_candidates": []
    },
    "rule_contract": {
      "status": "passed",
      "schema_version": 2,
      "checked": 2,
      "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": 3,
        "not_applicable": 0,
        "unmapped": 0
      }
    }
  },
  "scanner_version": "2.3.1",
  "source": "K-Dense-AI",
  "repo_url": "https://github.com/K-Dense-AI/scientific-agent-skills"
}