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