From 3d7dfbeb68a3c7006731eb6ba8a0eabc31ad5b34 Mon Sep 17 00:00:00 2001 From: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Date: Fri, 21 Aug 2026 01:26:57 +0100 Subject: [PATCH 1/2] fix: fail closed on invalid debug logging flags --- src/agents/_debug.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/agents/_debug.py b/src/agents/_debug.py index 963c296b80..6806b05173 100644 --- a/src/agents/_debug.py +++ b/src/agents/_debug.py @@ -5,8 +5,13 @@ def _debug_flag_enabled(flag: str, default: bool = False) -> bool: flag_value = os.getenv(flag) if flag_value is None: return default - else: - return flag_value == "1" or flag_value.lower() == "true" + + normalized = flag_value.strip().lower() + if normalized in {"1", "true"}: + return True + if normalized in {"0", "false"}: + return False + return default def _load_dont_log_model_data() -> bool: From 39ba9d3f34e5eaaf1280b8cbd6996bd0575bfe1b Mon Sep 17 00:00:00 2001 From: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Date: Fri, 21 Aug 2026 01:27:08 +0100 Subject: [PATCH 2/2] test: cover fail-closed debug flag parsing --- tests/test_debug_flag_parsing.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/test_debug_flag_parsing.py diff --git a/tests/test_debug_flag_parsing.py b/tests/test_debug_flag_parsing.py new file mode 100644 index 0000000000..8da4a3a5c1 --- /dev/null +++ b/tests/test_debug_flag_parsing.py @@ -0,0 +1,30 @@ +import pytest + +from agents._debug import _load_dont_log_model_data, _load_dont_log_tool_data + + +@pytest.mark.parametrize( + ("env_name", "loader"), + [ + ("OPENAI_AGENTS_DONT_LOG_MODEL_DATA", _load_dont_log_model_data), + ("OPENAI_AGENTS_DONT_LOG_TOOL_DATA", _load_dont_log_tool_data), + ], +) +def test_dont_log_flags_strip_whitespace(env_name, loader, monkeypatch) -> None: + monkeypatch.setenv(env_name, " true ") + assert loader() is True + + monkeypatch.setenv(env_name, " false ") + assert loader() is False + + +@pytest.mark.parametrize( + ("env_name", "loader"), + [ + ("OPENAI_AGENTS_DONT_LOG_MODEL_DATA", _load_dont_log_model_data), + ("OPENAI_AGENTS_DONT_LOG_TOOL_DATA", _load_dont_log_tool_data), + ], +) +def test_dont_log_flags_use_safe_default_for_invalid_values(env_name, loader, monkeypatch) -> None: + monkeypatch.setenv(env_name, "tru") + assert loader() is True