{
  "version": "1.6.0",
  "scoring_model": "v4.3",
  "scoring_version": "4.3",
  "timestamp": "2026-04-10T23:09:54.377367+00:00",
  "target_path": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
  "file_counts": {
    "python": 1240,
    "js": 0,
    "other": 0
  },
  "coverage_warning": false,
  "score": {
    "total": 14,
    "max": 100,
    "level": "UNGOVERNED",
    "raw_total": 32,
    "raw_max": 235,
    "dimensions": {
      "D1": {
        "name": "Tool Inventory",
        "raw": 2,
        "max": 25,
        "pct": 8
      },
      "D2": {
        "name": "Risk Detection",
        "raw": 0,
        "max": 20,
        "pct": 0
      },
      "D3": {
        "name": "Policy Coverage",
        "raw": 3,
        "max": 20,
        "pct": 15
      },
      "D4": {
        "name": "Credential Management",
        "raw": 5,
        "max": 20,
        "pct": 25
      },
      "D5": {
        "name": "Log Hygiene",
        "raw": 1,
        "max": 10,
        "pct": 10
      },
      "D6": {
        "name": "Framework Coverage",
        "raw": 1,
        "max": 5,
        "pct": 20
      },
      "D7": {
        "name": "Human-in-the-Loop",
        "raw": 6,
        "max": 15,
        "pct": 40
      },
      "D8": {
        "name": "Agent Identity",
        "raw": 1,
        "max": 15,
        "pct": 7
      },
      "D9": {
        "name": "Threat Detection",
        "raw": 1,
        "max": 20,
        "pct": 5
      },
      "D10": {
        "name": "Prompt Security",
        "raw": 2,
        "max": 15,
        "pct": 13
      },
      "D11": {
        "name": "Cloud / Platform",
        "raw": 2,
        "max": 10,
        "pct": 20
      },
      "D12": {
        "name": "LLM Observability",
        "raw": 0,
        "max": 10,
        "pct": 0
      },
      "D13": {
        "name": "Data Recovery",
        "raw": 2,
        "max": 10,
        "pct": 20
      },
      "D14": {
        "name": "Compliance Maturity",
        "raw": 4,
        "max": 10,
        "pct": 40
      },
      "D15": {
        "name": "Post-Exec Verification",
        "raw": 1,
        "max": 10,
        "pct": 10
      },
      "D16": {
        "name": "Data Flow Governance",
        "raw": 0,
        "max": 10,
        "pct": 0
      },
      "D17": {
        "name": "Adversarial Resilience",
        "raw": 1,
        "max": 10,
        "pct": 10
      }
    }
  },
  "findings": [
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\sk_service_configurator.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_code_executor.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_convo_with_tools.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_convo_with_tools.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_convo_with_tools.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_simple_convo.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_as_kernel_function.py",
      "line": 32,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_as_kernel_function.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_as_kernel_function.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_as_kernel_function.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_as_kernel_function.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_as_kernel_function.py",
      "line": 125,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 125,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 139,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 148,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 125,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 135,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 149,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_auto_func_invocation_filter_streaming.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_azure_ai_search.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_azure_ai_search.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 38,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 40,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_azure_ai_search.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_azure_ai_search.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_azure_ai_search.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_azure_ai_search.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_bing_grounding.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_bing_grounding.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_file_search.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_file_search.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_function_calling_from_file.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_function_calling_from_file.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_openapi.py",
      "line": 174,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_openapi.py",
      "line": 180,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_templating.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_with_existing_agent_id.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_with_existing_agent_id.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 39,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_file_manipulation.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_file_manipulation.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_file_manipulation.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_file_manipulation.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_mcp_streaming.py",
      "line": 22,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_mcp_streaming.py",
      "line": 24,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_mcp_streaming.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_mcp_streaming.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_mcp_streaming.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 104,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_message_callback_streaming.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_prompt_templating.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_prompt_templating.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_prompt_templating.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_prompt_templating.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_prompt_templating.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_prompt_templating.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_retrieve_messages_from_thread.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_retrieve_messages_from_thread.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_retrieve_messages_from_thread.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_retrieve_messages_from_thread.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_retrieve_messages_from_thread.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_retrieve_messages_from_thread.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_streaming.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_streaming.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_streaming.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_streaming.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_streaming.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_structured_outputs.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_structured_outputs.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_truncation_strategy.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_truncation_strategy.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_retrieval.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_retrieval.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_retrieval.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_retrieval.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat.py",
      "line": 39,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat_streaming.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat_streaming.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat_streaming.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat_streaming.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat_streaming.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_simple_chat_streaming.py",
      "line": 40,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_code_interpreter.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_code_interpreter.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_code_interpreter_streaming.py",
      "line": 43,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_code_interpreter_streaming.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_code_interpreter_streaming.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_code_interpreter_streaming.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_kernel_function.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_kernel_function_simple.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_kernel_function_streaming.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_agent_with_kernel_function_streaming.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents_streaming.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents_streaming.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents_streaming.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents_streaming.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\bedrock_agent\\bedrock_mixed_chat_agents_streaming.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_as_kernel_function.py",
      "line": 27,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_as_kernel_function.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_as_kernel_function.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_as_kernel_function.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_as_kernel_function.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_as_kernel_function.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_function_termination.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_function_termination.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_function_termination.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_function_termination.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_function_termination.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback_streaming.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback_streaming.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback_streaming.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback_streaming.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback_streaming.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_message_callback_streaming.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_prompt_templating.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_prompt_templating.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_prompt_templating.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_prompt_templating.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_prompt_templating.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_prompt_templating.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_streaming_token_usage.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_streaming_token_usage.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_streaming_token_usage.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_streaming_token_usage.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_streaming_token_usage.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_agent_chat.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_agent_chat.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_agent_chat.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_agent_chat.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_agent_chat.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_single_agent.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_single_agent.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_single_agent.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_single_agent.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_summary_history_reducer_single_agent.py",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_token_usage.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_token_usage.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_token_usage.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_token_usage.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_agent_chat.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_agent_chat.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_agent_chat.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_agent_chat.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_single_agent.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_single_agent.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_single_agent.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\chat_completion_agent\\chat_completion_agent_truncate_history_reducer_single_agent.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents_plugins.py",
      "line": 122,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents_plugins.py",
      "line": 125,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents_plugins.py",
      "line": 127,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_files.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_files.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_files.py",
      "line": 108,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_files.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_images.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_images.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_images.py",
      "line": 108,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_images.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_reset.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_reset.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_reset.py",
      "line": 104,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_reset.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_streaming.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_streaming.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_streaming.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_streaming.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_streaming.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_file_search.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_file_search.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_function_calling_from_file.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_function_calling_from_file.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_templating.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_with_existing_agent_id.py",
      "line": 38,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_with_existing_agent_id.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 123,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 129,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 148,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 123,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 135,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 147,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 151,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_code_interpreter.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_file_search.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_file_search.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_function_calling_from_file.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_function_calling_from_file.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_templating.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_with_existing_agent_id.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_declarative_with_existing_agent_id.py",
      "line": 43,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 104,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_retrieval.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_retrieval.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_sample_utils.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_sample_utils.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_streaming.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_streaming.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_streaming.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_streaming.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_structured_outputs.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_structured_outputs.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_vision_streaming.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_vision_streaming.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_vision_streaming.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_vision_streaming.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_file_search.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_file_search.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_function_calling_from_file.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_function_calling_from_file.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_templating.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_templating.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_file_search.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_file_search.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_function_calling_from_file.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_function_calling_from_file.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_templating.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_templating.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_web_search.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\openai_responses_agent_declarative_web_search.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 152,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 157,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 164,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 166,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 167,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 174,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 175,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 176,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 177,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 178,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 179,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 180,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 181,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 182,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 183,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_binary_content_upload.py",
      "line": 184,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_file_search_streaming.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_file_search_streaming.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_file_search_streaming.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_file_search_streaming.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback_streaming.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_plugins_streaming.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_plugins_streaming.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_plugins_streaming.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_plugins_streaming.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 123,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 125,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 126,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 138,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 139,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 147,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 104,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 122,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 128,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 141,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 156,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 158,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 159,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 161,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reuse_existing_thread_id.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reuse_existing_thread_id.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reuse_existing_thread_id.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reuse_existing_thread_id.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_web_search_streaming.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_web_search_streaming.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_web_search_streaming.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_web_search_streaming.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\01-chat_with_audio_input.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\02-chat_with_audio_output.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\02-chat_with_audio_output.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\02-chat_with_audio_output.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\02-chat_with_audio_output.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\03-chat_with_audio_input_output.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\audio_player.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\audio_player.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\audio\\audio_player.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\azure_python_code_interpreter_function_calling.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\azure_python_code_interpreter_function_calling.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\azure_python_code_interpreter_function_calling.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\azure_python_code_interpreter_function_calling.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\azure_python_code_interpreter_function_calling.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling_streaming.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling_streaming.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling_streaming.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling_streaming.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling_streaming.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_auto_function_calling_streaming.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling.py",
      "line": 107,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling.py",
      "line": 124,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling.py",
      "line": 156,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 113,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 124,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 148,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 166,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 168,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\chat_completion_with_manual_function_calling_streaming.py",
      "line": 171,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 141,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 167,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 172,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 173,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 176,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 186,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 189,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 193,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 212,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 221,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_json_prompt.py",
      "line": 149,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 138,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 152,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 164,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 169,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 170,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 173,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 183,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 186,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 190,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 209,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 218,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\functions_defined_in_yaml_prompt.py",
      "line": 146,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 149,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 154,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 158,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 168,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 171,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 175,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 193,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 202,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\function_calling_with_required_type.py",
      "line": 128,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 382,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 383,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 387,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 388,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 400,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\nexus_raven.py",
      "line": 401,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\parallel_function_calling.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\parallel_function_calling.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\parallel_function_calling.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\auto_function_calling\\parallel_function_calling.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\caching\\semantic_caching.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\caching\\semantic_caching.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\caching\\semantic_caching.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\caching\\semantic_caching.py",
      "line": 107,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\caching\\semantic_caching.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\caching\\semantic_caching.py",
      "line": 111,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_kernel_function.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_kernel_function.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_kernel_function.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_kernel_function.py",
      "line": 104,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_logit_bias.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_logit_bias.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_logit_bias.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_logit_bias.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_store_metadata.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_store_metadata.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_store_metadata.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_store_metadata.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_streaming.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_streaming.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_streaming.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_streaming.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_streaming.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_streaming.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_image.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_image.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_image.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_image.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 125,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 129,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 139,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 147,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 148,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 126,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 141,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 148,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 151,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 152,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_autoreduce.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 135,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 139,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 143,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 190,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 191,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 192,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_summary_history_reducer_keep_func_content.py",
      "line": 194,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer.py",
      "line": 112,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer_autoreduce.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer_autoreduce.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer_autoreduce.py",
      "line": 124,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer_autoreduce.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_completion\\simple_chatbot_with_truncation_history_reducer_autoreduce.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\serialize_chat_history.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 159,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 177,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\chat_history\\store_chat_history_in_cosmosdb.py",
      "line": 186,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\embedding\\text_embedding_generation.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\embedding\\text_embedding_generation.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 127,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 147,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 158,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\auto_function_invoke_filters.py",
      "line": 166,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\function_invocation_filters_stream.py",
      "line": 73,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\prompt_filters.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\prompt_filters.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\prompt_filters.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\prompt_filters.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\retry_with_different_model.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\retry_with_different_model.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\retry_with_filters.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\retry_with_filters.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\functions\\agent_framework_tools.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\functions\\agent_framework_tools.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\functions\\agent_framework_tools.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\functions\\agent_framework_tools.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\functions\\kernel_arguments.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 132,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 135,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 136,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 153,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 154,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 158,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 159,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 160,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 164,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 165,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 166,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 170,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 171,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\grounding\\grounded.py",
      "line": 172,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\images\\image_generation.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\foundry_local_chatbot.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\foundry_local_chatbot.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\foundry_local_chatbot.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\foundry_local_chatbot.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_chat_completion.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_chat_completion.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_chat_completion.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_chat_completion.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_text_embedding.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_text_embedding.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\ollama_chat_completion.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\ollama_chat_completion.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\ollama_chat_completion.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\ollama_chat_completion.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 38,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_chat_completion.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_phi3_vision_completion.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\onnx_text_completion.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\logging\\setup_logging.py",
      "line": 20,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\logging\\setup_logging.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_http_mcp_plugin.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_http_mcp_plugin.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_mcp_agent.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_mcp_plugin.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_mcp_plugin.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_mcp_sampling.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_mcp_sampling.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_local_server.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_local_server.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_local_server.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_local_server.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_mcp_plugin.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_mcp_plugin.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_mcp_plugin.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\azure_ai_agent_with_mcp_plugin.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\local_agent_with_local_server.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\local_agent_with_local_server.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\local_agent_with_local_server.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\local_agent_with_local_server.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\local_agent_with_local_server.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\mcp_as_plugin.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\mcp_as_plugin.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\mcp_as_plugin.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\mcp_as_plugin.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 182,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 188,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 195,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 199,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 211,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 218,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 221,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 229,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 236,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\complex_memory.py",
      "line": 239,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 111,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 112,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 113,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 127,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\data_models.py",
      "line": 129,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\memory_with_pandas.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\memory_with_pandas.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\memory_with_pandas.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\memory_with_pandas.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\simple_memory.py",
      "line": 122,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 38,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 43,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\1_interact_with_the_collection.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 172,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 176,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 192,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 195,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 199,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 203,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 209,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 211,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\memory\\azure_ai_search_hotel_samples\\2_use_as_a_plugin.py",
      "line": 215,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 157,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 175,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 180,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 183,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\model_as_a_service\\mmlu_model_eval.py",
      "line": 185,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_function_calling.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_function_calling.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_function_calling.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_function_calling.py",
      "line": 107,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_function_calling.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_vector_search.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_vector_search.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_vector_search.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_vector_search.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_vector_search.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_vector_search.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\azure_python_code_interpreter.py",
      "line": 27,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 84,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\plugins_from_dir.py",
      "line": 14,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo-instruct' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\plugins_from_dir.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\crew_ai\\crew_ai_plugin.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\crew_ai\\crew_ai_plugin.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\crew_ai\\crew_ai_plugin.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\crew_ai\\crew_ai_plugin.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openapi\\openapi_client.py",
      "line": 32,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\cycles_with_fan_in.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\cycles_with_fan_in.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\cycles_with_fan_in.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\nested_process.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\nested_process.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 111,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 147,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 260,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 303,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 307,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 354,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 376,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 377,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\processes\\plan_and_execute.py",
      "line": 379,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_handlebars.py",
      "line": 74,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\azure_chat_gpt_api_jinja2.py",
      "line": 73,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 14,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\handlebars_prompts.py",
      "line": 21,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\handlebars_prompts.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\handlebars_prompts.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\load_yaml_prompt.py",
      "line": 15,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\load_yaml_prompt.py",
      "line": 27,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\template_language.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\template_language.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\template_language.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\template_language.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\rag_with_vector_collection.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\rag_with_vector_collection.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\rag_with_vector_collection.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\rag_with_vector_collection.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\rag_with_vector_collection.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 107,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 108,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 120,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 128,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 141,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 143,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\rag\\self_critique_rag.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_webrtc.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_webrtc.py",
      "line": 136,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_webrtc.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_websocket.py",
      "line": 127,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_websocket.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_websocket.py",
      "line": 135,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\realtime_agent_with_function_calling_websocket.py",
      "line": 140,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_webrtc.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_webrtc.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_webrtc.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_webrtc.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_webrtc.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_websocket.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_websocket.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_websocket.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\simple_realtime_chat_websocket.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\realtime\\utils.py",
      "line": 242,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning.py",
      "line": 84,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_azure_ai_inference.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_azure_ai_inference.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_azure_ai_inference.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_azure_ai_inference.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_function_calling.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_function_calling.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_function_calling.py",
      "line": 107,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_function_calling.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_function_calling.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\reasoning\\simple_reasoning_function_calling.py",
      "line": 126,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\resources\\utils.py",
      "line": 8,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\brave_text_search_as_plugin.py",
      "line": 123,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 111,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 124,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\search\\google_text_search_as_plugin.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\service_selector\\custom_service_selector.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\setup\\openai_env_setup.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\setup\\openai_env_setup.py",
      "line": 24,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\setup\\openai_env_setup.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\setup\\openai_env_setup.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs.py",
      "line": 13,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: '\nThe following sample demonstrates how to create a chat\ncompletion call that assists users in solving math problems.\nThe bot guides the user step-by-step through the solution\nprocess using a structured output format based on either a\nPydantic model or a non-Pydantic model.\n\n\nNOTE: If using Azure OpenAI the the following is required:\n- access to gpt-4o-2024-08-06\n- the 2024-08-01-preview API version\n- if using a token instead of an API KEY, you must have the\n   `Cognitive Services OpenAI Contributor` role assigned to your\n   Azure AD user.\n- flip the `use_azure_openai` flag to `True`\n' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs.py",
      "line": 102,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 14,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: '\nThe following sample demonstrates how to create a chat\ncompletion call that assists users in solving a question\nusing a Semantic Kernel Plugin and function calling problems.\nThe chat plugin guides the user step-by-step through the\nsolution process using a structured output format based on\na Pydantic model.\n\nNOTE: If using Azure OpenAI the the following is required:\n- access to gpt-4o-2024-08-06\n- the 2024-08-01-preview API version\n- if using a token instead of an API KEY, you must have the\n   `Cognitive Services OpenAI Contributor` role assigned to your\n   Azure AD user.\n- flip the `use_azure_openai` flag to `True`\n' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 127,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 138,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\structured_outputs\\json_structured_outputs_function_calling.py",
      "line": 123,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\text_completion\\text_completion.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\text_completion\\text_completion_streaming.py",
      "line": 32,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\text_completion\\text_completion_streaming.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage_streaming.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage_streaming.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage_streaming.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage_streaming.py",
      "line": 73,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\token_usage\\simple_chat_token_usage_streaming.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 138,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 142,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\assistants_group_chat\\group_chat.py",
      "line": 152,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\restaurant_booking.py",
      "line": 24,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\restaurant_booking.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\restaurant_booking.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\restaurant_booking.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\restaurant_booking.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\restaurant_booking.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\bookings_plugin\\bookings_plugin.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\bookings_plugin\\bookings_plugin.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\booking_restaurant\\bookings_plugin\\bookings_plugin.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\copilot_studio_skill\\src\\api\\adapter.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\copilot_studio_skill\\src\\api\\adapter.py",
      "line": 54,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\copilot_studio_skill\\src\\api\\adapter.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\main.py",
      "line": 124,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\main.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\main.py",
      "line": 134,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\plugins\\repo_file_plugin.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\interactive_guided_conversation.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o-2024-05-13' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\interactive_guided_conversation.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\interactive_guided_conversation.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\interactive_guided_conversation.py",
      "line": 113,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\interactive_guided_conversation.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\interactive_guided_conversation.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_server\\mcp_server_with_sampling.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o-mini' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_server\\sk_mcp_server.py",
      "line": 19,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: '\nThis sample demonstrates how to expose your Semantic Kernel `kernel` instance as a MCP server.\n\nTo run this sample, set up your MCP host (like Claude Desktop or VSCode Github Copilot Agents)\nwith the following configuration:\n```json\n{\n    \"mcpServers\": {\n        \"sk\": {\n            \"command\": \"uv\",\n            \"args\": [\n                \"--directory=<path to sk project>/semantic-kernel/python/samples/demos/mcp_server\",\n                \"run\",\n                \"sk_mcp_server.py\"\n            ],\n            \"env\": {\n                \"OPENAI_API_KEY\": \"<your_openai_api_key>\",\n                \"OPENAI_CHAT_MODEL_ID\": \"gpt-4o-mini\"\n            }\n        }\n    }\n}\n```\n\nNote: You might need to set the uv to its full path.\n\nAlternatively, you can run this as a SSE server, by setting the same environment variables as above, \nand running the following command:\n```bash\nuv --directory=<path to sk project>/semantic-kernel/python/samples/demos/mcp_server run sk_mcp_server.py --transport sse --port 8000\n```\nThis will start a server that listens for incoming requests on port 8000.\n\nIn both cases, uv will make sure to install semantic-kernel with the mcp extra for you in a temporary venv.\n' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\agent\\main.py",
      "line": 136,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\agent\\main.py",
      "line": 169,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\agent\\main.py",
      "line": 186,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\agent\\main.py",
      "line": 218,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\agent\\main.py",
      "line": 221,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\server\\mcp_simple_auth\\legacy_as_server.py",
      "line": 90,
      "severity": "CRITICAL",
      "dimension": "D2",
      "message": "Tool function without input validation",
      "remediation": "Add input validation (pydantic, jsonschema, or manual checks)",
      "compliance": {
        "owasp_llm": "LLM01"
      }
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\server\\mcp_simple_auth\\server.py",
      "line": 87,
      "severity": "CRITICAL",
      "dimension": "D2",
      "message": "Tool function without input validation",
      "remediation": "Add input validation (pydantic, jsonschema, or manual checks)",
      "compliance": {
        "owasp_llm": "LLM01"
      }
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\fastapi_app.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\fastapi_app.py",
      "line": 78,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\flask_app.py",
      "line": 28,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 43,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 109,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\process_with_dapr\\process\\steps.py",
      "line": 118,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\main.py",
      "line": 141,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 119,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 132,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 139,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 140,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 143,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 163,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 177,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 189,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 190,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\telemetry\\scenarios.py",
      "line": 193,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step01_azure_ai_agent.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step01_azure_ai_agent.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step02_azure_ai_agent_plugin.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step02_azure_ai_agent_plugin.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step03_azure_ai_agent_group_chat.py",
      "line": 98,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step03_azure_ai_agent_group_chat.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step04_azure_ai_agent_code_interpreter.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step04_azure_ai_agent_code_interpreter.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step05_azure_ai_agent_file_search.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step05_azure_ai_agent_file_search.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step06_azure_ai_agent_openapi.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step06_azure_ai_agent_openapi.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step06_azure_ai_agent_openapi.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step06_azure_ai_agent_openapi.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step06_azure_ai_agent_openapi.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step07_azure_ai_agent_retrieval.py",
      "line": 27,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step07_azure_ai_agent_retrieval.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step07_azure_ai_agent_retrieval.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step07_azure_ai_agent_retrieval.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step07_azure_ai_agent_retrieval.py",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step08_azure_ai_agent_declarative.py",
      "line": 87,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step08_azure_ai_agent_declarative.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step09_azure_ai_agent_mcp.py",
      "line": 22,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step09_azure_ai_agent_mcp.py",
      "line": 24,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step09_azure_ai_agent_mcp.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step09_azure_ai_agent_mcp.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step09_azure_ai_agent_mcp.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 38,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step01_chat_completion_agent_simple.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step01_chat_completion_agent_simple.py",
      "line": 43,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step02_chat_completion_agent_thread_management.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step02_chat_completion_agent_thread_management.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step03_chat_completion_agent_with_kernel.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step03_chat_completion_agent_with_kernel.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step04_chat_completion_agent_plugin_simple.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step04_chat_completion_agent_plugin_simple.py",
      "line": 66,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step05_chat_completion_agent_plugin_with_kernel.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step05_chat_completion_agent_plugin_with_kernel.py",
      "line": 82,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step06_chat_completion_agent_group_chat.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step06_chat_completion_agent_group_chat.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step07_kernel_function_strategies.py",
      "line": 128,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step07_kernel_function_strategies.py",
      "line": 132,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step08_chat_completion_agent_json_result.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step08_chat_completion_agent_json_result.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step09_chat_completion_agent_logging.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step09_chat_completion_agent_logging.py",
      "line": 97,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step10_chat_completion_agent_structured_outputs.py",
      "line": 58,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step10_chat_completion_agent_structured_outputs.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step11_chat_completion_agent_declarative.py",
      "line": 102,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step11_chat_completion_agent_declarative.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step12_chat_completion_agent_code_interpreter.py",
      "line": 22,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step12_chat_completion_agent_code_interpreter.py",
      "line": 24,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step12_chat_completion_agent_code_interpreter.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step12_chat_completion_agent_code_interpreter.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\step12_chat_completion_agent_code_interpreter.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step1_copilot_studio_agent_simple.py",
      "line": 28,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step1_copilot_studio_agent_simple.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step2_copilot_studio_agent_thread_management.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step2_copilot_studio_agent_thread_management.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step3_copilot_studio_agent_prompt_template.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step3_copilot_studio_agent_prompt_template.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step4_copilot_studio_agent_web_search.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\copilot_studio\\step4_copilot_studio_agent_web_search.py",
      "line": 33,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\observability.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step1a_concurrent_structured_outputs.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step1a_concurrent_structured_outputs.py",
      "line": 91,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step1_concurrent.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2a_sequential_cancellation_token.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2b_sequential_streaming_agent_response_callback.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2b_sequential_streaming_agent_response_callback.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2b_sequential_streaming_agent_response_callback.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2b_sequential_streaming_agent_response_callback.py",
      "line": 106,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2_sequential.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step2_sequential.py",
      "line": 89,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3a_group_chat_human_in_the_loop.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3a_group_chat_human_in_the_loop.py",
      "line": 130,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 215,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 216,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 217,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 256,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 257,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 260,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 307,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3b_group_chat_with_chat_completion_manager.py",
      "line": 337,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3_group_chat.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step3_group_chat.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4a_handoff_structured_inputs.py",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4a_handoff_structured_inputs.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4a_handoff_structured_inputs.py",
      "line": 178,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 155,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 157,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 161,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 163,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 166,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4b_handoff_streaming_agent_response_callback.py",
      "line": 199,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 174,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 177,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 179,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 216,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4_handoff.py",
      "line": 44,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4_handoff.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4_handoff.py",
      "line": 133,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4_handoff.py",
      "line": 136,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4_handoff.py",
      "line": 138,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4_handoff.py",
      "line": 170,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step5_magentic.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o-search-preview' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step5_magentic.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step5_magentic.py",
      "line": 108,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step1_assistant.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step1_assistant.py",
      "line": 56,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step2_assistant_plugins.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step2_assistant_plugins.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step3_assistant_vision.py",
      "line": 76,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step3_assistant_vision.py",
      "line": 79,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step4_assistant_tool_code_interpreter.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step4_assistant_tool_code_interpreter.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step5_assistant_tool_file_search.py",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step5_assistant_tool_file_search.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step6_assistant_declarative.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step6_assistant_declarative.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step1_responses_agent.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step1_responses_agent.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step2_responses_agent_thread_management.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step2_responses_agent_thread_management.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step3_responses_agent_plugins.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step3_responses_agent_plugins.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step4_responses_agent_web_search.py",
      "line": 48,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step4_responses_agent_web_search.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step5_responses_agent_file_search.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step5_responses_agent_file_search.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step6_responses_agent_vision.py",
      "line": 72,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step6_responses_agent_vision.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step7_responses_agent_structured_outputs.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step7_responses_agent_structured_outputs.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step8_responses_agent_declarative.py",
      "line": 74,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step8_responses_agent_declarative.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step01\\step01_processes.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step01\\step01_processes.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step01\\step01_processes.py",
      "line": 151,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 62,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 90,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 107,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 152,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 156,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 169,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 173,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 182,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 186,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 214,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 220,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 231,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 237,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 251,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 258,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 272,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 279,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 293,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 300,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 314,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 321,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 335,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03a_food_preparation.py",
      "line": 342,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03b_food_ordering.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\step03b_food_ordering.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\processes\\fish_and_chips_process.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\processes\\fish_sandwich_process.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\processes\\fish_sandwich_process.py",
      "line": 40,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\processes\\single_food_item_process.py",
      "line": 25,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\processes\\single_food_item_process.py",
      "line": 47,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_step.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_step.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_with_sharpening_step.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_with_sharpening_step.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_with_sharpening_step.py",
      "line": 70,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_with_sharpening_step.py",
      "line": 80,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\cut_food_with_sharpening_step.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\fry_food_step.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\fry_food_step.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\gather_ingredients_step.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\gather_ingredients_step.py",
      "line": 69,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_processes\\step03\\steps\\gather_ingredients_step.py",
      "line": 81,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\ai_services.py",
      "line": 28,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\configuring_prompts.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\configuring_prompts.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\configuring_prompts.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\configuring_prompts.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\creating_functions.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\creating_functions.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\creating_functions.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\evaluate_with_prompt_flow.py",
      "line": 43,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\functions_within_prompts.py",
      "line": 85,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\functions_within_prompts.py",
      "line": 86,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\improved_evaluate_with_prompt_flow.py",
      "line": 11,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\plugin.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\plugin.py",
      "line": 49,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\plugin.py",
      "line": 51,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\plugin.py",
      "line": 55,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\serializing_prompts.py",
      "line": 68,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\serializing_prompts.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\serializing_prompts.py",
      "line": 75,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\serializing_prompts.py",
      "line": 88,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\templates.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\templates.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\templates.py",
      "line": 151,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\templates.py",
      "line": 156,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\templates.py",
      "line": 139,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\using_the_kernel.py",
      "line": 30,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\using_the_kernel.py",
      "line": 40,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 21,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 31,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 32,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 38,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 45,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 50,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 52,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 60,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 61,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 95,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 99,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 101,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 116,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 123,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 139,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 140,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 146,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 167,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 168,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 173,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 175,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 201,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 202,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 213,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 215,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 242,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 243,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 254,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\your_first_prompt.py",
      "line": 255,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 136,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 143,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 154,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 164,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 169,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 179,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 180,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\agent_collaboration.py",
      "line": 182,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 57,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 59,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 126,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 128,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 131,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 135,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 137,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 143,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 144,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 150,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_search.py",
      "line": 96,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_search.py",
      "line": 100,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_search.py",
      "line": 104,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_search.py",
      "line": 110,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\chat_agent.py",
      "line": 83,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\plugins\\GithubPlugin\\github.py",
      "line": 115,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent.py",
      "line": 557,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_assistant_agent.py",
      "line": 529,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\responses_agent_thread_actions.py",
      "line": 943,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\responses_agent_thread_actions.py",
      "line": 954,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\responses_agent_thread_actions.py",
      "line": 275,
      "severity": "HIGH",
      "dimension": "D15",
      "message": "Tool result assigned directly without verification",
      "remediation": "Verify tool result status/validity before using",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\queue.py",
      "line": 128,
      "severity": "CRITICAL",
      "dimension": "D2",
      "message": "Agent loop with LLM call has no exit condition — potential infinite loop",
      "remediation": "Add max_iterations, timeout, or explicit break condition",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\queue.py",
      "line": 175,
      "severity": "CRITICAL",
      "dimension": "D2",
      "message": "Agent loop with LLM call has no exit condition — potential infinite loop",
      "remediation": "Add max_iterations, timeout, or explicit break condition",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\queue.py",
      "line": 140,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\queue.py",
      "line": 187,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\mcp.py",
      "line": 1083,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\google_ai\\google_ai_settings.py",
      "line": 11,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Google AI settings.\n\n    The settings are first loaded from environment variables with\n    the prefix 'GOOGLE_AI_'.\n    If the environment variables are not found, the settings can\n    be loaded from a .env file with the encoding 'utf-8'.\n    If the settings are not found in the .env file, the settings\n    are ignored; however, validation will fail alerting that the\n    settings are missing.\n\n    Required settings for prefix 'GOOGLE_AI_' are:\n    - gemini_model_id: str - The Gemini model ID for the Google AI service, i.e. gemini-1.5-pro\n                This value can be found in the Google AI service deployment.\n                (Env var GOOGLE_AI_GEMINI_MODEL_ID)\n    - embedding_model_id: str - The embedding model ID for the Google AI service, i.e. text-embedding-004\n                This value can be found in the Google AI service deployment.\n                (Env var GOOGLE_AI_EMBEDDING_MODEL_ID)\n    - api_key: SecretStr - The API key for the Google AI service deployment.\n                This value can be found in the Google AI service deployment.\n                (Env var GOOGLE_AI_API_KEY)\n    - cloud_project_id: str - The Google Cloud project ID.\n                (Env var GOOGLE_AI_CLOUD_PROJECT_ID)\n    - cloud_region: str - The Google Cloud region.\n                (Env var GOOGLE_AI_CLOUD_REGION)\n    - use_vertexai: bool - Whether to use Vertex AI. If true, cloud_project_id and cloud_region must be provided.\n                (Env var GOOGLE_AI_USE_VERTEXAI)\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\vertex_ai\\vertex_ai_settings.py",
      "line": 12,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Vertex AI settings.\n\n    The settings are first loaded from environment variables with\n    the prefix 'VERTEX_AI_'.\n    If the environment variables are not found, the settings can\n    be loaded from a .env file with the encoding 'utf-8'.\n    If the settings are not found in the .env file, the settings\n    are ignored; however, validation will fail alerting that the\n    settings are missing.\n\n    Required settings for prefix 'VERTEX_AI_' are:\n    - gemini_model_id: str - The Gemini model ID for the Vertex AI service, i.e. gemini-1.5-pro\n                This value can be found in the Vertex AI service deployment.\n                (Env var VERTEX_AI_GEMINI_MODEL_ID)\n    - embedding_model_id: str - The embedding model ID for the Vertex AI service, i.e. text-embedding-004\n                This value can be found in the Vertex AI service deployment.\n                (Env var VERTEX_AI_EMBEDDING_MODEL_ID)\n    - project_id: str - The Google Cloud project ID.\n                (Env var VERTEX_AI_PROJECT_ID)\n    - region: str - The Google Cloud region.\n                (Env var VERTEX_AI_REGION)\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\onnx\\services\\onnx_gen_ai_completion_base.py",
      "line": 87,
      "severity": "CRITICAL",
      "dimension": "D2",
      "message": "Agent loop with LLM call has no exit condition — potential infinite loop",
      "remediation": "Add max_iterations, timeout, or explicit break condition",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\prompt_execution_settings\\open_ai_realtime_execution_settings.py",
      "line": 13,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Input audio transcription settings.\n\n    Args:\n        model: The model to use for transcription, should be one of the following:\n            - whisper-1\n            - gpt-4o-transcribe\n            - gpt-4o-mini-transcribe\n        language: The language of the audio, should be in ISO-639-1 format, like 'en'.\n        prompt: An optional text to guide the model's style or continue a previous audio segment.\n            The prompt should match the audio language.\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\prompt_execution_settings\\open_ai_realtime_execution_settings.py",
      "line": 25,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o-transcribe' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\prompt_execution_settings\\open_ai_realtime_execution_settings.py",
      "line": 25,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'gpt-4o-mini-transcribe' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\settings\\open_ai_settings.py",
      "line": 11,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'OpenAI model settings.\n\n    The settings are first loaded from environment variables with the prefix 'OPENAI_'.\n    If the environment variables are not found, the settings can be loaded from a .env file with the\n    encoding 'utf-8'. If the settings are not found in the .env file, the settings are ignored;\n    however, validation will fail alerting that the settings are missing.\n\n    Optional settings for prefix 'OPENAI_' are:\n    - api_key: SecretStr - OpenAI API key, see https://platform.openai.com/account/api-keys\n        (Env var OPENAI_API_KEY)\n    - org_id: str | None - This is usually optional unless your account belongs to multiple organizations.\n        (Env var OPENAI_ORG_ID)\n    - chat_model_id: str | None - The OpenAI chat model ID to use, for example, gpt-3.5-turbo or gpt-4.\n        (Env var OPENAI_CHAT_MODEL_ID)\n    - responses_model_id: str | None - The OpenAI responses model ID to use, for example, gpt-4o or o1.\n        (Env var OPENAI_RESPONSES_MODEL_ID)\n    - text_model_id: str | None - The OpenAI text model ID to use, for example, gpt-3.5-turbo-instruct.\n        (Env var OPENAI_TEXT_MODEL_ID)\n    - embedding_model_id: str | None - The OpenAI embedding model ID to use, for example, text-embedding-ada-002.\n        (Env var OPENAI_EMBEDDING_MODEL_ID)\n    - text_to_image_model_id: str | None - The OpenAI text to image model ID to use, for example, dall-e-3.\n        (Env var OPENAI_TEXT_TO_IMAGE_MODEL_ID)\n    - audio_to_text_model_id: str | None - The OpenAI audio to text model ID to use, for example, whisper-1.\n        (Env var OPENAI_AUDIO_TO_TEXT_MODEL_ID)\n    - text_to_audio_model_id: str | None - The OpenAI text to audio model ID to use, for example, jukebox-1.\n        (Env var OPENAI_TEXT_TO_AUDIO_MODEL_ID)\n    - realtime_model_id: str | None - The OpenAI realtime model ID to use,\n        for example, gpt-realtime, gpt-realtime-mini, or gpt-audio-mini.\n        (Env var OPENAI_REALTIME_MODEL_ID)\n    - env_file_path: str | None - if provided, the .env settings are read from this file path location\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\memory_stores\\azure_cognitive_search\\utils.py",
      "line": 53,
      "severity": "MEDIUM",
      "dimension": "D5",
      "message": "print() used instead of structured logging",
      "remediation": "Use logging.* or structlog.* for structured, searchable logs",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\data\\vector.py",
      "line": 1599,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\process_types.py",
      "line": 31,
      "severity": "HIGH",
      "dimension": "D9",
      "message": "Empty exception handler — errors silently swallowed",
      "remediation": "Log the exception or handle it explicitly",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\local_runtime\\local_process.py",
      "line": 239,
      "severity": "CRITICAL",
      "dimension": "D2",
      "message": "Agent loop with LLM call has no exit condition — potential infinite loop",
      "remediation": "Add max_iterations, timeout, or explicit break condition",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\utils\\telemetry\\model_diagnostics\\decorators.py",
      "line": 94,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Decorator to trace chat completion activities.\n\n    Args:\n        model_provider (str): The model provider should describe a family of\n            GenAI models with specific model identified by ai_model_id. For example,\n            model_provider could be \"openai\" and ai_model_id could be \"gpt-3.5-turbo\".\n            Sometimes the model provider is unknown at runtime, in which case it can be\n            set to the most specific known provider. For example, while using local models\n            hosted by Ollama, the model provider could be set to \"ollama\".\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\utils\\telemetry\\model_diagnostics\\decorators.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Decorator to trace streaming chat completion activities.\n\n    Args:\n        model_provider (str): The model provider should describe a family of\n            GenAI models with specific model identified by ai_model_id. For example,\n            model_provider could be \"openai\" and ai_model_id could be \"gpt-3.5-turbo\".\n            Sometimes the model provider is unknown at runtime, in which case it can be\n            set to the most specific known provider. For example, while using local models\n            hosted by Ollama, the model provider could be set to \"ollama\".\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\utils\\telemetry\\model_diagnostics\\decorators.py",
      "line": 210,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Decorator to trace text completion activities.\n\n    Args:\n        model_provider (str): The model provider should describe a family of\n            GenAI models with specific model identified by ai_model_id. For example,\n            model_provider could be \"openai\" and ai_model_id could be \"gpt-3.5-turbo\".\n            Sometimes the model provider is unknown at runtime, in which case it can be\n            set to the most specific known provider. For example, while using local models\n            hosted by Ollama, the model provider could be set to \"ollama\".\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 1,
      "scanner": "code_analyzer",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\utils\\telemetry\\model_diagnostics\\decorators.py",
      "line": 261,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Hardcoded model name: 'Decorator to trace streaming text completion activities.\n\n    Args:\n        model_provider (str): The model provider should describe a family of\n            GenAI models with specific model identified by ai_model_id. For example,\n            model_provider could be \"openai\" and ai_model_id could be \"gpt-3.5-turbo\".\n            Sometimes the model provider is unknown at runtime, in which case it can be\n            set to the most specific known provider. For example, while using local models\n            hosted by Ollama, the model provider could be set to \"ollama\".\n    ' — no routing/fallback",
      "remediation": "Use model routing or configuration instead of hardcoded names",
      "compliance": {}
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_text_embedding.py",
      "line": 23,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api..._key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\lm_studio_chat_completion.py",
      "line": 32,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\filtering\\retry_with_different_model.py",
      "line": 71,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api..._key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_http_mcp_plugin.py",
      "line": 93,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\local_models\\ollama_chat_completion.py",
      "line": 36,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\chat_completion\\README.md",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\nvidia\\README.md",
      "line": 20,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\nvidia\\README.md",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\open_ai_text_to_image_base.py",
      "line": 103,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 4,
      "scanner": "secrets_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\open_ai_text_to_image_base.py",
      "line": 180,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "Exposed Generic Secret: api...-key",
      "remediation": "Move to secrets manager or .env file (excluded from VCS)",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM09"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\call_automation\\call_automation.py",
      "line": 148,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\call_automation\\call_automation.py",
      "line": 262,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\call_automation\\call_automation.py",
      "line": 150,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\copilot_studio_agent\\src\\chat.py",
      "line": 42,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\guided_conversation\\plugins\\agenda.py",
      "line": 119,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_server\\mcp_server_with_sampling.py",
      "line": 82,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\server\\mcp_simple_auth\\token_verifier.py",
      "line": 61,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\kernel.py",
      "line": 204,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 289,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 225,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 425,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 260,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 591,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 418,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 441,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 611,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent.py",
      "line": 406,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\channels\\bedrock_agent_channel.py",
      "line": 208,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\chat_completion\\chat_completion_agent.py",
      "line": 448,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\chat_completion\\chat_completion_agent.py",
      "line": 544,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\chat_completion\\chat_completion_agent.py",
      "line": 174,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\group_chat\\agent_chat.py",
      "line": 117,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\assistant_thread_actions.py",
      "line": 276,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\assistant_thread_actions.py",
      "line": 253,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\assistant_thread_actions.py",
      "line": 334,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\assistant_thread_actions.py",
      "line": 328,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\assistant_thread_actions.py",
      "line": 347,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_assistant_agent.py",
      "line": 289,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_responses_agent.py",
      "line": 360,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\concurrent.py",
      "line": 125,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\group_chat.py",
      "line": 108,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\group_chat.py",
      "line": 119,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\group_chat.py",
      "line": 127,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\group_chat.py",
      "line": 131,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\group_chat.py",
      "line": 283,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\group_chat.py",
      "line": 315,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\handoffs.py",
      "line": 253,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\handoffs.py",
      "line": 265,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\handoffs.py",
      "line": 273,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\magentic.py",
      "line": 537,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\magentic.py",
      "line": 584,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\magentic.py",
      "line": 728,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\magentic.py",
      "line": 736,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\magentic.py",
      "line": 740,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\orchestration\\magentic.py",
      "line": 751,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\routed_agent.py",
      "line": 500,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\in_process_runtime.py",
      "line": 246,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\in_process_runtime.py",
      "line": 283,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\in_process_runtime.py",
      "line": 503,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\in_process_runtime.py",
      "line": 353,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\in_process\\in_process_runtime.py",
      "line": 442,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\strategies\\selection\\kernel_function_selection_strategy.py",
      "line": 100,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\strategies\\termination\\kernel_function_termination_strategy.py",
      "line": 91,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\brave.py",
      "line": 214,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\brave.py",
      "line": 222,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\google_search.py",
      "line": 259,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\nvidia\\services\\nvidia_handler.py",
      "line": 95,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\open_ai_handler.py",
      "line": 225,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\open_ai_handler.py",
      "line": 231,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\contents\\chat_history.py",
      "line": 346,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\contents\\history_reducer\\chat_history_truncation_reducer.py",
      "line": 76,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\core_plugins\\crew_ai\\crew_ai_enterprise.py",
      "line": 103,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\core_plugins\\crew_ai\\crew_ai_enterprise.py",
      "line": 120,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\event_buffer_actor.py",
      "line": 39,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\event_buffer_actor.py",
      "line": 62,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\external_event_buffer_actor.py",
      "line": 51,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\external_event_buffer_actor.py",
      "line": 74,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\process_actor.py",
      "line": 418,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\process_actor.py",
      "line": 448,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\process_actor.py",
      "line": 404,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\step_actor.py",
      "line": 286,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\step_actor.py",
      "line": 302,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\dapr_runtime\\actors\\step_actor.py",
      "line": 310,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\local_runtime\\local_step.py",
      "line": 99,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\processes\\local_runtime\\local_step.py",
      "line": 107,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\prompt_template\\kernel_prompt_template.py",
      "line": 68,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\prompt_template\\kernel_prompt_template.py",
      "line": 129,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\template_engine\\blocks\\code_block.py",
      "line": 111,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\template_engine\\blocks\\code_block.py",
      "line": 151,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\cross_language\\test_cross_language.py",
      "line": 56,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\cross_language\\test_cross_language.py",
      "line": 57,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\cross_language\\test_cross_language.py",
      "line": 58,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\cross_language\\test_cross_language.py",
      "line": 66,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\cross_language\\test_cross_language.py",
      "line": 67,
      "severity": "HIGH",
      "dimension": "D5",
      "message": "Potential PII/sensitive data logged via f-string",
      "remediation": "Redact sensitive fields before logging",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 7,
      "scanner": "audit_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "CRITICAL",
      "dimension": "D5",
      "message": "No audit logging for tool calls detected",
      "remediation": "Add audit logging for all tool/agent executions",
      "compliance": {
        "eu_ai_act": "Article 12"
      }
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\copilot_studio_agent\\src\\direct_line_agent.py",
      "line": 27,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'DirectLineAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\code_validation_agent.py",
      "line": 37,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'CodeValidationAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\code_validation_agent.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'CodeValidationAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\code_validation_agent.py",
      "line": 37,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'CodeValidationAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\content_creation_agent.py",
      "line": 34,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'ContentCreationAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\content_creation_agent.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'ContentCreationAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\content_creation_agent.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'ContentCreationAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\user_agent.py",
      "line": 35,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'UserAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\user_agent.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'UserAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\document_generator\\agents\\user_agent.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'UserAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\agent.py",
      "line": 246,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'Agent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\agent.py",
      "line": 246,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'Agent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\autogen\\autogen_conversable_agent.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'AutoGenConversableAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\autogen\\autogen_conversable_agent.py",
      "line": 105,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'AutoGenConversableAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent.py",
      "line": 351,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'AzureAIAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent.py",
      "line": 351,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'AzureAIAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent.py",
      "line": 351,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'AzureAIAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\bedrock\\bedrock_agent.py",
      "line": 113,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'BedrockAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\bedrock\\bedrock_agent_base.py",
      "line": 27,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'BedrockAgentBase' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\chat_completion\\chat_completion_agent.py",
      "line": 117,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'ChatCompletionAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\copilot_studio\\copilot_studio_agent.py",
      "line": 256,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'CopilotStudioAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\copilot_studio\\copilot_studio_agent.py",
      "line": 256,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'CopilotStudioAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_assistant_agent.py",
      "line": 42,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'AzureAssistantAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_assistant_agent.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'AzureAssistantAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_assistant_agent.py",
      "line": 42,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'AzureAssistantAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_responses_agent.py",
      "line": 46,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'AzureResponsesAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_responses_agent.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'AzureResponsesAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_responses_agent.py",
      "line": 46,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'AzureResponsesAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_assistant_agent.py",
      "line": 228,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'OpenAIAssistantAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_assistant_agent.py",
      "line": 228,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'OpenAIAssistantAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_assistant_agent.py",
      "line": 228,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'OpenAIAssistantAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_assistant_agent.py",
      "line": 508,
      "severity": "CRITICAL",
      "dimension": "D3",
      "message": "Agent has access to ALL tools — no scoping or allowlist",
      "remediation": "Scope tools to only what the agent needs for its task",
      "compliance": {
        "eu_ai_act": "Article 15"
      }
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_responses_agent.py",
      "line": 257,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'OpenAIResponsesAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\openai_responses_agent.py",
      "line": 257,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'OpenAIResponsesAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\agent.py",
      "line": 14,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'Agent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\agent.py",
      "line": 14,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'Agent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\base_agent.py",
      "line": 65,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'BaseAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\base_agent.py",
      "line": 65,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'BaseAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\routed_agent.py",
      "line": 447,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'RoutedAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\routed_agent.py",
      "line": 447,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'RoutedAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\runtime\\core\\routed_agent.py",
      "line": 447,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'RoutedAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\conftest.py",
      "line": 430,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'TestAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\conftest.py",
      "line": 430,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'TestAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\conftest.py",
      "line": 430,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'TestAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\test_agent.py",
      "line": 35,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'MockAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\test_agent.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'MockAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\test_agent.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'MockAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\test_agent.py",
      "line": 334,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'TestAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\test_agent.py",
      "line": 334,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'TestAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\test_agent.py",
      "line": 334,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'TestAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\bedrock_agent\\test_bedrock_agent_channel.py",
      "line": 29,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'ConcreteAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\bedrock_agent\\test_bedrock_agent_channel.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'ConcreteAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\bedrock_agent\\test_bedrock_agent_channel.py",
      "line": 29,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'ConcreteAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\conftest.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'MockAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\conftest.py",
      "line": 35,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'MockAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_handoff.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'MockAgentWithHandoffFunctionCall' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_handoff.py",
      "line": 34,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'MockAgentWithHandoffFunctionCall' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_handoff.py",
      "line": 121,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'MockAgentWithCompleteTaskFunctionCall' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_handoff.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'MockAgentWithCompleteTaskFunctionCall' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_handoff.py",
      "line": 121,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'MockAgentWithCompleteTaskFunctionCall' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_orchestration_base.py",
      "line": 26,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'MockAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_orchestration_base.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'MockAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\orchestration\\test_orchestration_base.py",
      "line": 26,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'MockAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 41,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'LoopbackAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'LoopbackAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 41,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'LoopbackAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 63,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'CascadingAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'CascadingAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 63,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'CascadingAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 77,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'NoopAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'NoopAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 77,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'NoopAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 114,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'FakeAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'FakeAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 114,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'FakeAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 363,
      "severity": "HIGH",
      "dimension": "D8",
      "message": "Agent class 'FailingAgent' has no permission model",
      "remediation": "Add role/permission checks before tool dispatch",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 363,
      "severity": "MEDIUM",
      "dimension": "D12",
      "message": "Agent class 'FailingAgent' has no cost tracking",
      "remediation": "Track token usage and costs per agent execution",
      "compliance": {}
    },
    {
      "layer": 5,
      "scanner": "agent_arch_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\runtime\\test_runtime.py",
      "line": 363,
      "severity": "MEDIUM",
      "dimension": "D8",
      "message": "Agent class 'FailingAgent' has no defined lifecycle states",
      "remediation": "Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle",
      "compliance": {}
    },
    {
      "layer": 6,
      "scanner": "dependency_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\pyproject.toml",
      "line": 64,
      "severity": "MEDIUM",
      "dimension": "D14",
      "message": "Unpinned AI dependency: anthropic",
      "remediation": "Pin version: anthropic==<specific_version>",
      "compliance": {}
    },
    {
      "layer": 6,
      "scanner": "dependency_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\pyproject.toml",
      "line": 67,
      "severity": "MEDIUM",
      "dimension": "D14",
      "message": "Unpinned AI dependency: autogen",
      "remediation": "Pin version: autogen==<specific_version>",
      "compliance": {}
    },
    {
      "layer": 6,
      "scanner": "dependency_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\mcp_with_oauth\\server\\pyproject.toml",
      "line": 7,
      "severity": "MEDIUM",
      "dimension": "D14",
      "message": "Unpinned AI dependency: anthropic",
      "remediation": "Pin version: anthropic==<specific_version>",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_code_executor.py",
      "line": 5,
      "severity": "CRITICAL",
      "dimension": "D6",
      "message": "AutoGen code execution without Docker sandboxing",
      "remediation": "Set code_execution_config={'use_docker': True} for safe code execution",
      "compliance": {
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_code_executor.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "AutoGen agent without is_termination_msg — no conversation exit condition",
      "remediation": "Define is_termination_msg function to control when agents stop",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_convo_with_tools.py",
      "line": 7,
      "severity": "CRITICAL",
      "dimension": "D6",
      "message": "AutoGen code execution without Docker sandboxing",
      "remediation": "Set code_execution_config={'use_docker': True} for safe code execution",
      "compliance": {
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_simple_convo.py",
      "line": 6,
      "severity": "CRITICAL",
      "dimension": "D6",
      "message": "AutoGen code execution without Docker sandboxing",
      "remediation": "Set code_execution_config={'use_docker': True} for safe code execution",
      "compliance": {
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\autogen_conversable_agent\\autogen_conversable_agent_simple_convo.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "AutoGen agent without is_termination_msg — no conversation exit condition",
      "remediation": "Define is_termination_msg function to control when agents stop",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\crew_ai\\crew_ai_plugin.py",
      "line": 12,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "CrewAI agent without guardrail — no output validation gate",
      "remediation": "Add guardrail= parameter to agent/task config for output validation",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\crew_ai\\crew_ai_plugin.py",
      "line": 12,
      "severity": "MEDIUM",
      "dimension": "D6",
      "message": "CrewAI agent without max_iter or timeout — unbounded execution",
      "remediation": "Set max_iter= and/or timeout= to prevent runaway agent loops",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\autogen\\autogen_conversable_agent.py",
      "line": 14,
      "severity": "CRITICAL",
      "dimension": "D6",
      "message": "AutoGen code execution without Docker sandboxing",
      "remediation": "Set code_execution_config={'use_docker': True} for safe code execution",
      "compliance": {
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\autogen\\autogen_conversable_agent.py",
      "line": 14,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "AutoGen agent without is_termination_msg — no conversation exit condition",
      "remediation": "Define is_termination_msg function to control when agents stop",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\core_plugins\\crew_ai\\crew_ai_enterprise.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "CrewAI agent without guardrail — no output validation gate",
      "remediation": "Add guardrail= parameter to agent/task config for output validation",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\core_plugins\\crew_ai\\__init__.py",
      "line": 3,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "CrewAI agent without guardrail — no output validation gate",
      "remediation": "Add guardrail= parameter to agent/task config for output validation",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\core_plugins\\crew_ai\\__init__.py",
      "line": 3,
      "severity": "MEDIUM",
      "dimension": "D6",
      "message": "CrewAI agent without max_iter or timeout — unbounded execution",
      "remediation": "Set max_iter= and/or timeout= to prevent runaway agent loops",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\autogen_conversable_agent\\test_autogen_conversable_agent.py",
      "line": 6,
      "severity": "CRITICAL",
      "dimension": "D6",
      "message": "AutoGen code execution without Docker sandboxing",
      "remediation": "Set code_execution_config={'use_docker': True} for safe code execution",
      "compliance": {
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\autogen_conversable_agent\\test_autogen_conversable_agent.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "AutoGen agent without is_termination_msg — no conversation exit condition",
      "remediation": "Define is_termination_msg function to control when agents stop",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\core_plugins\\test_crew_ai_enterprise.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D7",
      "message": "CrewAI agent without guardrail — no output validation gate",
      "remediation": "Add guardrail= parameter to agent/task config for output validation",
      "compliance": {}
    },
    {
      "layer": 10,
      "scanner": "framework_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\core_plugins\\test_crew_ai_enterprise.py",
      "line": 7,
      "severity": "MEDIUM",
      "dimension": "D6",
      "message": "CrewAI agent without max_iter or timeout — unbounded execution",
      "remediation": "Set max_iter= and/or timeout= to prevent runaway agent loops",
      "compliance": {}
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\service_settings.py",
      "line": 18,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_azure_ai_search.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_bing_grounding_streaming_with_message_callback.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_code_interpreter_streaming_with_message_callback.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_code_interpreter.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_declarative_file_search.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_deep_research_streaming.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_file_manipulation.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_mcp_streaming.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_structured_outputs.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\azure_ai_agent\\azure_ai_agent_truncation_strategy.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_agents_plugins.py",
      "line": 12,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_files.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_images.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_reset.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\mixed_chat\\mixed_chat_streaming.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_code_interpreter.py",
      "line": 27,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_file_search.py",
      "line": 26,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_templating.py",
      "line": 21,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\azure_openai_assistant_declarative_with_existing_agent_id.py",
      "line": 16,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_auto_func_invocation_filter_streaming.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_chart_maker_streaming.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_file_manipulation_streaming.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_message_callback_streaming.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_retrieval.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_streaming.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_structured_outputs.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_templating_streaming.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_assistant\\openai_assistant_vision_streaming.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_file_search.py",
      "line": 23,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\azure_openai_responses_agent_declarative_templating.py",
      "line": 21,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_message_callback.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_plugins_streaming.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reasoning_streaming.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\agents\\openai_responses\\responses_agent_reuse_existing_thread_id.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\mcp\\agent_with_http_mcp_plugin.py",
      "line": 92,
      "severity": "MEDIUM",
      "dimension": "D1",
      "message": "Cloud AI endpoint URL hardcoded in source — hinders environment portability",
      "remediation": "Move AI service endpoints to environment variables or configuration files",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\on_your_data\\azure_chat_gpt_with_data_api_function_calling.py",
      "line": 25,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\plugins\\openai_function_calling_with_custom_plugin.py",
      "line": 49,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\concepts\\prompt_templates\\configuring_prompts.py",
      "line": 13,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\demos\\guided_conversations\\guided_conversation\\plugins\\guided_conversation_agent.py",
      "line": 69,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started\\services.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step04_azure_ai_agent_code_interpreter.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step05_azure_ai_agent_file_search.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step06_azure_ai_agent_openapi.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step09_azure_ai_agent_mcp.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\azure_ai_agent\\step10_azure_ai_agent_deep_research.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\multi_agent_orchestration\\step4c_handoff_mix_agent_types.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step1_assistant.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step2_assistant_plugins.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step4_assistant_tool_code_interpreter.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_assistant\\step5_assistant_tool_file_search.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step1_responses_agent.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step2_responses_agent_thread_management.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step3_responses_agent_plugins.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\getting_started_with_agents\\openai_responses\\step5_responses_agent_file_search.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\evaluate_with_prompt_flow.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_code.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\samples\\learn_resources\\agent_docs\\assistant_search.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_content_generation.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\agent_thread_actions.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_agent_utils.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\azure_ai\\azure_ai_channel.py",
      "line": 18,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_assistant_agent.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\agents\\open_ai\\azure_responses_agent.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\azure_ai_inference\\services\\azure_ai_inference_base.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\azure_ai_inference\\services\\azure_ai_inference_chat_completion.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\azure_ai_inference\\services\\azure_ai_inference_text_embedding.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\azure_ai_inference\\services\\azure_ai_inference_tracing.py",
      "line": 3,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\azure_ai_inference\\services\\utils.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\vertex_ai\\services\\vertex_ai_chat_completion.py",
      "line": 7,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "GCP Vertex AI without explicit service_account or credentials — relying on ambient auth",
      "remediation": "Pass service_account or credentials parameter for explicit IAM scoping",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\vertex_ai\\services\\vertex_ai_chat_completion.py",
      "line": 133,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "GCP GenerativeModel without safety_settings — no harm category filtering",
      "remediation": "Add safety_settings with HarmCategory and HarmBlockThreshold to GenerativeModel",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\vertex_ai\\services\\vertex_ai_text_completion.py",
      "line": 8,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "GCP Vertex AI without explicit service_account or credentials — relying on ambient auth",
      "remediation": "Pass service_account or credentials parameter for explicit IAM scoping",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\vertex_ai\\services\\vertex_ai_text_completion.py",
      "line": 105,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "GCP GenerativeModel without safety_settings — no harm category filtering",
      "remediation": "Add safety_settings with HarmCategory and HarmBlockThreshold to GenerativeModel",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\google\\vertex_ai\\services\\vertex_ai_text_embedding.py",
      "line": 6,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "GCP Vertex AI without explicit service_account or credentials — relying on ambient auth",
      "remediation": "Pass service_account or credentials parameter for explicit IAM scoping",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\__init__.py",
      "line": 55,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_audio_to_text.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_chat_completion.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_config_base.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_realtime.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_text_completion.py",
      "line": 9,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_text_embedding.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_text_to_audio.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\services\\azure_text_to_image.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\semantic_kernel\\connectors\\ai\\open_ai\\settings\\azure_open_ai_settings.py",
      "line": 15,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\conftest.py",
      "line": 216,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\agents\\azureai_agent\\test_azureai_agent_integration.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\agents\\openai_assistant_agent\\test_openai_assistant_agent_integration.py",
      "line": 10,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\agents\\openai_responses_agent\\test_openai_responses_agent_integration.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\completions\\chat_completion_test_base.py",
      "line": 14,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\integration\\embeddings\\test_embedding_service_base.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\azure_ai_agent\\conftest.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\azure_ai_agent\\test_agent_content_generation.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\azure_ai_agent\\test_agent_thread_actions.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\azure_ai_agent\\test_azure_ai_agent.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\azure_ai_agent\\test_azure_ai_agent_utils.py",
      "line": 3,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\azure_ai_agent\\test_azure_ai_channel.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\agents\\openai_assistant\\test_azure_assistant_agent.py",
      "line": 147,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\azure_ai_inference\\conftest.py",
      "line": 8,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\azure_ai_inference\\services\\test_azure_ai_inference_chat_completion.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\azure_ai_inference\\services\\test_azure_ai_inference_text_embedding.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\azure_ai_inference\\services\\test_azure_ai_inference_tracing.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\azure_ai_inference\\services\\test_azure_ai_inference_utils.py",
      "line": 5,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\bedrock\\services\\test_bedrock_text_completion.py",
      "line": 161,
      "severity": "HIGH",
      "dimension": "D11",
      "message": "AWS Bedrock invoke_model without guardrailIdentifier — no guardrail enforcement",
      "remediation": "Add guardrailIdentifier and guardrailVersion parameters to invoke_model calls",
      "compliance": {
        "eu_ai_act": "Article 9",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\bedrock\\services\\test_bedrock_text_completion.py",
      "line": 161,
      "severity": "MEDIUM",
      "dimension": "D10",
      "message": "AWS Bedrock invoke_model without contentPolicy — no content filtering configured",
      "remediation": "Configure contentPolicy with filterStrength for input/output content moderation",
      "compliance": {
        "eu_ai_act": "Article 15"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\bedrock\\services\\test_bedrock_text_embedding_generation.py",
      "line": 145,
      "severity": "HIGH",
      "dimension": "D11",
      "message": "AWS Bedrock invoke_model without guardrailIdentifier — no guardrail enforcement",
      "remediation": "Add guardrailIdentifier and guardrailVersion parameters to invoke_model calls",
      "compliance": {
        "eu_ai_act": "Article 9",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\bedrock\\services\\test_bedrock_text_embedding_generation.py",
      "line": 145,
      "severity": "MEDIUM",
      "dimension": "D10",
      "message": "AWS Bedrock invoke_model without contentPolicy — no content filtering configured",
      "remediation": "Configure contentPolicy with filterStrength for input/output content moderation",
      "compliance": {
        "eu_ai_act": "Article 15"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\google\\vertex_ai\\services\\test_vertex_ai_chat_completion.py",
      "line": 7,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "GCP Vertex AI without explicit service_account or credentials — relying on ambient auth",
      "remediation": "Pass service_account or credentials parameter for explicit IAM scoping",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\google\\vertex_ai\\services\\test_vertex_ai_text_completion.py",
      "line": 7,
      "severity": "MEDIUM",
      "dimension": "D4",
      "message": "GCP Vertex AI without explicit service_account or credentials — relying on ambient auth",
      "remediation": "Pass service_account or credentials parameter for explicit IAM scoping",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_azure_audio_to_text.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_azure_chat_completion.py",
      "line": 11,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_azure_text_completion.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_azure_text_embedding.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_azure_text_to_audio.py",
      "line": 7,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_azure_text_to_image.py",
      "line": 6,
      "severity": "HIGH",
      "dimension": "D10",
      "message": "Azure AI used without ContentSafetyClient — no content moderation",
      "remediation": "Add Azure ContentSafetyClient to analyse prompts/responses for harmful content",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM02"
      }
    },
    {
      "layer": 12,
      "scanner": "cloud_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python\\tests\\unit\\connectors\\ai\\open_ai\\services\\test_openai_realtime.py",
      "line": 901,
      "severity": "MEDIUM",
      "dimension": "D1",
      "message": "Cloud AI endpoint URL hardcoded in source — hinders environment portability",
      "remediation": "Move AI service endpoints to environment variables or configuration files",
      "compliance": {
        "owasp_llm": "LLM06"
      }
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "CRITICAL",
      "dimension": "D17",
      "message": "No content injection defense — hidden HTML/CSS/zero-width instructions pass to agents undetected. (86% attack success rate)",
      "remediation": "Deploy trap defense layer on tool results",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "CRITICAL",
      "dimension": "D17",
      "message": "No RAG poisoning protection — knowledge base documents not scanned for embedded instructions. (<0.1% contamination = >80% attack success)",
      "remediation": "Deploy trap defense layer on tool results",
      "compliance": {
        "eu_ai_act": "Article 15",
        "owasp_llm": "LLM01",
        "mitre_atlas": "AML.T0049"
      }
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "HIGH",
      "dimension": "D17",
      "message": "No behavioral trap detection — post-execution behavioral changes not monitored. (10/10 M365 Copilot attacks succeeded)",
      "remediation": "Deploy trap defense layer on tool results",
      "compliance": {
        "eu_ai_act": "Article 14",
        "owasp_llm": "LLM07",
        "mitre_atlas": "AML.T0051"
      }
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "HIGH",
      "dimension": "D17",
      "message": "No approval integrity verification -- agent summaries for approval not cross-checked against actual actions. (Approval fatigue exploitation)",
      "remediation": "Deploy trap defense layer on tool results",
      "compliance": {
        "eu_ai_act": "Article 14",
        "owasp_llm": "LLM07",
        "mitre_atlas": "AML.T0048"
      }
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "MEDIUM",
      "dimension": "D17",
      "message": "No adversarial testing evidence — no red team, no prompt injection tests",
      "remediation": "Implement adversarial testing for agent systems",
      "compliance": {}
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "MEDIUM",
      "dimension": "D17",
      "message": "No tool-call attack simulation — agent tool calls not tested against adversarial inputs",
      "remediation": "Implement adversarial testing for agent systems",
      "compliance": {}
    },
    {
      "layer": 8,
      "scanner": "trap_defense_scanner",
      "file": "C:\\Users\\gilad\\Projects\\warden\\gallery\\repos\\semantic-kernel\\python",
      "line": 0,
      "severity": "MEDIUM",
      "dimension": "D17",
      "message": "No multi-agent chaos engineering — agent swarms not stress tested",
      "remediation": "Implement adversarial testing for agent systems",
      "compliance": {}
    }
  ],
  "competitors_detected": [],
  "gtm_signal": "",
  "trap_defense": {
    "content_injection": false,
    "rag_poisoning": false,
    "behavioral_traps": false,
    "approval_integrity": false,
    "adversarial_testing": false,
    "tool_attack_simulation": false,
    "chaos_engineering": false,
    "before_after_comparison": true,
    "deepmind_citation": "Franklin, Tomašev, Jacobs, Leibo, Osindero. \"AI Agent Traps.\" Google DeepMind, March 2026."
  }
}