{
  "executive_summary": {
    "badge": "Unsafe",
    "security_score": null,
    "view": "composite",
    "aggregate_verdict_withheld": false,
    "aggregate_verdict_withheld_reason": null,
    "scanner_badges": {
      "agentshield": "not_applicable",
      "cisco-skill-scanner": "Unsafe",
      "agent-audit-kit": "Unsafe",
      "bearer": "Unsafe",
      "nerlo-behavioral": "Verified",
      "nerlo-install-instruction": "Verified",
      "capslock": "not_applicable"
    },
    "finding_counts": {
      "critical": 41,
      "high": 8,
      "medium": 18,
      "low": 8,
      "informational": 14
    },
    "recommendation": "academic-humanizer is NOT recommended for integration: the scan surfaced 41 critical and 8 high-severity findings. Treat the Per-Scanner Detail section as a remediation worklist and re-scan before reconsidering."
  },
  "source_provenance": {
    "repository_url": "https://github.com/dongshuyan/compass-skills",
    "commit_sha_scanned": null,
    "license": null,
    "maintainer": null,
    "name": "academic-humanizer",
    "version": null
  },
  "per_scanner_detail": [
    {
      "scanner_name": "agentshield",
      "scanner_version": "1.4.0",
      "score": 100.0,
      "scanner_badge": "Verified",
      "findings": [],
      "execution_duration_seconds": 0.2558621090138331,
      "status": "not_applicable",
      "examined": {
        "unit": "scan_targets",
        "count": 0
      },
      "metadata": {
        "source": "npm",
        "source_url": "https://www.npmjs.com/package/ecc-agentshield",
        "install_command": "npm install -g ecc-agentshield@1.4.0",
        "scans_performed": []
      },
      "display_score": null,
      "display_badge": "not_applicable"
    },
    {
      "scanner_name": "cisco-skill-scanner",
      "scanner_version": "2.0.11",
      "score": 0.0,
      "scanner_badge": "Unsafe",
      "findings": [
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/session-handoff-prompt/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/run-history-skill-upgrader/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/user-profile-keeper/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/task-clarifier/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/academic-humanizer/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/task-forest/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "high",
          "category": "resource_abuse",
          "file_path": "/repo/skills/task-forest/scripts/task_forest.py",
          "line_number": 427,
          "rule_identifier": "RESOURCE_ABUSE_INFINITE_LOOP",
          "title": "Infinite loop without clear exit condition",
          "description": "Pattern detected: while True:",
          "remediation": "Add proper exit conditions or limits to loops"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/run-history-skill-builder/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "policy_violation",
          "file_path": "/repo/.",
          "line_number": null,
          "rule_identifier": "EXCESSIVE_FILE_COUNT",
          "title": "Skill package contains many files",
          "description": "Skill package contains 127 files. Large file counts increase attack surface and may indicate bundled dependencies or unnecessary content.",
          "remediation": "Review file inventory and remove unnecessary files."
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/compass-logo.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/compass-logo.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-ceramic-minimalist.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-crystal-ai-core.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-crystal-ai-core.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-fractal-garden.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-impossible-geometry.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-impossible-geometry.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-luxury-racing.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u200d",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-luxury-racing.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202d",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-luxury-racing.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2029",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-mecha-engineering.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u200c",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-mecha-engineering.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u200c",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-mecha-engineering.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-origami-architecture.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "medium",
          "category": "unicode_steganography",
          "file_path": "/repo/assets/logo-variants/compass-logo-space-nav.png",
          "line_number": 0,
          "rule_identifier": "YARA_prompt_injection_unicode_steganography",
          "title": "UNICODE STEGANOGRAPHY detected by YARA",
          "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202d",
          "remediation": "Review and remove unicode steganography pattern"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "high",
          "category": "resource_abuse",
          "file_path": "/repo/skills/task-forest/scripts/task_forest.py",
          "line_number": 427,
          "rule_identifier": "RESOURCE_ABUSE_INFINITE_LOOP",
          "title": "Infinite loop without clear exit condition",
          "description": "Pattern detected: while True:",
          "remediation": "Add proper exit conditions or limits to loops"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/skills/session-handoff-prompt/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/session-handoff-prompt/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/skills/run-history-skill-upgrader/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/run-history-skill-upgrader/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/skills/user-profile-keeper/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/user-profile-keeper/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/skills/academic-humanizer/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/academic-humanizer/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/skills/task-forest/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/task-forest/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "low",
          "category": "social_engineering",
          "file_path": "/repo/skills/run-history-skill-builder/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
          "title": "Vague skill description",
          "description": "Skill description is too short (16 chars). Provide detailed explanation.",
          "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
        },
        {
          "tool_name": "cisco-skill-scanner",
          "severity": "informational",
          "category": "policy_violation",
          "file_path": "/repo/skills/run-history-skill-builder/references/SKILL.md",
          "line_number": null,
          "rule_identifier": "MANIFEST_MISSING_LICENSE",
          "title": "Skill does not specify a license",
          "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
          "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
        }
      ],
      "execution_duration_seconds": 13.058061606017873,
      "status": "complete",
      "examined": {
        "unit": "skills",
        "count": 14
      },
      "metadata": {
        "source": "pypi",
        "source_url": "https://pypi.org/project/cisco-ai-skill-scanner/2.0.11/",
        "report_type": "cisco-skill-sast",
        "analyzers_used": [
          "bytecode",
          "pipeline",
          "static_analyzer"
        ],
        "skills_scanned": [
          "session-handoff-prompt",
          "run-history-skill-upgrader",
          "user-profile-keeper",
          "task-clarifier",
          "academic-humanizer",
          "task-forest",
          "run-history-skill-builder",
          "repo",
          "references",
          "references",
          "references",
          "references",
          "references",
          "references"
        ],
        "install_command": "pip install --require-hashes -r docker/scanner-base/cisco-skill-scanner/requirements.txt",
        "severity_counts": {
          "low": 8,
          "high": 2,
          "medium": 16,
          "critical": 0,
          "informational": 14
        },
        "artifact_type_policy": "claude_skill"
      },
      "display_score": 0.0,
      "display_badge": "Unsafe"
    },
    {
      "scanner_name": "agent-audit-kit",
      "scanner_version": "0.3.26",
      "score": 0.0,
      "scanner_badge": "Unsafe",
      "findings": [
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "secret-exposure",
          "file_path": "skills/session-handoff-prompt/scripts/smoke_test_handoff.py",
          "line_number": 142,
          "rule_identifier": "AAK-SECRET-002",
          "title": "OpenAI API key exposed",
          "description": "An OpenAI API key (sk-*) was found in a project file.",
          "remediation": "Remove key, rotate immediately, use environment variables."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 3,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 3,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 7,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 8,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 8,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 3,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 3,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 18,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 19,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 35,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 36,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 37,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 38,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 39,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 41,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 54,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 9,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": 54,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "critical",
          "category": "agent-config",
          "file_path": "AGENTS.md",
          "line_number": null,
          "rule_identifier": "AAK-AGENT-001",
          "title": "Agent instruction file contains shell command directives",
          "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
          "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "high",
          "category": "mcp-config",
          "file_path": "skills/task-forest/scripts/task_forest.py",
          "line_number": 421,
          "rule_identifier": "AAK-TASKS-002",
          "title": "MCP tasks persist credentials past completion",
          "description": "A task record retains API keys / OAuth tokens after the task reaches a terminal state (completed/failed/cancelled). Long-lived credentials in persistent state are an obvious exfil target.",
          "remediation": "Zeroize credential fields when the task transitions to a terminal state. Keep only what a post-mortem actually needs."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "medium",
          "category": "legal-compliance",
          "file_path": "skills/user-profile-keeper/SKILL.md",
          "line_number": null,
          "rule_identifier": "AAK-HEALTHCARE-AI-004",
          "title": "Healthcare context without explicit AI-disclosure to user",
          "description": "Text mentions patient / clinical / mental-health / therapy / diagnosis but the tool never explicitly says the responder is an AI. Multiple 2026 state laws (TN, WA, UT) expect clear AI disclosure in clinical interactions.",
          "remediation": "Add a visible 'You are talking to an AI; this is not medical advice and is not a substitute for licensed care' disclosure."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "high",
          "category": "legal-compliance",
          "file_path": "skills/run-history-skill-upgrader/references/upgrade-decision-protocol.md",
          "line_number": 77,
          "rule_identifier": "AAK-HEALTHCARE-AI-005",
          "title": "Crisis keywords handled without escalation path",
          "description": "A healthcare AI surface mentions suicide / self-harm / crisis but never references 988 / 911 / 112 / 999 / a crisis line. Tennessee HB 1951 (2026) creates criminal liability for encouraging suicide; lacking an escalation path materially worsens the exposure.",
          "remediation": "Add explicit crisis-line escalation instructions in the prompt / system message; test for the most common suicide / self-harm phrases and escalate before generating any other reply."
        },
        {
          "tool_name": "agent-audit-kit",
          "severity": "medium",
          "category": "legal-compliance",
          "file_path": "skills/academic-humanizer/references/examples.md",
          "line_number": null,
          "rule_identifier": "AAK-HEALTHCARE-AI-004",
          "title": "Healthcare context without explicit AI-disclosure to user",
          "description": "Text mentions patient / clinical / mental-health / therapy / diagnosis but the tool never explicitly says the responder is an AI. Multiple 2026 state laws (TN, WA, UT) expect clear AI disclosure in clinical interactions.",
          "remediation": "Add a visible 'You are talking to an AI; this is not medical advice and is not a substitute for licensed care' disclosure."
        }
      ],
      "execution_duration_seconds": 11.323912202031352,
      "status": "complete",
      "examined": {
        "unit": "files",
        "count": 78
      },
      "metadata": {
        "source": "pypi",
        "source_url": "https://pypi.org/project/agent-audit-kit/0.3.26/",
        "report_type": "agent-audit-kit-sast",
        "install_command": "pip install --require-hashes -r docker/scanner-base/agent-audit-kit/requirements.txt",
        "rules_evaluated": 211,
        "severity_counts": {
          "low": 0,
          "high": 2,
          "medium": 2,
          "critical": 36,
          "informational": 0
        }
      },
      "display_score": 0.0,
      "display_badge": "Unsafe"
    },
    {
      "scanner_name": "bearer",
      "scanner_version": "2.0.2",
      "score": 0.0,
      "scanner_badge": "Unsafe",
      "findings": [
        {
          "tool_name": "bearer",
          "severity": "critical",
          "category": null,
          "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
          "line_number": 24,
          "rule_identifier": null,
          "title": "Unsanitized user input in OS command",
          "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "critical",
          "category": null,
          "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
          "line_number": 314,
          "rule_identifier": null,
          "title": "Unsanitized user input in OS command",
          "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "critical",
          "category": null,
          "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
          "line_number": 348,
          "rule_identifier": null,
          "title": "Unsanitized user input in OS command",
          "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "critical",
          "category": null,
          "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
          "line_number": 371,
          "rule_identifier": null,
          "title": "Unsanitized user input in OS command",
          "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "critical",
          "category": null,
          "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
          "line_number": 408,
          "rule_identifier": null,
          "title": "Unsanitized user input in OS command",
          "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "high",
          "category": null,
          "file_path": "/repo/skills/user-profile-keeper/scripts/profile_store.py",
          "line_number": 115,
          "rule_identifier": null,
          "title": "Permissive file assignment",
          "description": "## Description\n\nPermissive file assignment exposes sensitive information by granting unnecessary read, write, or execute permissions to users without ownership privileges.\n\n## Remediations\n\n- **Do** keep file permissions as restrictive as possible to minimize the risk of unauthorized access. Use the principle of least privilege to only grant permissions that are absolutely necessary for the operation of the application.\n  ```python\n  os.chmod(\"my_private_file.txt\", 0o600) # only you have full re",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "high",
          "category": null,
          "file_path": "/repo/skills/academic-humanizer/scripts/metrics.py",
          "line_number": 776,
          "rule_identifier": null,
          "title": "Unsanitized dynamic input in file path",
          "description": "## Description\n\nUsing unsanitized dynamic input to determine file paths can allow attackers to gain access to files and folders outside of the intended scope. This vulnerability occurs when input provided by users is directly used to access the filesystem without proper validation or sanitization.\n\n## Remediations\n\n- **Do not** directly use external input to construct file paths. This can lead to unauthorized file access.\n- **Do** use a safelist to define accessible paths or directories. Only al",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "high",
          "category": null,
          "file_path": "/repo/skills/session-handoff-prompt/scripts/redact_handoff.py",
          "line_number": 43,
          "rule_identifier": null,
          "title": "Unsanitized dynamic input in file path",
          "description": "## Description\n\nUsing unsanitized dynamic input to determine file paths can allow attackers to gain access to files and folders outside of the intended scope. This vulnerability occurs when input provided by users is directly used to access the filesystem without proper validation or sanitization.\n\n## Remediations\n\n- **Do not** directly use external input to construct file paths. This can lead to unauthorized file access.\n- **Do** use a safelist to define accessible paths or directories. Only al",
          "remediation": null
        },
        {
          "tool_name": "bearer",
          "severity": "high",
          "category": null,
          "file_path": "/repo/skills/session-handoff-prompt/scripts/validate_handoff_prompt.py",
          "line_number": 45,
          "rule_identifier": null,
          "title": "Unsanitized dynamic input in file path",
          "description": "## Description\n\nUsing unsanitized dynamic input to determine file paths can allow attackers to gain access to files and folders outside of the intended scope. This vulnerability occurs when input provided by users is directly used to access the filesystem without proper validation or sanitization.\n\n## Remediations\n\n- **Do not** directly use external input to construct file paths. This can lead to unauthorized file access.\n- **Do** use a safelist to define accessible paths or directories. Only al",
          "remediation": null
        }
      ],
      "execution_duration_seconds": 34.78874151100172,
      "status": "complete",
      "examined": {
        "unit": "files",
        "count": 17
      },
      "metadata": {
        "source": "github-releases",
        "source_url": "https://github.com/Bearer/bearer",
        "report_type": "security",
        "rules_loaded": 554,
        "install_command": "curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh -s -- -b /usr/local/bin \"v2.0.2\"",
        "severity_counts": {
          "low": 0,
          "high": 4,
          "medium": 0,
          "critical": 5,
          "informational": 0
        }
      },
      "display_score": 0.0,
      "display_badge": "Unsafe"
    },
    {
      "scanner_name": "nerlo-behavioral",
      "scanner_version": "0.1.0",
      "score": 100.0,
      "scanner_badge": "Verified",
      "findings": [],
      "execution_duration_seconds": 4.49561410699971,
      "status": "complete",
      "examined": {
        "unit": "files",
        "count": 17
      },
      "metadata": {
        "source": "nerlo-original",
        "source_url": "https://github.com/nerlo-ai/nerlo",
        "report_type": "nerlo-behavioral",
        "ruleset_path": "/opt/nerlo-rules/exfiltration.yaml",
        "ruleset_paths": [
          "/opt/nerlo-rules/exfiltration.yaml",
          "/opt/nerlo-rules/clipboard_exfiltration.yaml",
          "/opt/nerlo-rules/rce_endpoint.yaml",
          "/opt/nerlo-rules/taint_egress.yaml"
        ],
        "install_command": "pip install 'semgrep==1.97.0'",
        "merged_invocation": true
      },
      "display_score": 100.0,
      "display_badge": "Verified"
    },
    {
      "scanner_name": "nerlo-install-instruction",
      "scanner_version": "0.1.0",
      "score": 100.0,
      "scanner_badge": "Verified",
      "findings": [],
      "execution_duration_seconds": 4.496834935969673,
      "status": "complete",
      "examined": {
        "unit": "files",
        "count": 79
      },
      "metadata": {
        "source": "nerlo-original",
        "source_url": "https://github.com/nerlo-ai/nerlo",
        "report_type": "nerlo-install-instruction",
        "ruleset_path": "/opt/nerlo-rules/install_instructions.yaml",
        "ruleset_paths": [
          "/opt/nerlo-rules/install_instructions.yaml",
          "/opt/nerlo-rules/cursor_rules.yaml"
        ],
        "install_command": "pip install 'semgrep==1.97.0'",
        "merged_invocation": true
      },
      "display_score": 100.0,
      "display_badge": "Verified"
    },
    {
      "scanner_name": "capslock",
      "scanner_version": "v0.3.2",
      "score": 100.0,
      "scanner_badge": "Verified",
      "findings": [],
      "execution_duration_seconds": 0.13602336699841544,
      "status": "not_applicable",
      "examined": {
        "unit": "packages",
        "count": 0
      },
      "metadata": {
        "source": "go-module-proxy",
        "source_url": "https://github.com/google/capslock/releases/tag/v0.3.2",
        "report_type": "go-capability",
        "vendor_mode": false,
        "install_command": "GOTOOLCHAIN=local GOFLAGS=-mod=mod GOSUMDB=sum.golang.org GOBIN=/usr/local/bin go install github.com/google/capslock/cmd/capslock@v0.3.2  # github.com/google/capslock v0.3.2 h1:0ZQa9YR8s9ewFu1g5w6Rgd/lW/4dga7qJew3K6Ql7aM=",
        "environment_note": "capslock found no .go files to analyze; reported not_applicable rather than a clean 100 \u2014 the scanner never ran, so it has no verdict to contribute",
        "go_files_present": 0,
        "artifact_type_policy": "claude_skill",
        "expected_capabilities": null,
        "artifact_type_explicit": true
      },
      "display_score": null,
      "display_badge": "not_applicable"
    }
  ],
  "threat_model": "Threat model synthesis has not yet run for this scan. This section is generated by the registry's LLM pipeline (Req 22.3) and will appear in the next regeneration of this report.",
  "audit_chain": {
    "scan_job_id": "b827b3fc-e9e1-4577-9d31-95871a3d92d0",
    "scan_completed_at": "2026-08-12T13:01:02.857813+00:00",
    "scanner_versions": {
      "agentshield": "1.4.0",
      "cisco-skill-scanner": "2.0.11",
      "agent-audit-kit": "0.3.26",
      "bearer": "2.0.2",
      "nerlo-behavioral": "0.1.0",
      "nerlo-install-instruction": "0.1.0",
      "capslock": "v0.3.2"
    },
    "scanner_base_image": "us-central1-docker.pkg.dev/nerlo-vsk-prod/nerlo/scanner-base@sha256:d5aaefa8b517d1f03832091ab094e20dc73160a07ae1102af1b2e395ce6ce852",
    "ai_decision_log_ids": [
      "0fe945ae-d0a9-4004-9982-3eed52a25255"
    ],
    "self_attestation_url": "http://localhost:8000/api/v1/registry/self-attestation"
  },
  "appendix": {
    "raw_scanner_reports": [
      {
        "scanner_name": "agentshield",
        "scanner_version": "1.4.0",
        "score": 100.0,
        "scanner_badge": "Verified",
        "findings": [],
        "execution_duration_seconds": 0.2558621090138331,
        "status": "not_applicable",
        "examined": {
          "unit": "scan_targets",
          "count": 0
        },
        "metadata": {
          "source": "npm",
          "source_url": "https://www.npmjs.com/package/ecc-agentshield",
          "install_command": "npm install -g ecc-agentshield@1.4.0",
          "scans_performed": []
        },
        "display_score": null,
        "display_badge": "not_applicable"
      },
      {
        "scanner_name": "cisco-skill-scanner",
        "scanner_version": "2.0.11",
        "score": 0.0,
        "scanner_badge": "Unsafe",
        "findings": [
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/session-handoff-prompt/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/run-history-skill-upgrader/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/user-profile-keeper/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/task-clarifier/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/academic-humanizer/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/task-forest/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "high",
            "category": "resource_abuse",
            "file_path": "/repo/skills/task-forest/scripts/task_forest.py",
            "line_number": 427,
            "rule_identifier": "RESOURCE_ABUSE_INFINITE_LOOP",
            "title": "Infinite loop without clear exit condition",
            "description": "Pattern detected: while True:",
            "remediation": "Add proper exit conditions or limits to loops"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/run-history-skill-builder/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "policy_violation",
            "file_path": "/repo/.",
            "line_number": null,
            "rule_identifier": "EXCESSIVE_FILE_COUNT",
            "title": "Skill package contains many files",
            "description": "Skill package contains 127 files. Large file counts increase attack surface and may indicate bundled dependencies or unnecessary content.",
            "remediation": "Review file inventory and remove unnecessary files."
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/compass-logo.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/compass-logo.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-ceramic-minimalist.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-crystal-ai-core.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-crystal-ai-core.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-fractal-garden.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-impossible-geometry.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202e",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-impossible-geometry.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-luxury-racing.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u200d",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-luxury-racing.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202d",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-luxury-racing.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2029",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-mecha-engineering.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u200c",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-mecha-engineering.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u200c",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-mecha-engineering.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-origami-architecture.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u2028",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "medium",
            "category": "unicode_steganography",
            "file_path": "/repo/assets/logo-variants/compass-logo-space-nav.png",
            "line_number": 0,
            "rule_identifier": "YARA_prompt_injection_unicode_steganography",
            "title": "UNICODE STEGANOGRAPHY detected by YARA",
            "description": "Detects hidden Unicode characters used for invisible prompt injection and steganography: \u202d",
            "remediation": "Review and remove unicode steganography pattern"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "high",
            "category": "resource_abuse",
            "file_path": "/repo/skills/task-forest/scripts/task_forest.py",
            "line_number": 427,
            "rule_identifier": "RESOURCE_ABUSE_INFINITE_LOOP",
            "title": "Infinite loop without clear exit condition",
            "description": "Pattern detected: while True:",
            "remediation": "Add proper exit conditions or limits to loops"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/skills/session-handoff-prompt/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/session-handoff-prompt/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/skills/run-history-skill-upgrader/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/run-history-skill-upgrader/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/skills/user-profile-keeper/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/user-profile-keeper/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/skills/academic-humanizer/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/academic-humanizer/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/skills/task-forest/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/task-forest/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "low",
            "category": "social_engineering",
            "file_path": "/repo/skills/run-history-skill-builder/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "SOCIAL_ENG_VAGUE_DESCRIPTION",
            "title": "Vague skill description",
            "description": "Skill description is too short (16 chars). Provide detailed explanation.",
            "remediation": "Provide a clear, detailed description of what the skill does and when to use it"
          },
          {
            "tool_name": "cisco-skill-scanner",
            "severity": "informational",
            "category": "policy_violation",
            "file_path": "/repo/skills/run-history-skill-builder/references/SKILL.md",
            "line_number": null,
            "rule_identifier": "MANIFEST_MISSING_LICENSE",
            "title": "Skill does not specify a license",
            "description": "Skill manifest does not include a 'license' field. Specifying a license helps users understand usage terms.",
            "remediation": "Add 'license' field to SKILL.md frontmatter (e.g., MIT, Apache-2.0)"
          }
        ],
        "execution_duration_seconds": 13.058061606017873,
        "status": "complete",
        "examined": {
          "unit": "skills",
          "count": 14
        },
        "metadata": {
          "source": "pypi",
          "source_url": "https://pypi.org/project/cisco-ai-skill-scanner/2.0.11/",
          "report_type": "cisco-skill-sast",
          "analyzers_used": [
            "bytecode",
            "pipeline",
            "static_analyzer"
          ],
          "skills_scanned": [
            "session-handoff-prompt",
            "run-history-skill-upgrader",
            "user-profile-keeper",
            "task-clarifier",
            "academic-humanizer",
            "task-forest",
            "run-history-skill-builder",
            "repo",
            "references",
            "references",
            "references",
            "references",
            "references",
            "references"
          ],
          "install_command": "pip install --require-hashes -r docker/scanner-base/cisco-skill-scanner/requirements.txt",
          "severity_counts": {
            "low": 8,
            "high": 2,
            "medium": 16,
            "critical": 0,
            "informational": 14
          },
          "artifact_type_policy": "claude_skill"
        },
        "display_score": 0.0,
        "display_badge": "Unsafe"
      },
      {
        "scanner_name": "agent-audit-kit",
        "scanner_version": "0.3.26",
        "score": 0.0,
        "scanner_badge": "Unsafe",
        "findings": [
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "secret-exposure",
            "file_path": "skills/session-handoff-prompt/scripts/smoke_test_handoff.py",
            "line_number": 142,
            "rule_identifier": "AAK-SECRET-002",
            "title": "OpenAI API key exposed",
            "description": "An OpenAI API key (sk-*) was found in a project file.",
            "remediation": "Remove key, rotate immediately, use environment variables."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 3,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 3,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 7,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 8,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 8,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 3,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 3,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 18,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 19,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 35,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 36,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 37,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 38,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 39,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 41,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 54,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 9,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": 54,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "critical",
            "category": "agent-config",
            "file_path": "AGENTS.md",
            "line_number": null,
            "rule_identifier": "AAK-AGENT-001",
            "title": "Agent instruction file contains shell command directives",
            "description": "An agent instruction file (AGENTS.md, .cursorrules, CLAUDE.md) contains shell commands or execution directives that could be injected into agent behavior.",
            "remediation": "Remove shell commands from agent instruction files. Use proper tool definitions instead."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "high",
            "category": "mcp-config",
            "file_path": "skills/task-forest/scripts/task_forest.py",
            "line_number": 421,
            "rule_identifier": "AAK-TASKS-002",
            "title": "MCP tasks persist credentials past completion",
            "description": "A task record retains API keys / OAuth tokens after the task reaches a terminal state (completed/failed/cancelled). Long-lived credentials in persistent state are an obvious exfil target.",
            "remediation": "Zeroize credential fields when the task transitions to a terminal state. Keep only what a post-mortem actually needs."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "medium",
            "category": "legal-compliance",
            "file_path": "skills/user-profile-keeper/SKILL.md",
            "line_number": null,
            "rule_identifier": "AAK-HEALTHCARE-AI-004",
            "title": "Healthcare context without explicit AI-disclosure to user",
            "description": "Text mentions patient / clinical / mental-health / therapy / diagnosis but the tool never explicitly says the responder is an AI. Multiple 2026 state laws (TN, WA, UT) expect clear AI disclosure in clinical interactions.",
            "remediation": "Add a visible 'You are talking to an AI; this is not medical advice and is not a substitute for licensed care' disclosure."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "high",
            "category": "legal-compliance",
            "file_path": "skills/run-history-skill-upgrader/references/upgrade-decision-protocol.md",
            "line_number": 77,
            "rule_identifier": "AAK-HEALTHCARE-AI-005",
            "title": "Crisis keywords handled without escalation path",
            "description": "A healthcare AI surface mentions suicide / self-harm / crisis but never references 988 / 911 / 112 / 999 / a crisis line. Tennessee HB 1951 (2026) creates criminal liability for encouraging suicide; lacking an escalation path materially worsens the exposure.",
            "remediation": "Add explicit crisis-line escalation instructions in the prompt / system message; test for the most common suicide / self-harm phrases and escalate before generating any other reply."
          },
          {
            "tool_name": "agent-audit-kit",
            "severity": "medium",
            "category": "legal-compliance",
            "file_path": "skills/academic-humanizer/references/examples.md",
            "line_number": null,
            "rule_identifier": "AAK-HEALTHCARE-AI-004",
            "title": "Healthcare context without explicit AI-disclosure to user",
            "description": "Text mentions patient / clinical / mental-health / therapy / diagnosis but the tool never explicitly says the responder is an AI. Multiple 2026 state laws (TN, WA, UT) expect clear AI disclosure in clinical interactions.",
            "remediation": "Add a visible 'You are talking to an AI; this is not medical advice and is not a substitute for licensed care' disclosure."
          }
        ],
        "execution_duration_seconds": 11.323912202031352,
        "status": "complete",
        "examined": {
          "unit": "files",
          "count": 78
        },
        "metadata": {
          "source": "pypi",
          "source_url": "https://pypi.org/project/agent-audit-kit/0.3.26/",
          "report_type": "agent-audit-kit-sast",
          "install_command": "pip install --require-hashes -r docker/scanner-base/agent-audit-kit/requirements.txt",
          "rules_evaluated": 211,
          "severity_counts": {
            "low": 0,
            "high": 2,
            "medium": 2,
            "critical": 36,
            "informational": 0
          }
        },
        "display_score": 0.0,
        "display_badge": "Unsafe"
      },
      {
        "scanner_name": "bearer",
        "scanner_version": "2.0.2",
        "score": 0.0,
        "scanner_badge": "Unsafe",
        "findings": [
          {
            "tool_name": "bearer",
            "severity": "critical",
            "category": null,
            "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
            "line_number": 24,
            "rule_identifier": null,
            "title": "Unsanitized user input in OS command",
            "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "critical",
            "category": null,
            "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
            "line_number": 314,
            "rule_identifier": null,
            "title": "Unsanitized user input in OS command",
            "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "critical",
            "category": null,
            "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
            "line_number": 348,
            "rule_identifier": null,
            "title": "Unsanitized user input in OS command",
            "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "critical",
            "category": null,
            "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
            "line_number": 371,
            "rule_identifier": null,
            "title": "Unsanitized user input in OS command",
            "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "critical",
            "category": null,
            "file_path": "/repo/skills/task-forest/scripts/validate_task_forest_export.py",
            "line_number": 408,
            "rule_identifier": null,
            "title": "Unsanitized user input in OS command",
            "description": "## Description\n\nDirectly incorporating external or user-defined input into an OS command exposes the system to possible command injection attacks. This vulnerability allows attackers to execute unauthorized commands on the operating system, potentially leading to a compromise of system integrity.\n\n## Remediations\n\n- **Do not** use OS commands that include dynamic input directly. Instead, explore safer alternatives such as libraries or built-in functions that achieve the same goal without executi",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "high",
            "category": null,
            "file_path": "/repo/skills/user-profile-keeper/scripts/profile_store.py",
            "line_number": 115,
            "rule_identifier": null,
            "title": "Permissive file assignment",
            "description": "## Description\n\nPermissive file assignment exposes sensitive information by granting unnecessary read, write, or execute permissions to users without ownership privileges.\n\n## Remediations\n\n- **Do** keep file permissions as restrictive as possible to minimize the risk of unauthorized access. Use the principle of least privilege to only grant permissions that are absolutely necessary for the operation of the application.\n  ```python\n  os.chmod(\"my_private_file.txt\", 0o600) # only you have full re",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "high",
            "category": null,
            "file_path": "/repo/skills/academic-humanizer/scripts/metrics.py",
            "line_number": 776,
            "rule_identifier": null,
            "title": "Unsanitized dynamic input in file path",
            "description": "## Description\n\nUsing unsanitized dynamic input to determine file paths can allow attackers to gain access to files and folders outside of the intended scope. This vulnerability occurs when input provided by users is directly used to access the filesystem without proper validation or sanitization.\n\n## Remediations\n\n- **Do not** directly use external input to construct file paths. This can lead to unauthorized file access.\n- **Do** use a safelist to define accessible paths or directories. Only al",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "high",
            "category": null,
            "file_path": "/repo/skills/session-handoff-prompt/scripts/redact_handoff.py",
            "line_number": 43,
            "rule_identifier": null,
            "title": "Unsanitized dynamic input in file path",
            "description": "## Description\n\nUsing unsanitized dynamic input to determine file paths can allow attackers to gain access to files and folders outside of the intended scope. This vulnerability occurs when input provided by users is directly used to access the filesystem without proper validation or sanitization.\n\n## Remediations\n\n- **Do not** directly use external input to construct file paths. This can lead to unauthorized file access.\n- **Do** use a safelist to define accessible paths or directories. Only al",
            "remediation": null
          },
          {
            "tool_name": "bearer",
            "severity": "high",
            "category": null,
            "file_path": "/repo/skills/session-handoff-prompt/scripts/validate_handoff_prompt.py",
            "line_number": 45,
            "rule_identifier": null,
            "title": "Unsanitized dynamic input in file path",
            "description": "## Description\n\nUsing unsanitized dynamic input to determine file paths can allow attackers to gain access to files and folders outside of the intended scope. This vulnerability occurs when input provided by users is directly used to access the filesystem without proper validation or sanitization.\n\n## Remediations\n\n- **Do not** directly use external input to construct file paths. This can lead to unauthorized file access.\n- **Do** use a safelist to define accessible paths or directories. Only al",
            "remediation": null
          }
        ],
        "execution_duration_seconds": 34.78874151100172,
        "status": "complete",
        "examined": {
          "unit": "files",
          "count": 17
        },
        "metadata": {
          "source": "github-releases",
          "source_url": "https://github.com/Bearer/bearer",
          "report_type": "security",
          "rules_loaded": 554,
          "install_command": "curl -sfL https://raw.githubusercontent.com/Bearer/bearer/main/contrib/install.sh | sh -s -- -b /usr/local/bin \"v2.0.2\"",
          "severity_counts": {
            "low": 0,
            "high": 4,
            "medium": 0,
            "critical": 5,
            "informational": 0
          }
        },
        "display_score": 0.0,
        "display_badge": "Unsafe"
      },
      {
        "scanner_name": "nerlo-behavioral",
        "scanner_version": "0.1.0",
        "score": 100.0,
        "scanner_badge": "Verified",
        "findings": [],
        "execution_duration_seconds": 4.49561410699971,
        "status": "complete",
        "examined": {
          "unit": "files",
          "count": 17
        },
        "metadata": {
          "source": "nerlo-original",
          "source_url": "https://github.com/nerlo-ai/nerlo",
          "report_type": "nerlo-behavioral",
          "ruleset_path": "/opt/nerlo-rules/exfiltration.yaml",
          "ruleset_paths": [
            "/opt/nerlo-rules/exfiltration.yaml",
            "/opt/nerlo-rules/clipboard_exfiltration.yaml",
            "/opt/nerlo-rules/rce_endpoint.yaml",
            "/opt/nerlo-rules/taint_egress.yaml"
          ],
          "install_command": "pip install 'semgrep==1.97.0'",
          "merged_invocation": true
        },
        "display_score": 100.0,
        "display_badge": "Verified"
      },
      {
        "scanner_name": "nerlo-install-instruction",
        "scanner_version": "0.1.0",
        "score": 100.0,
        "scanner_badge": "Verified",
        "findings": [],
        "execution_duration_seconds": 4.496834935969673,
        "status": "complete",
        "examined": {
          "unit": "files",
          "count": 79
        },
        "metadata": {
          "source": "nerlo-original",
          "source_url": "https://github.com/nerlo-ai/nerlo",
          "report_type": "nerlo-install-instruction",
          "ruleset_path": "/opt/nerlo-rules/install_instructions.yaml",
          "ruleset_paths": [
            "/opt/nerlo-rules/install_instructions.yaml",
            "/opt/nerlo-rules/cursor_rules.yaml"
          ],
          "install_command": "pip install 'semgrep==1.97.0'",
          "merged_invocation": true
        },
        "display_score": 100.0,
        "display_badge": "Verified"
      },
      {
        "scanner_name": "capslock",
        "scanner_version": "v0.3.2",
        "score": 100.0,
        "scanner_badge": "Verified",
        "findings": [],
        "execution_duration_seconds": 0.13602336699841544,
        "status": "not_applicable",
        "examined": {
          "unit": "packages",
          "count": 0
        },
        "metadata": {
          "source": "go-module-proxy",
          "source_url": "https://github.com/google/capslock/releases/tag/v0.3.2",
          "report_type": "go-capability",
          "vendor_mode": false,
          "install_command": "GOTOOLCHAIN=local GOFLAGS=-mod=mod GOSUMDB=sum.golang.org GOBIN=/usr/local/bin go install github.com/google/capslock/cmd/capslock@v0.3.2  # github.com/google/capslock v0.3.2 h1:0ZQa9YR8s9ewFu1g5w6Rgd/lW/4dga7qJew3K6Ql7aM=",
          "environment_note": "capslock found no .go files to analyze; reported not_applicable rather than a clean 100 \u2014 the scanner never ran, so it has no verdict to contribute",
          "go_files_present": 0,
          "artifact_type_policy": "claude_skill",
          "expected_capabilities": null,
          "artifact_type_explicit": true
        },
        "display_score": null,
        "display_badge": "not_applicable"
      }
    ]
  },
  "report": {
    "report_id": "aa87cf8a-5fac-4857-b09a-1729dce3612c",
    "format": "json",
    "generated_at": "2026-08-12T16:58:51.799898+00:00",
    "scanner_filter": null,
    "signature": null
  }
}