Scan path: C:\Users\gilad\Projects\warden\gallery\repos\semantic-kernel\python
Scanned: 2026-04-10 23:09 UTC
Warden: v1.6.0 · Scoring model v4.3 · 17 dimensions (weighted) · 235 pts
🔒 Privacy guarantee
All data collected locally — nothing left this machine.
API keys: partial hashes only.
Log content: never stored.
📊 Scanned 1,240 files (1,240 Python) in python across 8 scan layers
14
/ 100
32 / 235 raw
UNGOVERNED
Core Governance (12 / 100)
D1 Tool Inventory
2 / 25
MEDIUM Cloud AI endpoint URL hardcoded in source — hinders environment portability
MEDIUM Cloud AI endpoint URL hardcoded in source — hinders environment portability
D2 Risk Detection
0 / 20
CRITICAL Tool function without input validation
CRITICAL Tool function without input validation
CRITICAL Agent loop with LLM call has no exit condition — potential infinite loop
CRITICAL Agent loop with LLM call has no exit condition — potential infinite loop
CRITICAL Agent loop with LLM call has no exit condition — potential infinite loop
+ 1 more findings
D3 Policy Coverage
3 / 20
CRITICAL Agent has access to ALL tools — no scoping or allowlist
D4 Credential Management
5 / 20
MEDIUM Exposed Generic Secret: api..._key
MEDIUM Exposed Generic Secret: api...-key
MEDIUM Exposed Generic Secret: api..._key
MEDIUM Exposed Generic Secret: api...-key
MEDIUM Exposed Generic Secret: api...-key
+ 10 more findings
D5 Log Hygiene
1 / 10
MEDIUM print() used instead of structured logging
MEDIUM print() used instead of structured logging
MEDIUM print() used instead of structured logging
MEDIUM print() used instead of structured logging
MEDIUM print() used instead of structured logging
+ 1406 more findings
D6 Framework Coverage
1 / 5
CRITICAL AutoGen code execution without Docker sandboxing
CRITICAL AutoGen code execution without Docker sandboxing
CRITICAL AutoGen code execution without Docker sandboxing
MEDIUM CrewAI agent without max_iter or timeout — unbounded execution
CRITICAL AutoGen code execution without Docker sandboxing
+ 3 more findings
Advanced Controls (8 / 50)
D7 Human-in-the-Loop
6 / 15
HIGH AutoGen agent without is_termination_msg — no conversation exit condition
HIGH AutoGen agent without is_termination_msg — no conversation exit condition
HIGH CrewAI agent without guardrail — no output validation gate
HIGH AutoGen agent without is_termination_msg — no conversation exit condition
HIGH CrewAI agent without guardrail — no output validation gate
+ 3 more findings
D8 Agent Identity
1 / 15
HIGH Agent class 'CodeValidationAgent' has no permission model
MEDIUM Agent class 'CodeValidationAgent' has no defined lifecycle states
HIGH Agent class 'ContentCreationAgent' has no permission model
MEDIUM Agent class 'ContentCreationAgent' has no defined lifecycle states
HIGH Agent class 'UserAgent' has no permission model
+ 42 more findings
D9 Threat Detection
1 / 20
HIGH Empty exception handler — errors silently swallowed
HIGH Empty exception handler — errors silently swallowed
HIGH Empty exception handler — errors silently swallowed
HIGH Empty exception handler — errors silently swallowed
HIGH Empty exception handler — errors silently swallowed
+ 2 more findings
Ecosystem (10 / 55)
D10 Prompt Security
2 / 15
HIGH Azure AI used without ContentSafetyClient — no content moderation
HIGH Azure AI used without ContentSafetyClient — no content moderation
HIGH Azure AI used without ContentSafetyClient — no content moderation
HIGH Azure AI used without ContentSafetyClient — no content moderation
HIGH Azure AI used without ContentSafetyClient — no content moderation
+ 108 more findings
D11 Cloud / Platform
2 / 10
HIGH AWS Bedrock invoke_model without guardrailIdentifier — no guardrail enforcement
HIGH AWS Bedrock invoke_model without guardrailIdentifier — no guardrail enforcement
D12 LLM Observability
0 / 10
MEDIUM Hardcoded model name: 'gpt-4o' — no routing/fallback
MEDIUM Hardcoded model name: 'gpt-4o' — no routing/fallback
MEDIUM Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
MEDIUM Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
MEDIUM Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
+ 62 more findings
D13 Data Recovery
2 / 10
D14 Compliance Maturity
4 / 10
MEDIUM Unpinned AI dependency: anthropic
MEDIUM Unpinned AI dependency: autogen
MEDIUM Unpinned AI dependency: anthropic
Unique Capabilities (2 / 30)
D15 Post-Exec Verification
1 / 10
HIGH Tool result assigned directly without verification
HIGH Tool result assigned directly without verification
HIGH Tool result assigned directly without verification
HIGH Tool result assigned directly without verification
HIGH Tool result assigned directly without verification
+ 6 more findings
D16 Data Flow Governance
0 / 10
D17 Adversarial Resilience
1 / 10
CRITICAL No content injection defense — hidden HTML/CSS/zero-width instructions pass to agents undetected. (86% attack success ra
CRITICAL No RAG poisoning protection — knowledge base documents not scanned for embedded instructions. (<0.1% contamination = >80
HIGH No behavioral trap detection — post-execution behavioral changes not monitored. (10/10 M365 Copilot attacks succeeded)
HIGH No approval integrity verification -- agent summaries for approval not cross-checked against actual actions. (Approval f
MEDIUM No adversarial testing evidence — no red team, no prompt injection tests
+ 2 more findings
Score reflects only what Warden can observe locally. Undetected controls are scored as 0, not assumed good. Dimensions are weighted by governance impact. Methodology: SCORING.md
Total Findings
1,708
15 CRITICAL · 246 HIGH
Tools Detected
0
None detected
Credentials
10
In source code
Governance Gaps
3
of 17 dimensions
Compliance Refs
12
EU AI Act / OWASP / MITRE
🛡 Governance Layer Detection0 tools detected · 17 dimensions
D2: Risk Detection — none detected
Risk classification, semantic analysis, intent-parameter consistency
0 / 20 pts
D12: LLM Observability — none detected
Cost tracking, latency monitoring, model analytics
0 / 10 pts
D16: Data Flow Governance — none detected
Taint labels, data classification, cross-tool leakage prevention
0 / 10 pts
📊 Solutions Comparison2 rows · 17 dimensions · 235 max pts
Tool D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D16D17 /235 /100
Max pts252020201051515201510101010101010235
SharkRouter231818189514141814999999921491
Your Scan203511611220241013214
SharkRouter per-dimension scores are proportional estimates from total score. Detected tool scores are totals only (per-dimension breakdown not available). Methodology: SCORING.md
🔎 Findings1708 total
CRITICAL 15
CRITICAL D2
Tool function without input validation
...mcp_with_oauth\server\mcp_simple_auth\legacy_as_server.py:90
Add input validation (pydantic, jsonschema, or manual checks)
OWASP LLM01
CRITICAL D2
Tool function without input validation
...les\demos\mcp_with_oauth\server\mcp_simple_auth\server.py:87
Add input validation (pydantic, jsonschema, or manual checks)
OWASP LLM01
CRITICAL D2
Agent loop with LLM call has no exit condition — potential infinite loop
...python\semantic_kernel\agents\runtime\in_process\queue.py:128
Add max_iterations, timeout, or explicit break condition
Show 12 more CRITICAL findings
CRITICAL D2
Agent loop with LLM call has no exit condition — potential infinite loop
...python\semantic_kernel\agents\runtime\in_process\queue.py:175
Add max_iterations, timeout, or explicit break condition
CRITICAL D2
Agent loop with LLM call has no exit condition — potential infinite loop
...onnectors\ai\onnx\services\onnx_gen_ai_completion_base.py:87
Add max_iterations, timeout, or explicit break condition
CRITICAL D2
Agent loop with LLM call has no exit condition — potential infinite loop
...\semantic_kernel\processes\local_runtime\local_process.py:239
Add max_iterations, timeout, or explicit break condition
CRITICAL D5
No audit logging for tool calls detected
Add audit logging for all tool/agent executions
EU AI Act Article 12
CRITICAL D3
Agent has access to ALL tools — no scoping or allowlist
...\semantic_kernel\agents\open_ai\openai_assistant_agent.py:508
Scope tools to only what the agent needs for its task
EU AI Act Article 15
CRITICAL D6
AutoGen code execution without Docker sandboxing
...versable_agent\autogen_conversable_agent_code_executor.py:5
Set code_execution_config={'use_docker': True} for safe code execution
OWASP LLM01MITRE AML.T0051
CRITICAL D6
AutoGen code execution without Docker sandboxing
...sable_agent\autogen_conversable_agent_convo_with_tools.py:7
Set code_execution_config={'use_docker': True} for safe code execution
OWASP LLM01MITRE AML.T0051
CRITICAL D6
AutoGen code execution without Docker sandboxing
...nversable_agent\autogen_conversable_agent_simple_convo.py:6
Set code_execution_config={'use_docker': True} for safe code execution
OWASP LLM01MITRE AML.T0051
CRITICAL D6
AutoGen code execution without Docker sandboxing
...mantic_kernel\agents\autogen\autogen_conversable_agent.py:14
Set code_execution_config={'use_docker': True} for safe code execution
OWASP LLM01MITRE AML.T0051
CRITICAL D6
AutoGen code execution without Docker sandboxing
...togen_conversable_agent\test_autogen_conversable_agent.py:6
Set code_execution_config={'use_docker': True} for safe code execution
OWASP LLM01MITRE AML.T0051
CRITICAL D17
No content injection defense — hidden HTML/CSS/zero-width instructions pass to agents undetected. (86% attack success rate)
Deploy trap defense layer on tool results
EU AI Act Article 15OWASP LLM01MITRE AML.T0051
CRITICAL D17
No RAG poisoning protection — knowledge base documents not scanned for embedded instructions. (<0.1% contamination = >80% attack success)
Deploy trap defense layer on tool results
EU AI Act Article 15OWASP LLM01MITRE AML.T0049
HIGH 246
HIGH D15
Tool result assigned directly without verification
...auto_function_calling\functions_defined_in_json_prompt.py:149
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...auto_function_calling\functions_defined_in_yaml_prompt.py:146
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...o_function_calling\function_calling_with_required_type.py:128
Verify tool result status/validity before using
Show 243 more HIGH findings
HIGH D15
Tool result assigned directly without verification
...\concepts\filtering\function_invocation_filters_stream.py:73
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...pts\plugins\openai_function_calling_with_custom_plugin.py:84
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:74
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:73
Verify tool result status/validity before using
HIGH D9
Empty exception handler — errors silently swallowed
...semantic-kernel\python\samples\concepts\realtime\utils.py:242
Log the exception or handle it explicitly
HIGH D15
Tool result assigned directly without verification
...es\concepts\structured_outputs\json_structured_outputs.py:102
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...tured_outputs\json_structured_outputs_function_calling.py:123
Verify tool result status/validity before using
HIGH D15
Tool result assigned directly without verification
...mantic-kernel\python\samples\learn_resources\templates.py:139
Verify tool result status/validity before using
HIGH D9
Empty exception handler — errors silently swallowed
...c_kernel\agents\open_ai\responses_agent_thread_actions.py:943
Log the exception or handle it explicitly
HIGH D9
Empty exception handler — errors silently swallowed
...c_kernel\agents\open_ai\responses_agent_thread_actions.py:954
Log the exception or handle it explicitly
HIGH D15
Tool result assigned directly without verification
...c_kernel\agents\open_ai\responses_agent_thread_actions.py:275
Verify tool result status/validity before using
HIGH D9
Empty exception handler — errors silently swallowed
...python\semantic_kernel\agents\runtime\in_process\queue.py:140
Log the exception or handle it explicitly
HIGH D9
Empty exception handler — errors silently swallowed
...python\semantic_kernel\agents\runtime\in_process\queue.py:187
Log the exception or handle it explicitly
HIGH D9
Empty exception handler — errors silently swallowed
...pos\semantic-kernel\python\semantic_kernel\data\vector.py:1599
Log the exception or handle it explicitly
HIGH D9
Empty exception handler — errors silently swallowed
...-kernel\python\semantic_kernel\processes\process_types.py:31
Log the exception or handle it explicitly
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\samples\demos\call_automation\call_automation.py:148
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\samples\demos\call_automation\call_automation.py:262
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\samples\demos\call_automation\call_automation.py:150
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...nel\python\samples\demos\copilot_studio_agent\src\chat.py:42
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...uided_conversations\guided_conversation\plugins\agenda.py:119
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...thon\samples\demos\mcp_server\mcp_server_with_sampling.py:82
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...s\mcp_with_oauth\server\mcp_simple_auth\token_verifier.py:61
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ry\repos\semantic-kernel\python\semantic_kernel\kernel.py:204
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:289
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:225
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:425
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:260
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:591
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:418
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:441
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:611
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...\python\semantic_kernel\agents\azure_ai\azure_ai_agent.py:406
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...\semantic_kernel\agents\channels\bedrock_agent_channel.py:208
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\chat_completion\chat_completion_agent.py:448
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\chat_completion\chat_completion_agent.py:544
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\chat_completion\chat_completion_agent.py:174
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...el\python\semantic_kernel\agents\group_chat\agent_chat.py:117
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\agents\open_ai\assistant_thread_actions.py:276
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\agents\open_ai\assistant_thread_actions.py:253
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\agents\open_ai\assistant_thread_actions.py:334
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\agents\open_ai\assistant_thread_actions.py:328
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\agents\open_ai\assistant_thread_actions.py:347
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...\semantic_kernel\agents\open_ai\openai_assistant_agent.py:289
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...\semantic_kernel\agents\open_ai\openai_responses_agent.py:360
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\concurrent.py:125
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\group_chat.py:108
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\group_chat.py:119
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\group_chat.py:127
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\group_chat.py:131
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\group_chat.py:283
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...python\semantic_kernel\agents\orchestration\group_chat.py:315
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\handoffs.py:253
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\handoffs.py:265
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\handoffs.py:273
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\magentic.py:537
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\magentic.py:584
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\magentic.py:728
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\magentic.py:736
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\magentic.py:740
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...l\python\semantic_kernel\agents\orchestration\magentic.py:751
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ython\semantic_kernel\agents\runtime\core\routed_agent.py:500
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\runtime\in_process\in_process_runtime.py:246
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\runtime\in_process\in_process_runtime.py:283
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\runtime\in_process\in_process_runtime.py:503
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\runtime\in_process\in_process_runtime.py:353
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\agents\runtime\in_process\in_process_runtime.py:442
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...trategies\selection\kernel_function_selection_strategy.py:100
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...egies\termination\kernel_function_termination_strategy.py:91
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic-kernel\python\semantic_kernel\connectors\brave.py:214
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic-kernel\python\semantic_kernel\connectors\brave.py:222
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...kernel\python\semantic_kernel\connectors\google_search.py:259
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic_kernel\connectors\ai\nvidia\services\nvidia_handler.py:95
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
..._kernel\connectors\ai\open_ai\services\open_ai_handler.py:225
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
..._kernel\connectors\ai\open_ai\services\open_ai_handler.py:231
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ic-kernel\python\semantic_kernel\contents\chat_history.py:346
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ntents\history_reducer\chat_history_truncation_reducer.py:76
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\core_plugins\crew_ai\crew_ai_enterprise.py:103
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...emantic_kernel\core_plugins\crew_ai\crew_ai_enterprise.py:120
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ernel\processes\dapr_runtime\actors\event_buffer_actor.py:39
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...ernel\processes\dapr_runtime\actors\event_buffer_actor.py:62
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...cesses\dapr_runtime\actors\external_event_buffer_actor.py:51
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...cesses\dapr_runtime\actors\external_event_buffer_actor.py:74
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...tic_kernel\processes\dapr_runtime\actors\process_actor.py:418
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...tic_kernel\processes\dapr_runtime\actors\process_actor.py:448
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...tic_kernel\processes\dapr_runtime\actors\process_actor.py:404
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...mantic_kernel\processes\dapr_runtime\actors\step_actor.py:286
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...mantic_kernel\processes\dapr_runtime\actors\step_actor.py:302
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...mantic_kernel\processes\dapr_runtime\actors\step_actor.py:310
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...hon\semantic_kernel\processes\local_runtime\local_step.py:99
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...hon\semantic_kernel\processes\local_runtime\local_step.py:107
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...semantic_kernel\prompt_template\kernel_prompt_template.py:68
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...semantic_kernel\prompt_template\kernel_prompt_template.py:129
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...thon\semantic_kernel\template_engine\blocks\code_block.py:111
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...thon\semantic_kernel\template_engine\blocks\code_block.py:151
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\tests\integration\cross_language\test_cross_language.py:56
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\tests\integration\cross_language\test_cross_language.py:57
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\tests\integration\cross_language\test_cross_language.py:58
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\tests\integration\cross_language\test_cross_language.py:66
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D5
Potential PII/sensitive data logged via f-string
...n\tests\integration\cross_language\test_cross_language.py:67
Redact sensitive fields before logging
EU AI Act Article 15OWASP LLM06
HIGH D8
Agent class 'CodeValidationAgent' has no permission model
...\demos\document_generator\agents\code_validation_agent.py:37
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'ContentCreationAgent' has no permission model
...demos\document_generator\agents\content_creation_agent.py:34
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'UserAgent' has no permission model
...hon\samples\demos\document_generator\agents\user_agent.py:35
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'AzureAIAgent' has no permission model
...\python\semantic_kernel\agents\azure_ai\azure_ai_agent.py:351
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'AzureAssistantAgent' has no permission model
...n\semantic_kernel\agents\open_ai\azure_assistant_agent.py:42
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'AzureResponsesAgent' has no permission model
...n\semantic_kernel\agents\open_ai\azure_responses_agent.py:46
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'OpenAIAssistantAgent' has no permission model
...\semantic_kernel\agents\open_ai\openai_assistant_agent.py:228
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'Agent' has no permission model
...ernel\python\semantic_kernel\agents\runtime\core\agent.py:14
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'BaseAgent' has no permission model
...\python\semantic_kernel\agents\runtime\core\base_agent.py:65
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'RoutedAgent' has no permission model
...ython\semantic_kernel\agents\runtime\core\routed_agent.py:447
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'TestAgent' has no permission model
...en\gallery\repos\semantic-kernel\python\tests\conftest.py:430
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'MockAgent' has no permission model
...os\semantic-kernel\python\tests\unit\agents\test_agent.py:35
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'TestAgent' has no permission model
...os\semantic-kernel\python\tests\unit\agents\test_agent.py:334
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'ConcreteAgent' has no permission model
...s\unit\agents\bedrock_agent\test_bedrock_agent_channel.py:29
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'MockAgentWithCompleteTaskFunctionCall' has no permission model
...el\python\tests\unit\agents\orchestration\test_handoff.py:121
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'MockAgent' has no permission model
...ests\unit\agents\orchestration\test_orchestration_base.py:26
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'LoopbackAgent' has no permission model
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:41
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'CascadingAgent' has no permission model
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:63
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'NoopAgent' has no permission model
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:77
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'FakeAgent' has no permission model
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:114
Add role/permission checks before tool dispatch
HIGH D8
Agent class 'FailingAgent' has no permission model
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:363
Add role/permission checks before tool dispatch
HIGH D7
AutoGen agent without is_termination_msg — no conversation exit condition
...versable_agent\autogen_conversable_agent_code_executor.py:5
Define is_termination_msg function to control when agents stop
HIGH D7
AutoGen agent without is_termination_msg — no conversation exit condition
...nversable_agent\autogen_conversable_agent_simple_convo.py:6
Define is_termination_msg function to control when agents stop
HIGH D7
CrewAI agent without guardrail — no output validation gate
...python\samples\concepts\plugins\crew_ai\crew_ai_plugin.py:12
Add guardrail= parameter to agent/task config for output validation
HIGH D7
AutoGen agent without is_termination_msg — no conversation exit condition
...mantic_kernel\agents\autogen\autogen_conversable_agent.py:14
Define is_termination_msg function to control when agents stop
HIGH D7
CrewAI agent without guardrail — no output validation gate
...emantic_kernel\core_plugins\crew_ai\crew_ai_enterprise.py:10
Add guardrail= parameter to agent/task config for output validation
HIGH D7
CrewAI agent without guardrail — no output validation gate
...l\python\semantic_kernel\core_plugins\crew_ai\__init__.py:3
Add guardrail= parameter to agent/task config for output validation
HIGH D7
AutoGen agent without is_termination_msg — no conversation exit condition
...togen_conversable_agent\test_autogen_conversable_agent.py:6
Define is_termination_msg function to control when agents stop
HIGH D7
CrewAI agent without guardrail — no output validation gate
...python\tests\unit\core_plugins\test_crew_ai_enterprise.py:7
Add guardrail= parameter to agent/task config for output validation
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\repos\semantic-kernel\python\samples\service_settings.py:18
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\agents\azure_ai_agent\azure_ai_agent_azure_ai_search.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...i_agent_bing_grounding_streaming_with_message_callback.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...agent_code_interpreter_streaming_with_message_callback.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\azure_ai_agent\azure_ai_agent_declarative_file_search.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...agents\azure_ai_agent\azure_ai_agent_file_manipulation.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...pts\agents\azure_ai_agent\azure_ai_agent_mcp_streaming.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...gents\azure_ai_agent\azure_ai_agent_structured_outputs.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ents\azure_ai_agent\azure_ai_agent_truncation_strategy.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\concepts\agents\mixed_chat\mixed_chat_agents_plugins.py:12
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...on\samples\concepts\agents\mixed_chat\mixed_chat_files.py:10
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\samples\concepts\agents\mixed_chat\mixed_chat_images.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...on\samples\concepts\agents\mixed_chat\mixed_chat_reset.py:10
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...amples\concepts\agents\mixed_chat\mixed_chat_streaming.py:10
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nt\azure_openai_assistant_declarative_code_interpreter.py:27
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...sistant\azure_openai_assistant_declarative_file_search.py:26
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ssistant\azure_openai_assistant_declarative_templating.py:21
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...re_openai_assistant_declarative_with_existing_agent_id.py:16
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...assistant\openai_assistant_auto_func_invocation_filter.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...openai_assistant_auto_func_invocation_filter_streaming.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\agents\openai_assistant\openai_assistant_chart_maker.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...penai_assistant\openai_assistant_chart_maker_streaming.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ts\openai_assistant\openai_assistant_file_manipulation.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...assistant\openai_assistant_file_manipulation_streaming.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nts\openai_assistant\openai_assistant_message_callback.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
..._assistant\openai_assistant_message_callback_streaming.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...pts\agents\openai_assistant\openai_assistant_retrieval.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...pts\agents\openai_assistant\openai_assistant_streaming.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\openai_assistant\openai_assistant_structured_outputs.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...openai_assistant\openai_assistant_templating_streaming.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nts\openai_assistant\openai_assistant_vision_streaming.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\azure_openai_responses_agent_declarative_file_search.py:23
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...es\azure_openai_responses_agent_declarative_templating.py:21
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ents\openai_responses\responses_agent_message_callback.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nts\openai_responses\responses_agent_plugins_streaming.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...epts\agents\openai_responses\responses_agent_reasoning.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\openai_responses\responses_agent_reasoning_streaming.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nai_responses\responses_agent_reuse_existing_thread_id.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...our_data\azure_chat_gpt_with_data_api_function_calling.py:25
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...pts\plugins\openai_function_calling_with_custom_plugin.py:49
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\samples\concepts\prompt_templates\configuring_prompts.py:13
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\guided_conversation\plugins\guided_conversation_agent.py:69
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...emantic-kernel\python\samples\getting_started\services.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\azure_ai_agent\step04_azure_ai_agent_code_interpreter.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...gents\azure_ai_agent\step05_azure_ai_agent_file_search.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...th_agents\azure_ai_agent\step06_azure_ai_agent_openapi.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...d_with_agents\azure_ai_agent\step09_azure_ai_agent_mcp.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...g_started_with_agents\openai_assistant\step1_assistant.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...d_with_agents\openai_assistant\step2_assistant_plugins.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...openai_assistant\step4_assistant_tool_code_interpreter.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ents\openai_assistant\step5_assistant_tool_file_search.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ted_with_agents\openai_responses\step1_responses_agent.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...enai_responses\step2_responses_agent_thread_management.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
..._agents\openai_responses\step3_responses_agent_plugins.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nts\openai_responses\step5_responses_agent_file_search.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...thon\samples\learn_resources\evaluate_with_prompt_flow.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...thon\samples\learn_resources\agent_docs\assistant_code.py:10
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...on\samples\learn_resources\agent_docs\assistant_search.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...mantic_kernel\agents\azure_ai\agent_content_generation.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\semantic_kernel\agents\azure_ai\agent_thread_actions.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\python\semantic_kernel\agents\azure_ai\azure_ai_agent.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\semantic_kernel\agents\azure_ai\azure_ai_agent_utils.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ython\semantic_kernel\agents\azure_ai\azure_ai_channel.py:18
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\semantic_kernel\agents\open_ai\azure_assistant_agent.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\semantic_kernel\agents\open_ai\azure_responses_agent.py:10
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ai\azure_ai_inference\services\azure_ai_inference_base.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
..._inference\services\azure_ai_inference_chat_completion.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...i_inference\services\azure_ai_inference_text_embedding.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...azure_ai_inference\services\azure_ai_inference_tracing.py:3
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...kernel\connectors\ai\azure_ai_inference\services\utils.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
GCP GenerativeModel without safety_settings — no harm category filtering
...ai\google\vertex_ai\services\vertex_ai_chat_completion.py:133
Add safety_settings with HarmCategory and HarmBlockThreshold to GenerativeModel
EU AI Act Article 15OWASP LLM02
HIGH D10
GCP GenerativeModel without safety_settings — no harm category filtering
...ai\google\vertex_ai\services\vertex_ai_text_completion.py:105
Add safety_settings with HarmCategory and HarmBlockThreshold to GenerativeModel
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\python\semantic_kernel\connectors\ai\open_ai\__init__.py:55
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nel\connectors\ai\open_ai\services\azure_audio_to_text.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...l\connectors\ai\open_ai\services\azure_chat_completion.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ernel\connectors\ai\open_ai\services\azure_config_base.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...c_kernel\connectors\ai\open_ai\services\azure_realtime.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...l\connectors\ai\open_ai\services\azure_text_completion.py:9
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...el\connectors\ai\open_ai\services\azure_text_embedding.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nel\connectors\ai\open_ai\services\azure_text_to_audio.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nel\connectors\ai\open_ai\services\azure_text_to_image.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...\connectors\ai\open_ai\settings\azure_open_ai_settings.py:15
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...en\gallery\repos\semantic-kernel\python\tests\conftest.py:216
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...on\agents\azureai_agent\test_azureai_agent_integration.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ssistant_agent\test_openai_assistant_agent_integration.py:10
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...esponses_agent\test_openai_responses_agent_integration.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ests\integration\completions\chat_completion_test_base.py:14
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...sts\integration\embeddings\test_embedding_service_base.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...ernel\python\tests\unit\agents\azure_ai_agent\conftest.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...it\agents\azure_ai_agent\test_agent_content_generation.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\unit\agents\azure_ai_agent\test_agent_thread_actions.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\tests\unit\agents\azure_ai_agent\test_azure_ai_agent.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...s\unit\agents\azure_ai_agent\test_azure_ai_agent_utils.py:3
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...tests\unit\agents\azure_ai_agent\test_azure_ai_channel.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nit\agents\openai_assistant\test_azure_assistant_agent.py:147
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...n\tests\unit\connectors\ai\azure_ai_inference\conftest.py:8
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...rence\services\test_azure_ai_inference_chat_completion.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...erence\services\test_azure_ai_inference_text_embedding.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
..._ai_inference\services\test_azure_ai_inference_tracing.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...re_ai_inference\services\test_azure_ai_inference_utils.py:5
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D11
AWS Bedrock invoke_model without guardrailIdentifier — no guardrail enforcement
...ctors\ai\bedrock\services\test_bedrock_text_completion.py:161
Add guardrailIdentifier and guardrailVersion parameters to invoke_model calls
EU AI Act Article 9OWASP LLM02
HIGH D11
AWS Bedrock invoke_model without guardrailIdentifier — no guardrail enforcement
...edrock\services\test_bedrock_text_embedding_generation.py:145
Add guardrailIdentifier and guardrailVersion parameters to invoke_model calls
EU AI Act Article 9OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...onnectors\ai\open_ai\services\test_azure_audio_to_text.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nectors\ai\open_ai\services\test_azure_chat_completion.py:11
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nectors\ai\open_ai\services\test_azure_text_completion.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...nnectors\ai\open_ai\services\test_azure_text_embedding.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...onnectors\ai\open_ai\services\test_azure_text_to_audio.py:7
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D10
Azure AI used without ContentSafetyClient — no content moderation
...onnectors\ai\open_ai\services\test_azure_text_to_image.py:6
Add Azure ContentSafetyClient to analyse prompts/responses for harmful content
EU AI Act Article 15OWASP LLM02
HIGH D17
No behavioral trap detection — post-execution behavioral changes not monitored. (10/10 M365 Copilot attacks succeeded)
Deploy trap defense layer on tool results
EU AI Act Article 14OWASP LLM07MITRE AML.T0051
HIGH D17
No approval integrity verification -- agent summaries for approval not cross-checked against actual actions. (Approval fatigue exploitation)
Deploy trap defense layer on tool results
EU AI Act Article 14OWASP LLM07MITRE AML.T0048
MEDIUM 1447
MEDIUM D5
print() used instead of structured logging
...semantic-kernel\python\samples\sk_service_configurator.py:41
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...versable_agent\autogen_conversable_agent_code_executor.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...sable_agent\autogen_conversable_agent_convo_with_tools.py:91
Use logging.* or structlog.* for structured, searchable logs
Show 1444 more MEDIUM findings
MEDIUM D5
print() used instead of structured logging
...sable_agent\autogen_conversable_agent_convo_with_tools.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...sable_agent\autogen_conversable_agent_convo_with_tools.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nversable_agent\autogen_conversable_agent_simple_convo.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_as_kernel_function.py:32
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_as_kernel_function.py:34
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_as_kernel_function.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_as_kernel_function.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_as_kernel_function.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_as_kernel_function.py:125
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:125
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:139
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:148
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_auto_func_invocation_filter.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:125
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:135
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:149
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t\azure_ai_agent_auto_func_invocation_filter_streaming.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\agents\azure_ai_agent\azure_ai_agent_azure_ai_search.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\agents\azure_ai_agent\azure_ai_agent_azure_ai_search.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\agents\azure_ai_agent\azure_ai_agent_bing_grounding.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:36
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:38
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:40
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_bing_grounding_streaming_with_message_callback.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent_code_interpreter_streaming_with_message_callback.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_declarative_azure_ai_search.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_declarative_azure_ai_search.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_declarative_azure_ai_search.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_ai_agent\azure_ai_agent_declarative_azure_ai_search.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_declarative_bing_grounding.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_declarative_bing_grounding.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...e_ai_agent\azure_ai_agent_declarative_code_interpreter.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_declarative_file_search.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_declarative_file_search.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent_declarative_function_calling_from_file.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent_declarative_function_calling_from_file.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\azure_ai_agent\azure_ai_agent_declarative_openapi.py:174
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\azure_ai_agent\azure_ai_agent_declarative_openapi.py:180
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\azure_ai_agent\azure_ai_agent_declarative_templating.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gent\azure_ai_agent_declarative_with_existing_agent_id.py:41
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gent\azure_ai_agent_declarative_with_existing_agent_id.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:61
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:39
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:42
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\azure_ai_agent_deep_research_streaming.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_file_manipulation.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_file_manipulation.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_file_manipulation.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_file_manipulation.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\azure_ai_agent\azure_ai_agent_mcp_streaming.py:22
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\azure_ai_agent\azure_ai_agent_mcp_streaming.py:24
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\azure_ai_agent\azure_ai_agent_mcp_streaming.py:26
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\azure_ai_agent\azure_ai_agent_mcp_streaming.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\azure_ai_agent\azure_ai_agent_mcp_streaming.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\azure_ai_agent\azure_ai_agent_message_callback.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\azure_ai_agent\azure_ai_agent_message_callback.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\azure_ai_agent\azure_ai_agent_message_callback.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\azure_ai_agent\azure_ai_agent_message_callback.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\azure_ai_agent\azure_ai_agent_message_callback.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:104
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ure_ai_agent\azure_ai_agent_message_callback_streaming.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_prompt_templating.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_prompt_templating.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_prompt_templating.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_prompt_templating.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_prompt_templating.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\azure_ai_agent_prompt_templating.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._ai_agent\azure_ai_agent_retrieve_messages_from_thread.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._ai_agent\azure_ai_agent_retrieve_messages_from_thread.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._ai_agent\azure_ai_agent_retrieve_messages_from_thread.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._ai_agent\azure_ai_agent_retrieve_messages_from_thread.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._ai_agent\azure_ai_agent_retrieve_messages_from_thread.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._ai_agent\azure_ai_agent_retrieve_messages_from_thread.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\azure_ai_agent\azure_ai_agent_streaming.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\azure_ai_agent\azure_ai_agent_streaming.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\azure_ai_agent\azure_ai_agent_streaming.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\azure_ai_agent\azure_ai_agent_streaming.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\azure_ai_agent\azure_ai_agent_streaming.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_structured_outputs.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\azure_ai_agent_structured_outputs.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\azure_ai_agent\azure_ai_agent_truncation_strategy.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\azure_ai_agent\azure_ai_agent_truncation_strategy.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\agents\bedrock_agent\bedrock_agent_retrieval.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\agents\bedrock_agent\bedrock_agent_retrieval.py:42
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\agents\bedrock_agent\bedrock_agent_retrieval.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\agents\bedrock_agent\bedrock_agent_retrieval.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_agent_simple_chat.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_agent_simple_chat.py:39
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_agent_simple_chat.py:42
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_agent_simple_chat.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_simple_chat_streaming.py:26
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_simple_chat_streaming.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_simple_chat_streaming.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_simple_chat_streaming.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_simple_chat_streaming.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_simple_chat_streaming.py:40
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_with_code_interpreter.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_agent_with_code_interpreter.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ck_agent\bedrock_agent_with_code_interpreter_streaming.py:43
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ck_agent\bedrock_agent_with_code_interpreter_streaming.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ck_agent\bedrock_agent_with_code_interpreter_streaming.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ck_agent\bedrock_agent_with_code_interpreter_streaming.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\bedrock_agent\bedrock_agent_with_kernel_function.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...edrock_agent\bedrock_agent_with_kernel_function_simple.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ock_agent\bedrock_agent_with_kernel_function_streaming.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ock_agent\bedrock_agent_with_kernel_function_streaming.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_mixed_chat_agents.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_mixed_chat_agents.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\agents\bedrock_agent\bedrock_mixed_chat_agents.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_mixed_chat_agents_streaming.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_mixed_chat_agents_streaming.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_mixed_chat_agents_streaming.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_mixed_chat_agents_streaming.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\bedrock_agent\bedrock_mixed_chat_agents_streaming.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion_agent\chat_completion_agent_as_kernel_function.py:27
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion_agent\chat_completion_agent_as_kernel_function.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion_agent\chat_completion_agent_as_kernel_function.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion_agent\chat_completion_agent_as_kernel_function.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion_agent\chat_completion_agent_as_kernel_function.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion_agent\chat_completion_agent_as_kernel_function.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...etion_agent\chat_completion_agent_function_termination.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...etion_agent\chat_completion_agent_function_termination.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...etion_agent\chat_completion_agent_function_termination.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...etion_agent\chat_completion_agent_function_termination.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...etion_agent\chat_completion_agent_function_termination.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ompletion_agent\chat_completion_agent_message_callback.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ompletion_agent\chat_completion_agent_message_callback.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ompletion_agent\chat_completion_agent_message_callback.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ompletion_agent\chat_completion_agent_message_callback.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ompletion_agent\chat_completion_agent_message_callback.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent\chat_completion_agent_message_callback_streaming.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent\chat_completion_agent_message_callback_streaming.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent\chat_completion_agent_message_callback_streaming.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent\chat_completion_agent_message_callback_streaming.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent\chat_completion_agent_message_callback_streaming.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agent\chat_completion_agent_message_callback_streaming.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion_agent\chat_completion_agent_prompt_templating.py:36
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion_agent\chat_completion_agent_prompt_templating.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion_agent\chat_completion_agent_prompt_templating.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion_agent\chat_completion_agent_prompt_templating.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion_agent\chat_completion_agent_prompt_templating.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion_agent\chat_completion_agent_prompt_templating.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tion_agent\chat_completion_agent_streaming_token_usage.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tion_agent\chat_completion_agent_streaming_token_usage.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tion_agent\chat_completion_agent_streaming_token_usage.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tion_agent\chat_completion_agent_streaming_token_usage.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tion_agent\chat_completion_agent_streaming_token_usage.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion_agent_summary_history_reducer_agent_chat.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion_agent_summary_history_reducer_agent_chat.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion_agent_summary_history_reducer_agent_chat.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion_agent_summary_history_reducer_agent_chat.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion_agent_summary_history_reducer_agent_chat.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion_agent_summary_history_reducer_single_agent.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion_agent_summary_history_reducer_single_agent.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion_agent_summary_history_reducer_single_agent.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion_agent_summary_history_reducer_single_agent.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion_agent_summary_history_reducer_single_agent.py:67
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hat_completion_agent\chat_completion_agent_token_usage.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hat_completion_agent\chat_completion_agent_token_usage.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hat_completion_agent\chat_completion_agent_token_usage.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hat_completion_agent\chat_completion_agent_token_usage.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t_completion_agent_truncate_history_reducer_agent_chat.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t_completion_agent_truncate_history_reducer_agent_chat.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t_completion_agent_truncate_history_reducer_agent_chat.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...t_completion_agent_truncate_history_reducer_agent_chat.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion_agent_truncate_history_reducer_single_agent.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion_agent_truncate_history_reducer_single_agent.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion_agent_truncate_history_reducer_single_agent.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion_agent_truncate_history_reducer_single_agent.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_agents.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_agents.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_agents.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\agents\mixed_chat\mixed_chat_agents_plugins.py:122
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\agents\mixed_chat\mixed_chat_agents_plugins.py:125
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\agents\mixed_chat\mixed_chat_agents_plugins.py:127
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_files.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_files.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_files.py:108
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_files.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_images.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_images.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_images.py:108
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\agents\mixed_chat\mixed_chat_images.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_reset.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_reset.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_reset.py:104
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\agents\mixed_chat\mixed_chat_reset.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\agents\mixed_chat\mixed_chat_streaming.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\agents\mixed_chat\mixed_chat_streaming.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\agents\mixed_chat\mixed_chat_streaming.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\agents\mixed_chat\mixed_chat_streaming.py:105
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\agents\mixed_chat\mixed_chat_streaming.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\azure_openai_assistant_declarative_code_interpreter.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...sistant\azure_openai_assistant_declarative_file_search.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...sistant\azure_openai_assistant_declarative_file_search.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant_declarative_function_calling_from_file.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant_declarative_function_calling_from_file.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\azure_openai_assistant_declarative_templating.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_openai_assistant_declarative_with_existing_agent_id.py:38
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...re_openai_assistant_declarative_with_existing_agent_id.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:123
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:129
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_auto_func_invocation_filter.py:148
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:123
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:135
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:147
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:151
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant_auto_func_invocation_filter_streaming.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\agents\openai_assistant\openai_assistant_chart_maker.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant\openai_assistant_chart_maker_streaming.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ssistant\openai_assistant_declarative_code_interpreter.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_assistant\openai_assistant_declarative_file_search.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_assistant\openai_assistant_declarative_file_search.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant_declarative_function_calling_from_file.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...penai_assistant_declarative_function_calling_from_file.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...enai_assistant\openai_assistant_declarative_templating.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\openai_assistant_declarative_with_existing_agent_id.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nt\openai_assistant_declarative_with_existing_agent_id.py:43
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\openai_assistant\openai_assistant_file_manipulation.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\openai_assistant\openai_assistant_file_manipulation.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\openai_assistant\openai_assistant_file_manipulation.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\openai_assistant\openai_assistant_file_manipulation.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\openai_assistant\openai_assistant_file_manipulation.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...assistant\openai_assistant_file_manipulation_streaming.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_message_callback.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_message_callback.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_message_callback.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_message_callback.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_message_callback.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._assistant\openai_assistant_message_callback_streaming.py:104
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\openai_assistant\openai_assistant_retrieval.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\openai_assistant\openai_assistant_retrieval.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\openai_assistant\openai_assistant_sample_utils.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\agents\openai_assistant\openai_assistant_sample_utils.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\openai_assistant\openai_assistant_streaming.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\openai_assistant\openai_assistant_streaming.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\openai_assistant\openai_assistant_streaming.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\agents\openai_assistant\openai_assistant_streaming.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_assistant\openai_assistant_structured_outputs.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_assistant\openai_assistant_structured_outputs.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\openai_assistant_templating_streaming.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\openai_assistant_templating_streaming.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\openai_assistant_templating_streaming.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\openai_assistant_templating_streaming.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\openai_assistant_templating_streaming.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\openai_assistant_templating_streaming.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_vision_streaming.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_vision_streaming.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_vision_streaming.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_assistant\openai_assistant_vision_streaming.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\azure_openai_responses_agent_declarative_file_search.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\azure_openai_responses_agent_declarative_file_search.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...responses_agent_declarative_function_calling_from_file.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...responses_agent_declarative_function_calling_from_file.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\azure_openai_responses_agent_declarative_templating.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\azure_openai_responses_agent_declarative_templating.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...sponses\openai_responses_agent_declarative_file_search.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...sponses\openai_responses_agent_declarative_file_search.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...responses_agent_declarative_function_calling_from_file.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...responses_agent_declarative_function_calling_from_file.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...esponses\openai_responses_agent_declarative_templating.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...esponses\openai_responses_agent_declarative_templating.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...esponses\openai_responses_agent_declarative_web_search.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...esponses\openai_responses_agent_declarative_web_search.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...openai_responses\responses_agent_binary_content_upload.py:114
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:145
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:152
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:157
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:164
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:166
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:167
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:174
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:175
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:176
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:177
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:178
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:179
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:180
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:181
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:182
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:183
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_binary_content_upload.py:184
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_file_search_streaming.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_file_search_streaming.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_file_search_streaming.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_responses\responses_agent_file_search_streaming.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\responses_agent_message_callback.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\responses_agent_message_callback.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\responses_agent_message_callback.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\responses_agent_message_callback.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\responses_agent_message_callback.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_responses\responses_agent_message_callback_streaming.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\responses_agent_plugins_streaming.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\responses_agent_plugins_streaming.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\responses_agent_plugins_streaming.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\responses_agent_plugins_streaming.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:123
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:125
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:126
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:138
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:139
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:145
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...epts\agents\openai_responses\responses_agent_reasoning.py:147
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:104
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:122
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:128
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:141
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:145
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:156
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:158
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:159
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\openai_responses\responses_agent_reasoning_streaming.py:161
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_responses\responses_agent_reuse_existing_thread_id.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_responses\responses_agent_reuse_existing_thread_id.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_responses\responses_agent_reuse_existing_thread_id.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_responses\responses_agent_reuse_existing_thread_id.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\openai_responses\responses_agent_web_search_streaming.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\openai_responses\responses_agent_web_search_streaming.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\openai_responses\responses_agent_web_search_streaming.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\openai_responses\responses_agent_web_search_streaming.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\audio\01-chat_with_audio_input.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\audio\02-chat_with_audio_output.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\audio\02-chat_with_audio_output.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\audio\02-chat_with_audio_output.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\audio\02-chat_with_audio_output.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:67
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\audio\03-chat_with_audio_input_output.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\audio\audio_player.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\audio\audio_player.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\audio\audio_player.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...calling\azure_python_code_interpreter_function_calling.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...calling\azure_python_code_interpreter_function_calling.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...calling\azure_python_code_interpreter_function_calling.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...calling\azure_python_code_interpreter_function_calling.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...calling\azure_python_code_interpreter_function_calling.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ion_calling\chat_completion_with_auto_function_calling.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ion_calling\chat_completion_with_auto_function_calling.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ion_calling\chat_completion_with_auto_function_calling.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ion_calling\chat_completion_with_auto_function_calling.py:114
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g\chat_completion_with_auto_function_calling_streaming.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g\chat_completion_with_auto_function_calling_streaming.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g\chat_completion_with_auto_function_calling_streaming.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g\chat_completion_with_auto_function_calling_streaming.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g\chat_completion_with_auto_function_calling_streaming.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g\chat_completion_with_auto_function_calling_streaming.py:121
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_calling\chat_completion_with_manual_function_calling.py:107
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_calling\chat_completion_with_manual_function_calling.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_calling\chat_completion_with_manual_function_calling.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_calling\chat_completion_with_manual_function_calling.py:124
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_calling\chat_completion_with_manual_function_calling.py:145
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_calling\chat_completion_with_manual_function_calling.py:156
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:113
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:124
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:148
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:166
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:168
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chat_completion_with_manual_function_calling_streaming.py:171
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:141
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:167
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:172
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:173
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:176
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:186
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:189
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:193
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:212
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_json_prompt.py:221
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:138
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:152
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:164
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:169
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:170
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:173
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:183
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:186
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:190
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:209
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...auto_function_calling\functions_defined_in_yaml_prompt.py:218
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:149
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:154
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:158
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:168
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:171
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:175
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:193
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...o_function_calling\function_calling_with_required_type.py:202
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:382
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:383
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:387
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:388
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:400
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\auto_function_calling\nexus_raven.py:401
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ncepts\auto_function_calling\parallel_function_calling.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ncepts\auto_function_calling\parallel_function_calling.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ncepts\auto_function_calling\parallel_function_calling.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ncepts\auto_function_calling\parallel_function_calling.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\caching\semantic_caching.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\caching\semantic_caching.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\caching\semantic_caching.py:105
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\caching\semantic_caching.py:107
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\caching\semantic_caching.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\caching\semantic_caching.py:111
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\chat_completion\simple_chatbot.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\chat_completion\simple_chatbot.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\chat_completion\simple_chatbot.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\chat_completion\simple_chatbot.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\chat_completion\simple_chatbot_kernel_function.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\chat_completion\simple_chatbot_kernel_function.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\chat_completion\simple_chatbot_kernel_function.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\chat_completion\simple_chatbot_kernel_function.py:104
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_logit_bias.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_logit_bias.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_logit_bias.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_logit_bias.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\chat_completion\simple_chatbot_store_metadata.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\chat_completion\simple_chatbot_store_metadata.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\chat_completion\simple_chatbot_store_metadata.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\chat_completion\simple_chatbot_store_metadata.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\chat_completion\simple_chatbot_streaming.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\chat_completion\simple_chatbot_streaming.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\chat_completion\simple_chatbot_streaming.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\chat_completion\simple_chatbot_streaming.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\chat_completion\simple_chatbot_streaming.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\chat_completion\simple_chatbot_streaming.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_with_image.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_with_image.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_with_image.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\chat_completion\simple_chatbot_with_image.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:121
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:125
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:129
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:139
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:147
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:148
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...completion\simple_chatbot_with_summary_history_reducer.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:126
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:141
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:148
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:151
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:152
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...simple_chatbot_with_summary_history_reducer_autoreduce.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:135
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:139
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:143
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:190
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:191
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:192
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...chatbot_with_summary_history_reducer_keep_func_content.py:194
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion\simple_chatbot_with_truncation_history_reducer.py:112
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion\simple_chatbot_with_truncation_history_reducer.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion\simple_chatbot_with_truncation_history_reducer.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion\simple_chatbot_with_truncation_history_reducer.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ple_chatbot_with_truncation_history_reducer_autoreduce.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ple_chatbot_with_truncation_history_reducer_autoreduce.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ple_chatbot_with_truncation_history_reducer_autoreduce.py:124
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ple_chatbot_with_truncation_history_reducer_autoreduce.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ple_chatbot_with_truncation_history_reducer_autoreduce.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\chat_history\serialize_chat_history.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:159
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:177
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\chat_history\store_chat_history_in_cosmosdb.py:186
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\embedding\text_embedding_generation.py:42
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\embedding\text_embedding_generation.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:127
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:147
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:158
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\filtering\auto_function_invoke_filters.py:166
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\filtering\function_invocation_filters.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\filtering\function_invocation_filters_stream.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\filtering\function_invocation_filters_stream.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\filtering\function_invocation_filters_stream.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\filtering\function_invocation_filters_stream.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\filtering\function_invocation_filters_stream.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\concepts\filtering\function_invocation_filters_stream.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\filtering\prompt_filters.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\filtering\prompt_filters.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\filtering\prompt_filters.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\filtering\prompt_filters.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\filtering\retry_with_different_model.py:42
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\filtering\retry_with_different_model.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\concepts\filtering\retry_with_filters.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\concepts\filtering\retry_with_filters.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\functions\agent_framework_tools.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\functions\agent_framework_tools.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\functions\agent_framework_tools.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\functions\agent_framework_tools.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\functions\kernel_arguments.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...ntic-kernel\python\samples\concepts\grounding\grounded.py:70
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:132
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:135
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:136
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:153
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:154
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:158
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:159
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:160
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:164
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:165
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:166
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:170
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:171
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\grounding\grounded.py:172
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...kernel\python\samples\concepts\images\image_generation.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\local_models\foundry_local_chatbot.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\local_models\foundry_local_chatbot.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\local_models\foundry_local_chatbot.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\local_models\foundry_local_chatbot.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\local_models\lm_studio_chat_completion.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\local_models\lm_studio_chat_completion.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\local_models\lm_studio_chat_completion.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...amples\concepts\local_models\lm_studio_chat_completion.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\local_models\lm_studio_text_embedding.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\local_models\lm_studio_text_embedding.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\local_models\ollama_chat_completion.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\local_models\ollama_chat_completion.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\local_models\ollama_chat_completion.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\local_models\ollama_chat_completion.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:38
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:41
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_chat_completion.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\concepts\local_models\onnx_phi3_vision_completion.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\local_models\onnx_text_completion.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...c-kernel\python\samples\concepts\logging\setup_logging.py:20
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\logging\setup_logging.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\mcp\agent_with_http_mcp_plugin.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\mcp\agent_with_http_mcp_plugin.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\mcp\agent_with_mcp_agent.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\concepts\mcp\agent_with_mcp_plugin.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\concepts\mcp\agent_with_mcp_plugin.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...el\python\samples\concepts\mcp\agent_with_mcp_sampling.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...el\python\samples\concepts\mcp\agent_with_mcp_sampling.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\mcp\azure_ai_agent_with_local_server.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\mcp\azure_ai_agent_with_local_server.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\mcp\azure_ai_agent_with_local_server.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\mcp\azure_ai_agent_with_local_server.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\mcp\azure_ai_agent_with_mcp_plugin.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\mcp\azure_ai_agent_with_mcp_plugin.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\mcp\azure_ai_agent_with_mcp_plugin.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\mcp\azure_ai_agent_with_mcp_plugin.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\mcp\local_agent_with_local_server.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\mcp\local_agent_with_local_server.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\mcp\local_agent_with_local_server.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\mcp\local_agent_with_local_server.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\mcp\local_agent_with_local_server.py:105
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...antic-kernel\python\samples\concepts\mcp\mcp_as_plugin.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...antic-kernel\python\samples\concepts\mcp\mcp_as_plugin.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...antic-kernel\python\samples\concepts\mcp\mcp_as_plugin.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...antic-kernel\python\samples\concepts\mcp\mcp_as_plugin.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:145
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:182
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:188
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:195
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:199
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:211
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:218
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:221
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:229
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:236
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\memory\complex_memory.py:239
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:111
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:112
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:113
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:114
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:127
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\concepts\memory\data_models.py:129
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\concepts\memory\memory_with_pandas.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\concepts\memory\memory_with_pandas.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\concepts\memory\memory_with_pandas.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\concepts\memory\memory_with_pandas.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\concepts\memory\simple_memory.py:122
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:38
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:42
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:43
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ai_search_hotel_samples\1_interact_with_the_collection.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:172
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:176
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:192
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:195
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:199
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:203
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:209
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:211
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...memory\azure_ai_search_hotel_samples\2_use_as_a_plugin.py:215
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:157
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:175
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:180
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:183
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\model_as_a_service\mmlu_model_eval.py:185
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\on_your_data\azure_chat_gpt_with_data_api.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...our_data\azure_chat_gpt_with_data_api_function_calling.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...our_data\azure_chat_gpt_with_data_api_function_calling.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...our_data\azure_chat_gpt_with_data_api_function_calling.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...our_data\azure_chat_gpt_with_data_api_function_calling.py:107
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...our_data\azure_chat_gpt_with_data_api_function_calling.py:114
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_your_data\azure_chat_gpt_with_data_api_vector_search.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_your_data\azure_chat_gpt_with_data_api_vector_search.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_your_data\azure_chat_gpt_with_data_api_vector_search.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_your_data\azure_chat_gpt_with_data_api_vector_search.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_your_data\azure_chat_gpt_with_data_api_vector_search.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n_your_data\azure_chat_gpt_with_data_api_vector_search.py:105
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\concepts\plugins\azure_python_code_interpreter.py:27
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...pts\plugins\openai_function_calling_with_custom_plugin.py:54
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pts\plugins\openai_function_calling_with_custom_plugin.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo-instruct' — no routing/fallback
...ernel\python\samples\concepts\plugins\plugins_from_dir.py:14
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\plugins\plugins_from_dir.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\plugins\crew_ai\crew_ai_plugin.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\plugins\crew_ai\crew_ai_plugin.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\plugins\crew_ai\crew_ai_plugin.py:36
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\plugins\crew_ai\crew_ai_plugin.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\plugins\openapi\openapi_client.py:32
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\concepts\processes\cycles_with_fan_in.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\concepts\processes\cycles_with_fan_in.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\concepts\processes\cycles_with_fan_in.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\processes\nested_process.py:41
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\concepts\processes\nested_process.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:111
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:147
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:260
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:303
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:307
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:354
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:376
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:377
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\processes\plan_and_execute.py:379
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:67
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...oncepts\prompt_templates\azure_chat_gpt_api_handlebars.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\prompt_templates\azure_chat_gpt_api_jinja2.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...\samples\concepts\prompt_templates\configuring_prompts.py:14
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\prompt_templates\configuring_prompts.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\prompt_templates\configuring_prompts.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\prompt_templates\configuring_prompts.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\prompt_templates\configuring_prompts.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\prompt_templates\configuring_prompts.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\prompt_templates\handlebars_prompts.py:21
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\prompt_templates\handlebars_prompts.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\prompt_templates\handlebars_prompts.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...hon\samples\concepts\prompt_templates\load_yaml_prompt.py:15
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...hon\samples\concepts\prompt_templates\load_yaml_prompt.py:27
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\prompt_templates\template_language.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\prompt_templates\template_language.py:34
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\prompt_templates\template_language.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\prompt_templates\template_language.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\rag\rag_with_vector_collection.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\rag\rag_with_vector_collection.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\rag\rag_with_vector_collection.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\rag\rag_with_vector_collection.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...python\samples\concepts\rag\rag_with_vector_collection.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:107
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:108
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:120
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:121
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:128
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:141
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:143
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...c-kernel\python\samples\concepts\rag\self_critique_rag.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\realtime\realtime_agent_with_function_calling_webrtc.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\realtime\realtime_agent_with_function_calling_webrtc.py:136
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\realtime\realtime_agent_with_function_calling_webrtc.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ealtime\realtime_agent_with_function_calling_websocket.py:127
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ealtime\realtime_agent_with_function_calling_websocket.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ealtime\realtime_agent_with_function_calling_websocket.py:135
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ealtime\realtime_agent_with_function_calling_websocket.py:140
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\realtime\simple_realtime_chat_webrtc.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\realtime\simple_realtime_chat_webrtc.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\realtime\simple_realtime_chat_webrtc.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\realtime\simple_realtime_chat_webrtc.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\samples\concepts\realtime\simple_realtime_chat_webrtc.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mples\concepts\realtime\simple_realtime_chat_websocket.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mples\concepts\realtime\simple_realtime_chat_websocket.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mples\concepts\realtime\simple_realtime_chat_websocket.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mples\concepts\realtime\simple_realtime_chat_websocket.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\reasoning\simple_reasoning.py:84
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\reasoning\simple_reasoning.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\reasoning\simple_reasoning.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\concepts\reasoning\simple_reasoning.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\reasoning\simple_reasoning_azure_ai_inference.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\reasoning\simple_reasoning_azure_ai_inference.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\reasoning\simple_reasoning_azure_ai_inference.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\reasoning\simple_reasoning_azure_ai_inference.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\reasoning\simple_reasoning_function_calling.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\reasoning\simple_reasoning_function_calling.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\reasoning\simple_reasoning_function_calling.py:107
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\reasoning\simple_reasoning_function_calling.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\reasoning\simple_reasoning_function_calling.py:114
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\concepts\reasoning\simple_reasoning_function_calling.py:126
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...emantic-kernel\python\samples\concepts\resources\utils.py:8
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\concepts\search\brave_text_search_as_plugin.py:123
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:111
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:114
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:124
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\search\google_text_search_as_plugin.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:41
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:52
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:53
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:53
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:62
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:63
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:62
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...ples\concepts\service_selector\custom_service_selector.py:63
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...ples\concepts\service_selector\custom_service_selector.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...-kernel\python\samples\concepts\setup\openai_env_setup.py:48
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\concepts\setup\openai_env_setup.py:24
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\concepts\setup\openai_env_setup.py:34
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\concepts\setup\openai_env_setup.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: ' The following sample demonstrates how to create a chat completion call that assists users in solving math problems. The bot guides the user step-by-step through the solution process using a structured output format based on either a Pydantic model or a non-Pydantic model. NOTE: If using Azure OpenAI the the following is required: - access to gpt-4o-2024-08-06 - the 2024-08-01-preview API version - if using a token instead of an API KEY, you must have the `Cognitive Services OpenAI Contributor` role assigned to your Azure AD user. - flip the `use_azure_openai` flag to `True` ' — no routing/fallback
...es\concepts\structured_outputs\json_structured_outputs.py:13
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...es\concepts\structured_outputs\json_structured_outputs.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\structured_outputs\json_structured_outputs.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...es\concepts\structured_outputs\json_structured_outputs.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: ' The following sample demonstrates how to create a chat completion call that assists users in solving a question using a Semantic Kernel Plugin and function calling problems. The chat plugin guides the user step-by-step through the solution process using a structured output format based on a Pydantic model. NOTE: If using Azure OpenAI the the following is required: - access to gpt-4o-2024-08-06 - the 2024-08-01-preview API version - if using a token instead of an API KEY, you must have the `Cognitive Services OpenAI Contributor` role assigned to your Azure AD user. - flip the `use_azure_openai` flag to `True` ' — no routing/fallback
...tured_outputs\json_structured_outputs_function_calling.py:14
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...tured_outputs\json_structured_outputs_function_calling.py:127
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tured_outputs\json_structured_outputs_function_calling.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tured_outputs\json_structured_outputs_function_calling.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tured_outputs\json_structured_outputs_function_calling.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tured_outputs\json_structured_outputs_function_calling.py:138
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tured_outputs\json_structured_outputs_function_calling.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\concepts\text_completion\text_completion.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\text_completion\text_completion_streaming.py:32
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\concepts\text_completion\text_completion_streaming.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\token_usage\simple_chat_token_usage.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\token_usage\simple_chat_token_usage.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\token_usage\simple_chat_token_usage.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...n\samples\concepts\token_usage\simple_chat_token_usage.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\token_usage\simple_chat_token_usage_streaming.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\token_usage\simple_chat_token_usage_streaming.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\token_usage\simple_chat_token_usage_streaming.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\token_usage\simple_chat_token_usage_streaming.py:73
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...concepts\token_usage\simple_chat_token_usage_streaming.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:138
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:142
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\samples\demos\assistants_group_chat\group_chat.py:152
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...on\samples\demos\booking_restaurant\restaurant_booking.py:24
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...on\samples\demos\booking_restaurant\restaurant_booking.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\demos\booking_restaurant\restaurant_booking.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\demos\booking_restaurant\restaurant_booking.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\demos\booking_restaurant\restaurant_booking.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\demos\booking_restaurant\restaurant_booking.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mos\booking_restaurant\bookings_plugin\bookings_plugin.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mos\booking_restaurant\bookings_plugin\bookings_plugin.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mos\booking_restaurant\bookings_plugin\bookings_plugin.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\demos\copilot_studio_skill\src\api\adapter.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\demos\copilot_studio_skill\src\api\adapter.py:54
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hon\samples\demos\copilot_studio_skill\src\api\adapter.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\demos\document_generator\main.py:124
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\demos\document_generator\main.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ic-kernel\python\samples\demos\document_generator\main.py:134
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ples\demos\document_generator\plugins\repo_file_plugin.py:36
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o-2024-05-13' — no routing/fallback
...s\guided_conversations\interactive_guided_conversation.py:85
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...s\guided_conversations\interactive_guided_conversation.py:103
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\guided_conversations\interactive_guided_conversation.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\guided_conversations\interactive_guided_conversation.py:113
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\guided_conversations\interactive_guided_conversation.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\guided_conversations\interactive_guided_conversation.py:121
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o-mini' — no routing/fallback
...thon\samples\demos\mcp_server\mcp_server_with_sampling.py:79
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: ' This sample demonstrates how to expose your Semantic Kernel `kernel` instance as a MCP server. To run this sample, set up your MCP host (like Claude Desktop or VSCode Github Copilot Agents) with the following configuration: ```json { "mcpServers": { "sk": { "command": "uv", "args": [ "--directory=<path to sk project>/semantic-kernel/python/samples/demos/mcp_server", "run", "sk_mcp_server.py" ], "env": { "OPENAI_API_KEY": "<your_openai_api_key>", "OPENAI_CHAT_MODEL_ID": "gpt-4o-mini" } } } } ``` Note: You might need to set the uv to its full path. Alternatively, you can run this as a SSE server, by setting the same environment variables as above, and running the following command: ```bash uv --directory=<path to sk project>/semantic-kernel/python/samples/demos/mcp_server run sk_mcp_server.py --transport sse --port 8000 ``` This will start a server that listens for incoming requests on port 8000. In both cases, uv will make sure to install semantic-kernel with the mcp extra for you in a temporary venv. ' — no routing/fallback
...c-kernel\python\samples\demos\mcp_server\sk_mcp_server.py:19
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\demos\mcp_with_oauth\agent\main.py:136
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\demos\mcp_with_oauth\agent\main.py:169
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\demos\mcp_with_oauth\agent\main.py:186
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\demos\mcp_with_oauth\agent\main.py:218
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...-kernel\python\samples\demos\mcp_with_oauth\agent\main.py:221
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\demos\process_with_dapr\fastapi_app.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\demos\process_with_dapr\fastapi_app.py:78
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\demos\process_with_dapr\flask_app.py:28
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:43
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:109
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\demos\process_with_dapr\process\steps.py:118
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...os\semantic-kernel\python\samples\demos\telemetry\main.py:141
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:119
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:132
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:139
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:140
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:143
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:163
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:177
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:189
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:190
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\demos\telemetry\scenarios.py:193
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...arted_with_agents\azure_ai_agent\step01_azure_ai_agent.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...arted_with_agents\azure_ai_agent\step01_azure_ai_agent.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ith_agents\azure_ai_agent\step02_azure_ai_agent_plugin.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ith_agents\azure_ai_agent\step02_azure_ai_agent_plugin.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\step03_azure_ai_agent_group_chat.py:98
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...agents\azure_ai_agent\step03_azure_ai_agent_group_chat.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\step04_azure_ai_agent_code_interpreter.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\azure_ai_agent\step04_azure_ai_agent_code_interpreter.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\step05_azure_ai_agent_file_search.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\step05_azure_ai_agent_file_search.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\azure_ai_agent\step06_azure_ai_agent_openapi.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\azure_ai_agent\step06_azure_ai_agent_openapi.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\azure_ai_agent\step06_azure_ai_agent_openapi.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\azure_ai_agent\step06_azure_ai_agent_openapi.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\azure_ai_agent\step06_azure_ai_agent_openapi.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\azure_ai_agent\step07_azure_ai_agent_retrieval.py:27
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\azure_ai_agent\step07_azure_ai_agent_retrieval.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\azure_ai_agent\step07_azure_ai_agent_retrieval.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\azure_ai_agent\step07_azure_ai_agent_retrieval.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\azure_ai_agent\step07_azure_ai_agent_retrieval.py:67
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\step08_azure_ai_agent_declarative.py:87
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\azure_ai_agent\step08_azure_ai_agent_declarative.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\azure_ai_agent\step09_azure_ai_agent_mcp.py:22
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\azure_ai_agent\step09_azure_ai_agent_mcp.py:24
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\azure_ai_agent\step09_azure_ai_agent_mcp.py:26
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\azure_ai_agent\step09_azure_ai_agent_mcp.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\azure_ai_agent\step09_azure_ai_agent_mcp.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o' — no routing/fallback
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:55
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:38
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\azure_ai_agent\step10_azure_ai_agent_deep_research.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\chat_completion\step01_chat_completion_agent_simple.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ts\chat_completion\step01_chat_completion_agent_simple.py:43
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion\step02_chat_completion_agent_thread_management.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...pletion\step02_chat_completion_agent_thread_management.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion\step03_chat_completion_agent_with_kernel.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion\step03_chat_completion_agent_with_kernel.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion\step04_chat_completion_agent_plugin_simple.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._completion\step04_chat_completion_agent_plugin_simple.py:66
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...letion\step05_chat_completion_agent_plugin_with_kernel.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...letion\step05_chat_completion_agent_plugin_with_kernel.py:82
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hat_completion\step06_chat_completion_agent_group_chat.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...hat_completion\step06_chat_completion_agent_group_chat.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\chat_completion\step07_kernel_function_strategies.py:128
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\chat_completion\step07_kernel_function_strategies.py:132
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion\step08_chat_completion_agent_json_result.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion\step08_chat_completion_agent_json_result.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\chat_completion\step09_chat_completion_agent_logging.py:93
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\chat_completion\step09_chat_completion_agent_logging.py:97
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...letion\step10_chat_completion_agent_structured_outputs.py:58
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...letion\step10_chat_completion_agent_structured_outputs.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion\step11_chat_completion_agent_declarative.py:102
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...at_completion\step11_chat_completion_agent_declarative.py:105
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion\step12_chat_completion_agent_code_interpreter.py:22
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion\step12_chat_completion_agent_code_interpreter.py:24
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion\step12_chat_completion_agent_code_interpreter.py:26
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion\step12_chat_completion_agent_code_interpreter.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mpletion\step12_chat_completion_agent_code_interpreter.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\copilot_studio\step1_copilot_studio_agent_simple.py:28
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gents\copilot_studio\step1_copilot_studio_agent_simple.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ot_studio\step2_copilot_studio_agent_thread_management.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ot_studio\step2_copilot_studio_agent_thread_management.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ilot_studio\step3_copilot_studio_agent_prompt_template.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ilot_studio\step3_copilot_studio_agent_prompt_template.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\copilot_studio\step4_copilot_studio_agent_web_search.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...s\copilot_studio\step4_copilot_studio_agent_web_search.py:33
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\observability.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ent_orchestration\step1a_concurrent_structured_outputs.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ent_orchestration\step1a_concurrent_structured_outputs.py:91
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...with_agents\multi_agent_orchestration\step1_concurrent.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ent_orchestration\step2a_sequential_cancellation_token.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\step2b_sequential_streaming_agent_response_callback.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\step2b_sequential_streaming_agent_response_callback.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\step2b_sequential_streaming_agent_response_callback.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\step2b_sequential_streaming_agent_response_callback.py:106
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...with_agents\multi_agent_orchestration\step2_sequential.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...with_agents\multi_agent_orchestration\step2_sequential.py:89
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gent_orchestration\step3a_group_chat_human_in_the_loop.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...gent_orchestration\step3a_group_chat_human_in_the_loop.py:130
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:215
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:216
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:217
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:256
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:257
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:260
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:307
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...tration\step3b_group_chat_with_chat_completion_manager.py:337
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...with_agents\multi_agent_orchestration\step3_group_chat.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...with_agents\multi_agent_orchestration\step3_group_chat.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_orchestration\step4a_handoff_structured_inputs.py:64
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_orchestration\step4a_handoff_structured_inputs.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...i_agent_orchestration\step4a_handoff_structured_inputs.py:178
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:155
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:157
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:161
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:163
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:166
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ation\step4b_handoff_streaming_agent_response_callback.py:199
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:174
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:177
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:179
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...lti_agent_orchestration\step4c_handoff_mix_agent_types.py:216
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\step4_handoff.py:44
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\step4_handoff.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\step4_handoff.py:133
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\step4_handoff.py:136
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\step4_handoff.py:138
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\multi_agent_orchestration\step4_handoff.py:170
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-4o-search-preview' — no routing/fallback
...d_with_agents\multi_agent_orchestration\step5_magentic.py:46
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...d_with_agents\multi_agent_orchestration\step5_magentic.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\multi_agent_orchestration\step5_magentic.py:108
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g_started_with_agents\openai_assistant\step1_assistant.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...g_started_with_agents\openai_assistant\step1_assistant.py:56
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\openai_assistant\step2_assistant_plugins.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...d_with_agents\openai_assistant\step2_assistant_plugins.py:77
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\openai_assistant\step3_assistant_vision.py:76
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_agents\openai_assistant\step3_assistant_vision.py:79
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\step4_assistant_tool_code_interpreter.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...openai_assistant\step4_assistant_tool_code_interpreter.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_assistant\step5_assistant_tool_file_search.py:67
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_assistant\step5_assistant_tool_file_search.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\openai_assistant\step6_assistant_declarative.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_agents\openai_assistant\step6_assistant_declarative.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ted_with_agents\openai_responses\step1_responses_agent.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ted_with_agents\openai_responses\step1_responses_agent.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...enai_responses\step2_responses_agent_thread_management.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...enai_responses\step2_responses_agent_thread_management.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\openai_responses\step3_responses_agent_plugins.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._agents\openai_responses\step3_responses_agent_plugins.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\step4_responses_agent_web_search.py:48
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ents\openai_responses\step4_responses_agent_web_search.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\step5_responses_agent_file_search.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\step5_responses_agent_file_search.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_agents\openai_responses\step6_responses_agent_vision.py:72
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_agents\openai_responses\step6_responses_agent_vision.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_responses\step7_responses_agent_structured_outputs.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nai_responses\step7_responses_agent_structured_outputs.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\step8_responses_agent_declarative.py:74
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nts\openai_responses\step8_responses_agent_declarative.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...getting_started_with_processes\step01\step01_processes.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...getting_started_with_processes\step01\step01_processes.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...getting_started_with_processes\step01\step01_processes.py:151
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:62
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:90
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:107
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:152
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:156
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:169
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:173
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:182
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:186
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:214
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:220
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:231
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:237
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:251
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:258
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:272
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:279
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:293
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:300
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:314
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:321
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:335
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...started_with_processes\step03\step03a_food_preparation.py:342
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ng_started_with_processes\step03\step03b_food_ordering.py:63
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ng_started_with_processes\step03\step03b_food_ordering.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...with_processes\step03\processes\fish_and_chips_process.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._with_processes\step03\processes\fish_sandwich_process.py:26
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
..._with_processes\step03\processes\fish_sandwich_process.py:40
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_processes\step03\processes\single_food_item_process.py:25
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...th_processes\step03\processes\single_food_item_process.py:47
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ting_started_with_processes\step03\steps\cut_food_step.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ting_started_with_processes\step03\steps\cut_food_step.py:37
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_processes\step03\steps\cut_food_with_sharpening_step.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_processes\step03\steps\cut_food_with_sharpening_step.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_processes\step03\steps\cut_food_with_sharpening_step.py:70
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_processes\step03\steps\cut_food_with_sharpening_step.py:80
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...h_processes\step03\steps\cut_food_with_sharpening_step.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ting_started_with_processes\step03\steps\fry_food_step.py:36
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ting_started_with_processes\step03\steps\fry_food_step.py:41
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_processes\step03\steps\gather_ingredients_step.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_processes\step03\steps\gather_ingredients_step.py:69
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ed_with_processes\step03\steps\gather_ingredients_step.py:81
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ntic-kernel\python\samples\learn_resources\ai_services.py:28
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'gpt-3.5-turbo' — no routing/fallback
...nel\python\samples\learn_resources\configuring_prompts.py:49
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-4' — no routing/fallback
...nel\python\samples\learn_resources\configuring_prompts.py:50
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\learn_resources\configuring_prompts.py:92
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\learn_resources\configuring_prompts.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\learn_resources\creating_functions.py:29
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\learn_resources\creating_functions.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...rnel\python\samples\learn_resources\creating_functions.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\evaluate_with_prompt_flow.py:43
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\learn_resources\functions_within_prompts.py:85
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ython\samples\learn_resources\functions_within_prompts.py:86
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...les\learn_resources\improved_evaluate_with_prompt_flow.py:11
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\semantic-kernel\python\samples\learn_resources\plugin.py:35
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\semantic-kernel\python\samples\learn_resources\plugin.py:49
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\semantic-kernel\python\samples\learn_resources\plugin.py:51
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\semantic-kernel\python\samples\learn_resources\plugin.py:55
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\learn_resources\serializing_prompts.py:68
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\learn_resources\serializing_prompts.py:71
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\learn_resources\serializing_prompts.py:75
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...nel\python\samples\learn_resources\serializing_prompts.py:88
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\learn_resources\templates.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\learn_resources\templates.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\learn_resources\templates.py:151
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...mantic-kernel\python\samples\learn_resources\templates.py:156
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...kernel\python\samples\learn_resources\using_the_kernel.py:30
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...kernel\python\samples\learn_resources\using_the_kernel.py:40
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:21
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:31
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:32
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:36
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:38
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:45
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:46
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:50
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:52
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:60
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:61
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:65
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:67
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:94
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:95
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:99
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:101
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:116
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:117
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:121
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:123
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:139
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:140
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:146
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:167
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:168
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:173
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:175
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:201
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:202
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:213
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:215
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:242
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:243
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:254
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...ernel\python\samples\learn_resources\your_first_prompt.py:255
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:136
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:143
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:154
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:164
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:169
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:179
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:180
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...samples\learn_resources\agent_docs\agent_collaboration.py:182
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:57
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:59
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:126
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:128
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:131
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:135
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:137
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:143
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:144
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...thon\samples\learn_resources\agent_docs\assistant_code.py:150
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\learn_resources\agent_docs\assistant_search.py:96
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\learn_resources\agent_docs\assistant_search.py:100
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\learn_resources\agent_docs\assistant_search.py:104
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\learn_resources\agent_docs\assistant_search.py:110
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...l\python\samples\learn_resources\agent_docs\chat_agent.py:83
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...on\samples\learn_resources\plugins\GithubPlugin\github.py:115
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\python\semantic_kernel\agents\azure_ai\azure_ai_agent.py:557
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\semantic_kernel\agents\open_ai\openai_assistant_agent.py:529
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D5
print() used instead of structured logging
...\semantic-kernel\python\semantic_kernel\connectors\mcp.py:1083
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'Google AI settings. The settings are first loaded from environment variables with the prefix 'GOOGLE_AI_'. If the environment variables are not found, the settings can be loaded from a .env file with the encoding 'utf-8'. If the settings are not found in the .env file, the settings are ignored; however, validation will fail alerting that the settings are missing. Required settings for prefix 'GOOGLE_AI_' are: - gemini_model_id: str - The Gemini model ID for the Google AI service, i.e. gemini-1.5-pro This value can be found in the Google AI service deployment. (Env var GOOGLE_AI_GEMINI_MODEL_ID) - embedding_model_id: str - The embedding model ID for the Google AI service, i.e. text-embedding-004 This value can be found in the Google AI service deployment. (Env var GOOGLE_AI_EMBEDDING_MODEL_ID) - api_key: SecretStr - The API key for the Google AI service deployment. This value can be found in the Google AI service deployment. (Env var GOOGLE_AI_API_KEY) - cloud_project_id: str - The Google Cloud project ID. (Env var GOOGLE_AI_CLOUD_PROJECT_ID) - cloud_region: str - The Google Cloud region. (Env var GOOGLE_AI_CLOUD_REGION) - use_vertexai: bool - Whether to use Vertex AI. If true, cloud_project_id and cloud_region must be provided. (Env var GOOGLE_AI_USE_VERTEXAI) ' — no routing/fallback
...rnel\connectors\ai\google\google_ai\google_ai_settings.py:11
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'Vertex AI settings. The settings are first loaded from environment variables with the prefix 'VERTEX_AI_'. If the environment variables are not found, the settings can be loaded from a .env file with the encoding 'utf-8'. If the settings are not found in the .env file, the settings are ignored; however, validation will fail alerting that the settings are missing. Required settings for prefix 'VERTEX_AI_' are: - gemini_model_id: str - The Gemini model ID for the Vertex AI service, i.e. gemini-1.5-pro This value can be found in the Vertex AI service deployment. (Env var VERTEX_AI_GEMINI_MODEL_ID) - embedding_model_id: str - The embedding model ID for the Vertex AI service, i.e. text-embedding-004 This value can be found in the Vertex AI service deployment. (Env var VERTEX_AI_EMBEDDING_MODEL_ID) - project_id: str - The Google Cloud project ID. (Env var VERTEX_AI_PROJECT_ID) - region: str - The Google Cloud region. (Env var VERTEX_AI_REGION) ' — no routing/fallback
...rnel\connectors\ai\google\vertex_ai\vertex_ai_settings.py:12
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'Input audio transcription settings. Args: model: The model to use for transcription, should be one of the following: - whisper-1 - gpt-4o-transcribe - gpt-4o-mini-transcribe language: The language of the audio, should be in ISO-639-1 format, like 'en'. prompt: An optional text to guide the model's style or continue a previous audio segment. The prompt should match the audio language. ' — no routing/fallback
...execution_settings\open_ai_realtime_execution_settings.py:13
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-4o-transcribe' — no routing/fallback
...execution_settings\open_ai_realtime_execution_settings.py:25
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'gpt-4o-mini-transcribe' — no routing/fallback
...execution_settings\open_ai_realtime_execution_settings.py:25
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'OpenAI model settings. The settings are first loaded from environment variables with the prefix 'OPENAI_'. If the environment variables are not found, the settings can be loaded from a .env file with the encoding 'utf-8'. If the settings are not found in the .env file, the settings are ignored; however, validation will fail alerting that the settings are missing. Optional settings for prefix 'OPENAI_' are: - api_key: SecretStr - OpenAI API key, see https://platform.openai.com/account/api-keys (Env var OPENAI_API_KEY) - org_id: str | None - This is usually optional unless your account belongs to multiple organizations. (Env var OPENAI_ORG_ID) - chat_model_id: str | None - The OpenAI chat model ID to use, for example, gpt-3.5-turbo or gpt-4. (Env var OPENAI_CHAT_MODEL_ID) - responses_model_id: str | None - The OpenAI responses model ID to use, for example, gpt-4o or o1. (Env var OPENAI_RESPONSES_MODEL_ID) - text_model_id: str | None - The OpenAI text model ID to use, for example, gpt-3.5-turbo-instruct. (Env var OPENAI_TEXT_MODEL_ID) - embedding_model_id: str | None - The OpenAI embedding model ID to use, for example, text-embedding-ada-002. (Env var OPENAI_EMBEDDING_MODEL_ID) - text_to_image_model_id: str | None - The OpenAI text to image model ID to use, for example, dall-e-3. (Env var OPENAI_TEXT_TO_IMAGE_MODEL_ID) - audio_to_text_model_id: str | None - The OpenAI audio to text model ID to use, for example, whisper-1. (Env var OPENAI_AUDIO_TO_TEXT_MODEL_ID) - text_to_audio_model_id: str | None - The OpenAI text to audio model ID to use, for example, jukebox-1. (Env var OPENAI_TEXT_TO_AUDIO_MODEL_ID) - realtime_model_id: str | None - The OpenAI realtime model ID to use, for example, gpt-realtime, gpt-realtime-mini, or gpt-audio-mini. (Env var OPENAI_REALTIME_MODEL_ID) - env_file_path: str | None - if provided, the .env settings are read from this file path location ' — no routing/fallback
...kernel\connectors\ai\open_ai\settings\open_ai_settings.py:11
Use model routing or configuration instead of hardcoded names
MEDIUM D5
print() used instead of structured logging
...\connectors\memory_stores\azure_cognitive_search\utils.py:53
Use logging.* or structlog.* for structured, searchable logs
MEDIUM D12
Hardcoded model name: 'Decorator to trace chat completion activities. Args: model_provider (str): The model provider should describe a family of GenAI models with specific model identified by ai_model_id. For example, model_provider could be "openai" and ai_model_id could be "gpt-3.5-turbo". Sometimes the model provider is unknown at runtime, in which case it can be set to the most specific known provider. For example, while using local models hosted by Ollama, the model provider could be set to "ollama". ' — no routing/fallback
...ic_kernel\utils\telemetry\model_diagnostics\decorators.py:94
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'Decorator to trace streaming chat completion activities. Args: model_provider (str): The model provider should describe a family of GenAI models with specific model identified by ai_model_id. For example, model_provider could be "openai" and ai_model_id could be "gpt-3.5-turbo". Sometimes the model provider is unknown at runtime, in which case it can be set to the most specific known provider. For example, while using local models hosted by Ollama, the model provider could be set to "ollama". ' — no routing/fallback
...ic_kernel\utils\telemetry\model_diagnostics\decorators.py:145
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'Decorator to trace text completion activities. Args: model_provider (str): The model provider should describe a family of GenAI models with specific model identified by ai_model_id. For example, model_provider could be "openai" and ai_model_id could be "gpt-3.5-turbo". Sometimes the model provider is unknown at runtime, in which case it can be set to the most specific known provider. For example, while using local models hosted by Ollama, the model provider could be set to "ollama". ' — no routing/fallback
...ic_kernel\utils\telemetry\model_diagnostics\decorators.py:210
Use model routing or configuration instead of hardcoded names
MEDIUM D12
Hardcoded model name: 'Decorator to trace streaming text completion activities. Args: model_provider (str): The model provider should describe a family of GenAI models with specific model identified by ai_model_id. For example, model_provider could be "openai" and ai_model_id could be "gpt-3.5-turbo". Sometimes the model provider is unknown at runtime, in which case it can be set to the most specific known provider. For example, while using local models hosted by Ollama, the model provider could be set to "ollama". ' — no routing/fallback
...ic_kernel\utils\telemetry\model_diagnostics\decorators.py:261
Use model routing or configuration instead of hardcoded names
MEDIUM D4
Exposed Generic Secret: api..._key
...samples\concepts\local_models\lm_studio_text_embedding.py:23
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...amples\concepts\local_models\lm_studio_chat_completion.py:32
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api..._key
...\samples\concepts\filtering\retry_with_different_model.py:71
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...python\samples\concepts\mcp\agent_with_http_mcp_plugin.py:93
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...n\samples\concepts\local_models\ollama_chat_completion.py:36
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...les\getting_started_with_agents\chat_completion\README.md:34
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...nel\python\semantic_kernel\connectors\ai\nvidia\README.md:20
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...nel\python\semantic_kernel\connectors\ai\nvidia\README.md:42
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...nectors\ai\open_ai\services\open_ai_text_to_image_base.py:103
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D4
Exposed Generic Secret: api...-key
...nectors\ai\open_ai\services\open_ai_text_to_image_base.py:180
Move to secrets manager or .env file (excluded from VCS)
EU AI Act Article 15OWASP LLM09
MEDIUM D12
Agent class 'DirectLineAgent' has no cost tracking
...mples\demos\copilot_studio_agent\src\direct_line_agent.py:27
Track token usage and costs per agent execution
MEDIUM D12
Agent class 'CodeValidationAgent' has no cost tracking
...\demos\document_generator\agents\code_validation_agent.py:37
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'CodeValidationAgent' has no defined lifecycle states
...\demos\document_generator\agents\code_validation_agent.py:37
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'ContentCreationAgent' has no cost tracking
...demos\document_generator\agents\content_creation_agent.py:34
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'ContentCreationAgent' has no defined lifecycle states
...demos\document_generator\agents\content_creation_agent.py:34
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'UserAgent' has no cost tracking
...hon\samples\demos\document_generator\agents\user_agent.py:35
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'UserAgent' has no defined lifecycle states
...hon\samples\demos\document_generator\agents\user_agent.py:35
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'Agent' has no cost tracking
...os\semantic-kernel\python\semantic_kernel\agents\agent.py:246
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'Agent' has no defined lifecycle states
...os\semantic-kernel\python\semantic_kernel\agents\agent.py:246
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'AutoGenConversableAgent' has no cost tracking
...mantic_kernel\agents\autogen\autogen_conversable_agent.py:105
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'AutoGenConversableAgent' has no defined lifecycle states
...mantic_kernel\agents\autogen\autogen_conversable_agent.py:105
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'AzureAIAgent' has no cost tracking
...\python\semantic_kernel\agents\azure_ai\azure_ai_agent.py:351
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'AzureAIAgent' has no defined lifecycle states
...\python\semantic_kernel\agents\azure_ai\azure_ai_agent.py:351
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'BedrockAgent' has no cost tracking
...el\python\semantic_kernel\agents\bedrock\bedrock_agent.py:113
Track token usage and costs per agent execution
MEDIUM D12
Agent class 'BedrockAgentBase' has no cost tracking
...thon\semantic_kernel\agents\bedrock\bedrock_agent_base.py:27
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'ChatCompletionAgent' has no defined lifecycle states
...ic_kernel\agents\chat_completion\chat_completion_agent.py:117
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'CopilotStudioAgent' has no cost tracking
...ntic_kernel\agents\copilot_studio\copilot_studio_agent.py:256
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'CopilotStudioAgent' has no defined lifecycle states
...ntic_kernel\agents\copilot_studio\copilot_studio_agent.py:256
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'AzureAssistantAgent' has no cost tracking
...n\semantic_kernel\agents\open_ai\azure_assistant_agent.py:42
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'AzureAssistantAgent' has no defined lifecycle states
...n\semantic_kernel\agents\open_ai\azure_assistant_agent.py:42
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'AzureResponsesAgent' has no cost tracking
...n\semantic_kernel\agents\open_ai\azure_responses_agent.py:46
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'AzureResponsesAgent' has no defined lifecycle states
...n\semantic_kernel\agents\open_ai\azure_responses_agent.py:46
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'OpenAIAssistantAgent' has no cost tracking
...\semantic_kernel\agents\open_ai\openai_assistant_agent.py:228
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'OpenAIAssistantAgent' has no defined lifecycle states
...\semantic_kernel\agents\open_ai\openai_assistant_agent.py:228
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'OpenAIResponsesAgent' has no cost tracking
...\semantic_kernel\agents\open_ai\openai_responses_agent.py:257
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'OpenAIResponsesAgent' has no defined lifecycle states
...\semantic_kernel\agents\open_ai\openai_responses_agent.py:257
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'Agent' has no cost tracking
...ernel\python\semantic_kernel\agents\runtime\core\agent.py:14
Track token usage and costs per agent execution
MEDIUM D12
Agent class 'BaseAgent' has no cost tracking
...\python\semantic_kernel\agents\runtime\core\base_agent.py:65
Track token usage and costs per agent execution
MEDIUM D12
Agent class 'RoutedAgent' has no cost tracking
...ython\semantic_kernel\agents\runtime\core\routed_agent.py:447
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'RoutedAgent' has no defined lifecycle states
...ython\semantic_kernel\agents\runtime\core\routed_agent.py:447
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'TestAgent' has no cost tracking
...en\gallery\repos\semantic-kernel\python\tests\conftest.py:430
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'TestAgent' has no defined lifecycle states
...en\gallery\repos\semantic-kernel\python\tests\conftest.py:430
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'MockAgent' has no cost tracking
...os\semantic-kernel\python\tests\unit\agents\test_agent.py:35
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'MockAgent' has no defined lifecycle states
...os\semantic-kernel\python\tests\unit\agents\test_agent.py:35
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'TestAgent' has no cost tracking
...os\semantic-kernel\python\tests\unit\agents\test_agent.py:334
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'TestAgent' has no defined lifecycle states
...os\semantic-kernel\python\tests\unit\agents\test_agent.py:334
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'ConcreteAgent' has no cost tracking
...s\unit\agents\bedrock_agent\test_bedrock_agent_channel.py:29
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'ConcreteAgent' has no defined lifecycle states
...s\unit\agents\bedrock_agent\test_bedrock_agent_channel.py:29
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'MockAgent' has no cost tracking
...kernel\python\tests\unit\agents\orchestration\conftest.py:35
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'MockAgent' has no defined lifecycle states
...kernel\python\tests\unit\agents\orchestration\conftest.py:35
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'MockAgentWithHandoffFunctionCall' has no cost tracking
...el\python\tests\unit\agents\orchestration\test_handoff.py:34
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'MockAgentWithHandoffFunctionCall' has no defined lifecycle states
...el\python\tests\unit\agents\orchestration\test_handoff.py:34
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'MockAgentWithCompleteTaskFunctionCall' has no cost tracking
...el\python\tests\unit\agents\orchestration\test_handoff.py:121
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'MockAgentWithCompleteTaskFunctionCall' has no defined lifecycle states
...el\python\tests\unit\agents\orchestration\test_handoff.py:121
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'MockAgent' has no cost tracking
...ests\unit\agents\orchestration\test_orchestration_base.py:26
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'MockAgent' has no defined lifecycle states
...ests\unit\agents\orchestration\test_orchestration_base.py:26
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'LoopbackAgent' has no cost tracking
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:41
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'LoopbackAgent' has no defined lifecycle states
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:41
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'CascadingAgent' has no cost tracking
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:63
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'CascadingAgent' has no defined lifecycle states
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:63
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'NoopAgent' has no cost tracking
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:77
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'NoopAgent' has no defined lifecycle states
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:77
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'FakeAgent' has no cost tracking
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:114
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'FakeAgent' has no defined lifecycle states
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:114
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D12
Agent class 'FailingAgent' has no cost tracking
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:363
Track token usage and costs per agent execution
MEDIUM D8
Agent class 'FailingAgent' has no defined lifecycle states
...c-kernel\python\tests\unit\agents\runtime\test_runtime.py:363
Add state machine (ACTIVE/SUSPENDED/RETIRED) for agent lifecycle
MEDIUM D14
Unpinned AI dependency: anthropic
...arden\gallery\repos\semantic-kernel\python\pyproject.toml:64
Pin version: anthropic==<specific_version>
MEDIUM D14
Unpinned AI dependency: autogen
...arden\gallery\repos\semantic-kernel\python\pyproject.toml:67
Pin version: autogen==<specific_version>
MEDIUM D14
Unpinned AI dependency: anthropic
...python\samples\demos\mcp_with_oauth\server\pyproject.toml:7
Pin version: anthropic==<specific_version>
MEDIUM D6
CrewAI agent without max_iter or timeout — unbounded execution
...python\samples\concepts\plugins\crew_ai\crew_ai_plugin.py:12
Set max_iter= and/or timeout= to prevent runaway agent loops
MEDIUM D6
CrewAI agent without max_iter or timeout — unbounded execution
...l\python\semantic_kernel\core_plugins\crew_ai\__init__.py:3
Set max_iter= and/or timeout= to prevent runaway agent loops
MEDIUM D6
CrewAI agent without max_iter or timeout — unbounded execution
...python\tests\unit\core_plugins\test_crew_ai_enterprise.py:7
Set max_iter= and/or timeout= to prevent runaway agent loops
MEDIUM D1
Cloud AI endpoint URL hardcoded in source — hinders environment portability
...python\samples\concepts\mcp\agent_with_http_mcp_plugin.py:92
Move AI service endpoints to environment variables or configuration files
OWASP LLM06
MEDIUM D4
GCP Vertex AI without explicit service_account or credentials — relying on ambient auth
...ai\google\vertex_ai\services\vertex_ai_chat_completion.py:7
Pass service_account or credentials parameter for explicit IAM scoping
OWASP LLM06
MEDIUM D4
GCP Vertex AI without explicit service_account or credentials — relying on ambient auth
...ai\google\vertex_ai\services\vertex_ai_text_completion.py:8
Pass service_account or credentials parameter for explicit IAM scoping
OWASP LLM06
MEDIUM D4
GCP Vertex AI without explicit service_account or credentials — relying on ambient auth
...\ai\google\vertex_ai\services\vertex_ai_text_embedding.py:6
Pass service_account or credentials parameter for explicit IAM scoping
OWASP LLM06
MEDIUM D10
AWS Bedrock invoke_model without contentPolicy — no content filtering configured
...ctors\ai\bedrock\services\test_bedrock_text_completion.py:161
Configure contentPolicy with filterStrength for input/output content moderation
EU AI Act Article 15
MEDIUM D10
AWS Bedrock invoke_model without contentPolicy — no content filtering configured
...edrock\services\test_bedrock_text_embedding_generation.py:145
Configure contentPolicy with filterStrength for input/output content moderation
EU AI Act Article 15
MEDIUM D4
GCP Vertex AI without explicit service_account or credentials — relying on ambient auth
...ogle\vertex_ai\services\test_vertex_ai_chat_completion.py:7
Pass service_account or credentials parameter for explicit IAM scoping
OWASP LLM06
MEDIUM D4
GCP Vertex AI without explicit service_account or credentials — relying on ambient auth
...ogle\vertex_ai\services\test_vertex_ai_text_completion.py:7
Pass service_account or credentials parameter for explicit IAM scoping
OWASP LLM06
MEDIUM D1
Cloud AI endpoint URL hardcoded in source — hinders environment portability
...it\connectors\ai\open_ai\services\test_openai_realtime.py:901
Move AI service endpoints to environment variables or configuration files
OWASP LLM06
MEDIUM D17
No adversarial testing evidence — no red team, no prompt injection tests
Implement adversarial testing for agent systems
MEDIUM D17
No tool-call attack simulation — agent tool calls not tested against adversarial inputs
Implement adversarial testing for agent systems
MEDIUM D17
No multi-agent chaos engineering — agent swarms not stress tested
Implement adversarial testing for agent systems
💡 Recommendationsordered by score impact
#1
Establish a live tool inventory +23 pts
No tool catalog detected. Without a centralized inventory of MCP tools and their schemas, governance policies have nothing to enforce against. Deploy a tool registry with auto-discovery. (2 findings in this dimension)
⚠ The Workaround Tax
Stop paying the Workaround Tax. Relying on prompt-filters and out-of-band monitoring forces your developers to write manual security logic scattered across every agent and service. A centralized gateway enforces policy automatically — at the interception layer, on every tool call, without code changes in your agents.
Current state
14/ 100
✗ UNGOVERNED
D1 Tool Inventory
2/25
D2 Risk Detection
0/20
D9 Threat Detection
1/20
D3 Policy Coverage
3/20
D4 Credential Management
5/20
+ SharkRouter (full deployment)
91/ 100
✓ GOVERNED
D1 Tool Inventory
23 +21
D2 Risk Detection
18 +18
D9 Threat Detection
18 +17
D3 Policy Coverage
18 +15
D4 Credential Management
18 +13
* Projection based on SharkRouter's estimated score. Actual results may vary.  sharkrouter.ai → 14 → 91 · +77 pts
#2
Deploy risk classification for tool calls +20 pts
No risk scoring on tool invocations. Every tool call carries the same implicit trust level. Classify tools by risk (destructive, financial, exfiltration) and enforce approval gates for high-risk categories. (6 findings in this dimension)
#3
Deploy behavioral detection and kill switch +19 pts
No behavioral baselines, no anomaly detection, no auto-suspend capability. A compromised agent can operate indefinitely. Salami slicing across sessions is undetectable. (7 findings in this dimension)
#4
Implement policy enforcement on tool calls +17 pts
No deny/allow/audit policies detected. Agents can invoke any tool without restriction. Deploy an inline policy engine with deny-by-default for destructive and financial tools. (1 finding in this dimension)
#5
Move credentials to a secrets manager +15 pts
API keys or credentials found in source code. Move to HashiCorp Vault, AWS Secrets Manager, or environment-level secret stores. Rotate all exposed keys immediately. Add .env to .gitignore. (15 findings in this dimension)
Generated by Warden v1.6.0 · Open Source · MIT License · github.com/sharkrouter/warden
Scoring model v4.3 · 17 weighted dimensions · 235 pts · methodology in SCORING.md
Scan data stays on your machine. Email delivery is opt-in only.
When opted in: score + metadata only. Never: keys, logs, paths, or PII.
Privacy policy · To enforce policies on what Warden found → Explore what 91/100 looks like →