openai 3.36.0
- Source
- https://github.com/openai/openai-python
- Tag scanned
v3.36.0- Compared with
v3.35.1(0 signals introduced since)- Files
- 2492 scanned, 35 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 1 warn · 109 info
- Scan time
- 42.3 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 61 of 61 warn and critical signals; 60 demoted to info.
- Disclude version
- 4.1.0
- Scanned (UTC)
- 2026-10-22 07:14
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
likely benign A test in the uv workflows suite execs a program produced by a local helper and handles SystemExit.
Reasoning
The exec runs the output of a locally defined test helper, compiled_security_dependency_floor_program(), inside a test file. It catches SystemExit, which fits a test harness running a generated check script. The helper's source is not shown, so a hidden payload cannot be fully ruled out, but nothing in the snippet points to malicious intent.
-
data:likely benign Long YAML example line containing a JSON transcript event with logprobs.Reasoning
Long line is a JSON-encoded streaming event with logprobs in an OpenAPI example; raw long-line noise in generated docs.
-
-d '{"name":"gpt-6-astra","data_source":{"type":"completions","input_messages":{"type":"template","template":[{"role":"developer","content":"Categorize a given news headline into one of the following topics: Technology, Markets, World, Business, or Sports.\n\n# Steps\n\n1. Analyze the content of the new -
python: "from openai import OpenAI\nfrom openai.types.fine_tuning import ReinforcementMethod, ReinforcementHyperparameters\nfrom openai.types.graders import StringCheckGrader\n\nclient = OpenAI()\n\nclient.fine_tuning.jobs.create(\n training_file=\"file-abc\",\n validation_file=\"file-123\",\n model=\"o4 -
description: Group the costs by the specified fields. Supported fields include `project_id`, `user_id`, `line_item`, `api_key_id`, and `api_source`. Support for combining `user_id` with `project_id` grouping or the `project_ids` filter depends on the organization and requested time range. Unsupported combinatio -
response: "{\n \"id\": \"sess_001\",\n \"object\": \"realtime.session\",\n \"model\": \"gpt-realtime-2025-08-25\",\n \"modalities\": [\"audio\", \"text\"],\n \"instructions\": \"You are a friendly assistant.\",\n \"voice\": \"alloy\",\n \"input_audio_format\": \"pcm16\",\n \"output_audio_format\": \"p -
description: "Create an ephemeral API token for use in client-side applications with the\nRealtime API specifically for realtime transcriptions. \nCan be configured with the same session parameters as the `transcription_session.update` client event.\n\nIt responds with a session object, plus a `client_secret` key -
"text": "The file seems to contain excerpts from a letter to the shareholders of Berkshire Hathaway Inc., likely written by Warren Buffett. It covers several topics:\n\n1. **Communication Philosophy**: Buffett emphasizes the importance of transparency and candidness in reporting mistakes and succelikely benign Long example text string in OpenAPI spec.Reasoning
Long line is an example response text string in generated API docs; no obfuscation.
-
data: -
"text": "The file seems to contain excerpts from a letter to the shareholders of Berkshire Hathaway Inc., likely written by Warren Buffett. It covers several topics:\n\n1. **Communication Philosophy**: Buffett emphasizes the importance of transparency and candidness in reporting mistakes and succelikely benign Long example text string in OpenAPI spec, duplicated.Reasoning
Duplicate of the same long example text in generated API docs; benign.
-
**Important:** when using JSON mode, you **must** also instruct the model to produce JSON yourself via a system or user message. Without this, the model may generate an unending stream of whitespace until the generation reaches the token limit, resulting in a long-running and seemingly "stuck" request. Also not -
Accepts a JSON object that maps tokens (specified by their token ID in the GPT tokenizer) to an associated bias value from -100 to 100. You can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) to convert text to token IDs. Mathematically, the bias is added to the logits generated by -
Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (8192 tokens for all embedding models), cannot be an empty string, and any array must be -
description: The size of the generated images. Defaults to `auto`. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example -
description: The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width a -
description: 'The voice to use when generating the audio. Supported built-in voices are `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice object with an `id`, for example `{ "id": "voice_1234" }`. Previews -
description: The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width a -
description: The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width a -
description: "Send this event to truncate a previous assistant message’s audio. The server \nwill produce audio faster than realtime, so this event is useful when the user \ninterrupts to truncate audio that has already been sent to the client but not \nyet played. This will synchronize the server's understandi -
description: "Send this event to append audio bytes to the input audio buffer. The audio \nbuffer is temporary storage you can write to and later commit. In Server VAD \nmode, the audio buffer is used to detect speech and the server will decide \nwhen to commit. When Server VAD is disabled, you must commit the au -
description: "Send this event to commit the user input audio buffer, which will create a \nnew user message item in the conversation. This event will produce an error \nif the input audio buffer is empty. When in Server VAD mode, the client does \nnot need to send this event, the server will commit the audio buff -
description: "This event instructs the server to create a Response, which means triggering \nmodel inference. When in Server VAD mode, the server will create Responses \nautomatically.\n\nA Response will include at least one Item, and may have two, in which case \nthe second will be a function call. These Items w -
description: "The default system instructions (i.e. system message) prepended to model \ncalls. This field allows the client to guide the model on desired \nresponses. The model can be instructed on response content and format, \n(e.g. \"be extremely succinct\", \"act friendly\", \"here are examples of good \ -
description: "Sent by the server when in `server_vad` mode to indicate that speech has been \ndetected in the audio buffer. This can happen any time audio is added to the \nbuffer (unless speech is already detected). The client may want to use this \nevent to interrupt audio playback or provide visual feedback to -
"instructions": "Your knowledge cutoff is 2023-10. You are a helpful, witty, and friendly AI. Act like a human, but remember that you aren't a human and that you can't do human things in the real world. Your voice and personality should be warm and engaging, with a lively and playful tone. If interacting -
description: "Add a new Item to the Conversation's context, including messages, function \ncalls, and function call responses. This event can be used both to populate a \n\"history\" of the conversation and to add new items mid-stream, but has the \ncurrent limitation that it cannot populate assistant audio messa -
description: "Send this event to truncate a previous assistant message’s audio. The server \nwill produce audio faster than realtime, so this event is useful when the user \ninterrupts to truncate audio that has already been sent to the client but not \nyet played. This will synchronize the server's understandi -
description: "Send this event to append audio bytes to the input audio buffer. The audio \nbuffer is temporary storage you can write to and later commit. A \"commit\" will create a new\nuser message item in the conversation history from the buffer content and clear the buffer.\nInput audio transcription (if enabl -
description: "This event instructs the server to create a Response, which means triggering \nmodel inference. When in Server VAD mode, the server will create Responses \nautomatically.\n\nA Response will include at least one Item, and may have two, in which case \nthe second will be a function call. These Items w -
The default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on audio -
description: "Sent by the server when in `server_vad` mode to indicate that speech has been \ndetected in the audio buffer. This can happen any time audio is added to the \nbuffer (unless speech is already detected). The client may want to use this \nevent to interrupt audio playback or provide visual feedback to -
description: "Returned when a Response is done streaming. Always emitted, no matter the \nfinal state. The Response object included in the `response.done` event will \ninclude all output Items in the Response but will omit the raw audio data.\n\nClients should check the `status` field of the Response to determine -
"instructions": "Your knowledge cutoff is 2023-10. You are a helpful, witty, and friendly AI. Act like a human, but remember that you aren't a human and that you can't do human things in the real world. Your voice and personality should be warm and engaging, with a lively and playful tone. If interacting -
"instructions": "Your knowledge cutoff is 2023-10. You are a helpful, witty, and friendly AI. Act like a human, but remember that you aren't a human and that you can't do human things in the real world. Your voice and personality should be warm and engaging, with a lively and playful tone. If interacting -
Configuration for input audio transcription, defaults to off and can be set to `null` to turn off once on. Input audio transcription is not native to the model, since the model consumes audio directly. Transcription runs asynchronously through [the /audio/transcriptions endpoint](https://developers.openai -
The default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on audio -
The default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on audio -
The default system instructions (i.e. system message) prepended to model calls. This field allows the client to guide the model on desired responses. The model can be instructed on response content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on audio -
description: Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI co -
description: The Cyber access program to use for this request. Supported values are `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves the program from the model's Cyber tier and your organization and project access, subject to model-specific eligibility restrictions. By default, mo -
description: Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI co -
Specifies the processing type used for serving the request. - If set to 'auto', then the request will be processed with the service tier configured in the Project settings. Unless otherwise configured, the Project will use 'default'. - If set to 'default', then the request will be processed with the s -
description: Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenA -
description: Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is int -
description: The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and `gpt-image-2.5-flare-2026-09-08`, arbitrary resolutions are supported as `WIDTHxHEIGHT` strings, for example `1536x864`. Width a -
Specifies the processing type used for serving the request. - If set to 'auto', then the request will be processed with the service tier configured in the Project settings. Unless otherwise configured, the Project will use 'default'. - If set to 'default', then the request will be processed with the s -
description: Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI co -
description: Options for prompt caching. Supported for `gpt-5.6` and later models. By default, OpenAI automatically chooses one implicit cache breakpoint. You can add explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each request can write up to four breakpoints. For cache matching, OpenAI co -
description: The Cyber access program to use for this request. Supported values are `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves the program from the model's Cyber tier and your organization and project access, subject to model-specific eligibility restrictions. By default, mo -
-
likely benign Long security model table row describing client credential sourcing.
Reasoning
Markdown table row with long prose describing credential handling; a long-line artifact of documentation tables.
-
likely benign Long security model table row about WebSocket destinations and headers.
Reasoning
Long prose table row in architecture documentation; no code or obfuscation.
-
-
likely benign Long risk table row about WebSocket regression impacts.
Reasoning
Long prose table row in a risk table; documentation only.
-
-
-
STEADY_ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" source "$STEADY_ROOT/scripts/steady/settings" steady_verifylikely benign Launcher sources a settings file relative to its own root directory.Reasoning
Sources a settings file at a path derived from the script's own directory; a common bash pattern in a repo-local launcher, not an attack.
-
# Keep the caller's working directory so relative spec paths keep working. exec "$DENO_DIRECTORY/$DENO_BINARY" run --cached-only --frozen \ --config "$STEADY_SOURCE/deno.json" \ --allow-read --allow-net --allow-env --allow-write \likely benign Launcher execs a Deno binary resolved from variables with scoped Deno permissions.Reasoning
exec runs a Deno binary from a cache directory variable set earlier in the script, with fixed flags and a project config. Pattern is a legitimate launcher, though the dynamic path and broad --allow flags warrant a look at how the variables are set.
-
STEADY_ROOT="$(cd "$(dirname "$0")/../.." && pwd -P)" source "$STEADY_ROOT/scripts/steady/settings" mkdir -p "$STEADY_CACHE"likely benign Install script sources a settings file from its own root.Reasoning
Sources settings relative to the script's own location, a standard install-script pattern.
-
steady_verify "$DENO_DIRECTORY/$DENO_BINARY" cache --frozen --config "$STEADY_SOURCE/deno.json" "$STEADY_SOURCE/cmd/steady.ts" >&2 if [[ "${1:-}" == '--print-executable' ]]; thenlikely benign Install script runs a cached Deno command using configured variables.Reasoning
Runs deno cache using a binary and source paths defined in the project's settings; consistent with a build/install step, the command name is variable only because it is configured elsewhere in the repo.
-
= = returnlikely benign Module-level lazy attribute loader caching imported submodules in globals.Reasoning
This is the standard lazy-loading __getattr__ pattern that imports a submodule by name and caches it in globals; it is a well-known legitimate idiom in the OpenAI SDK.
-
= = returnlikely benign Lazy submodule import via module __getattr__ in streaming package.Reasoning
Same lazy-import __getattr__ idiom, importing a fixed relative submodule; benign package plumbing.
-
= returnlikely benign Standard lazy-import __getattr__ in the OpenAI SDK resources package that caches submodules into globals.Reasoning
The snippet is a module-level __getattr__ that lazily imports a submodule, caches it with globals()[name] = value, and otherwise raises AttributeError. This is the standard PEP 562 lazy-loading idiom used to defer heavy imports. The name is a normal attribute name and the value comes from the package's own submodules, so nothing dynamic or external is executed.
-
= returnlikely benign Lazy-loading module __getattr__ in the admin resources package that caches attributes via globals().Reasoning
The snippet is the same PEP 562 lazy-loading __getattr__ pattern, caching a resolved submodule attribute in globals() and raising AttributeError otherwise. It is a routine SDK packaging idiom with no external input or code execution.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/__init__.py:233:9= returnlikely benign Lazy-loading module __getattr__ in the admin organization resources package.Reasoning
This is the same lazy-import __getattr__ idiom, caching submodules in globals() and raising AttributeError on unknown names. It matches the generated SDK structure and shows no sign of malicious behaviour.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/groups/__init__.py:68:9= returnlikely benign Lazy-loading module __getattr__ in the organization groups resources package.Reasoning
The snippet is the standard PEP 562 lazy-import pattern, writing a resolved submodule into globals() and otherwise raising AttributeError. This is consistent with a generated SDK package and has no dynamic execution or external input.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/__init__.py:230:9= returnlikely benign Lazy-loading module __getattr__ in the organization projects resources package.Reasoning
The snippet is the standard lazy-import __getattr__ with globals() caching and AttributeError fallback. It is routine SDK packaging code and nothing in it runs untrusted content.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/groups/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ in the project groups resources package.Reasoning
This is the same PEP 562 lazy-loading idiom, caching resolved submodules in globals() and raising AttributeError for unknown names. The pattern is standard in generated SDK packages and is benign.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/service_accounts/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ in the project service accounts resources package.Reasoning
The snippet is the standard lazy-import __getattr__ that caches a submodule via globals() and raises AttributeError otherwise. It is routine SDK code with no external input or execution risk.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/users/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ in the project users resources package.Reasoning
This is the PEP 562 lazy-loading pattern, writing a resolved attribute into globals() and raising AttributeError on a miss. It is a common, benign packaging idiom.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/users/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ in the organization users resources package.Reasoning
The snippet is the standard lazy-import __getattr__ with globals() caching. It shows no obfuscation, external input, or malicious execution.
-
= returnlikely benign Lazy-loading module __getattr__ in the audio resources package.Reasoning
The snippet is the PEP 562 lazy-import __getattr__ pattern, caching submodules in globals() and raising AttributeError otherwise. This is a routine SDK idiom with no malicious indicators.
-
= returnlikely benign Lazy-loading module __getattr__ in the beta resources package.Reasoning
This is the standard lazy-loading __getattr__ with globals() caching and an AttributeError fallback. The pattern is benign SDK packaging code.
-
= returnlikely benign Lazy-loading module __getattr__ in the beta agents resources package.Reasoning
The snippet is the same PEP 562 lazy-import idiom, caching a resolved submodule in globals() and raising AttributeError otherwise. It is routine and shows no sign of malicious intent.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/environments/__init__.py:68:9= returnlikely benign Lazy-loading module __getattr__ in the agent environments resources package.Reasoning
The snippet is the standard lazy-import __getattr__ with globals() caching and AttributeError on miss. It is benign SDK code.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/__init__.py:128:9= returnlikely benign Lazy-loading module __getattr__ in the agent sessions resources package.Reasoning
This is the PEP 562 lazy-loading pattern, writing resolved attributes into globals() and raising AttributeError for unknown names. It is a common, legitimate packaging technique.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/subagents/__init__.py:68:9= returnlikely benign Lazy-loading module __getattr__ in the session subagents resources package.Reasoning
The snippet is the standard lazy-import __getattr__ idiom with globals() caching. It is benign generated SDK code with no external input or execution.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/subagents/turns/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ in the subagent turns resources package.Reasoning
This is the PEP 562 lazy-loading idiom, caching submodule attributes in globals() and raising AttributeError on a miss. It is routine and benign.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/turns/__init__.py:53:9= returnlikely benign Module __getattr__ that lazily imports and caches a sessions/turns resource attribute in globals().Reasoning
The snippet is a module-level __getattr__ that raises AttributeError for unknown names and otherwise caches a lazily imported submodule or symbol into globals(). This is the standard lazy-import idiom used in the OpenAI SDK, and the name is a plain module attribute, not an obfuscated or attacker-controlled lookup.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/vaults/__init__.py:53:9= returnlikely benign Module __getattr__ that lazily caches a vaults resource attribute into globals().Reasoning
Same lazy-loading __getattr__ pattern: it raises AttributeError for unknown names and caches resolved attributes into globals(). No decoding, execution of fetched content, or hidden logic appears in the snippet.
-
= returnlikely benign Module __getattr__ that lazily caches a chatkit resource attribute into globals().Reasoning
The snippet is the standard SDK lazy-import pattern: an unknown attribute raises AttributeError, and a resolved one is stored in globals() for caching. Nothing indicates malicious intent.
-
= returnlikely benign Module __getattr__ that lazily caches a beta responses attribute into globals().Reasoning
This is the generated lazy-attribute loader found across the SDK. It only resolves known module attributes and caches them, with no execution of external data.
-
= returnlikely benign Module __getattr__ that lazily caches a beta threads attribute into globals().Reasoning
The snippet matches the SDK's standard lazy module attribute pattern, raising AttributeError for unknown names and caching resolved ones. The dynamic globals() write is a normal performance idiom here.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/threads/runs/__init__.py:53:9= returnlikely benign Module __getattr__ that lazily caches a threads/runs attribute into globals().Reasoning
Standard lazy-import __getattr__ with AttributeError fallback and globals() caching. This is ordinary SDK packaging code and shows no sign of obfuscation.
-
= returnlikely benign Module __getattr__ that lazily caches a chat resource attribute into globals().Reasoning
The snippet is the generated lazy-loading pattern for resource submodules. It resolves only expected names and caches them, which is benign.
-
= returnlikely benign Module __getattr__ that lazily caches a chat completions attribute into globals().Reasoning
Same benign lazy-import idiom: AttributeError for unknown names, globals() caching for resolved ones. No external input or execution is involved.
-
= returnlikely benign Module __getattr__ that lazily caches a containers attribute into globals().Reasoning
The snippet is the SDK's standard lazy attribute loader. The globals() write only memoizes module attributes and does not hide any behavior.
-
= returnlikely benign Module __getattr__ that lazily caches a container files attribute into globals().Reasoning
Standard lazy-import pattern with AttributeError fallback and caching into globals(). It is ordinary SDK code with no sign of malicious intent.
-
= returnlikely benign Module __getattr__ that lazily caches a conversations attribute into globals().Reasoning
This is the generated lazy module loader pattern: unknown names raise AttributeError and known ones are cached in globals(). The code is benign.
-
= returnlikely benign Module __getattr__ that lazily caches an evals attribute into globals().Reasoning
Standard lazy-import __getattr__ that caches resolved attributes in globals(). The snippet shows no obfuscation or unsafe behavior.
-
= returnlikely benign Module __getattr__ that lazily caches an evals runs attribute into globals().Reasoning
The same benign SDK lazy-loading pattern: AttributeError for unknown names and globals() memoization for valid ones.
-
= returnlikely benign Module __getattr__ that lazily caches a fine_tuning attribute into globals().Reasoning
Standard lazy module attribute loader that raises AttributeError for unknown names and caches resolved ones in globals(). This is normal packaging code.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/fine_tuning/alpha/__init__.py:53:9= returnlikely benign Module __getattr__ that lazily caches a fine_tuning alpha attribute into globals().Reasoning
Benign generated lazy-import pattern: unknown attributes raise AttributeError and resolved ones are cached into globals(). No suspicious behavior is shown.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/fine_tuning/checkpoints/__init__.py:53:9= returnlikely benign Module __getattr__ that lazily caches a fine_tuning checkpoints attribute into globals().Reasoning
Standard lazy-loading __getattr__ that memoizes module attributes into globals(). This is common, benign SDK structure.
-
= returnlikely benign Lazy-import __getattr__ in the OpenAI SDK package caching a resolved attribute into module globals.Reasoning
Standard lazy-loading module __getattr__ pattern that caches resolved attributes in globals; the name comes from the module's own attribute access and is not attacker-controlled.
-
= returnlikely benign Lazy-import __getattr__ caching attributes into module globals in the live resource package.Reasoning
Same lazy-loading __getattr__ boilerplate with globals caching; typical SDK import machinery with no external input.
-
= returnlikely benign Lazy-import __getattr__ caching resolved attributes into globals in the realtime package.Reasoning
Standard lazy-loading __getattr__ pattern writing resolved values into globals; benign module plumbing.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/realtime/translations/__init__.py:53:9= returnlikely benign Lazy-import __getattr__ in the realtime translations package caching into globals.Reasoning
Identical lazy-loading boilerplate; no dynamic execution or untrusted input involved.
-
= returnlikely benign Lazy-import __getattr__ caching attributes in the responses resource package.Reasoning
Standard generated lazy-loading __getattr__ writing to globals; consistent with SDK packaging.
-
= returnlikely benign Lazy-import __getattr__ caching attributes in the safety resource package.Reasoning
Generated lazy-import boilerplate; the attribute name is a module-internal lookup with no external data flow.
-
= returnlikely benign Lazy-import __getattr__ caching attributes in the skills resource package.Reasoning
Standard lazy-loading __getattr__ pattern; benign.
-
= returnlikely benign Lazy-import __getattr__ caching attributes in the skills versions package.Reasoning
Standard lazy-loading __getattr__ pattern used across the SDK; benign.
-
= returnlikely benign Lazy-import __getattr__ caching attributes in the uploads resource package.Reasoning
Standard lazy-loading __getattr__ pattern; no untrusted input or execution.
-
= returnlikely benign Lazy-import __getattr__ caching attributes in the vector stores resource package.Reasoning
Standard lazy-loading __getattr__ pattern; benign module plumbing.
-
# Standardized test constants (matches TypeScript implementation) = =likely benign Test constant webhook secret string in a webhook verification test.Reasoning
The flagged value is a test fixture webhook secret with a base64-looking suffix; it is a constant used to test signature verification, and the raw pass has a high false-positive rate on such strings.
-
= = = =likely benign Test constant webhook signature string in a webhook verification test.Reasoning
The flagged value is a test webhook signature constant matching the standard format used in the test; it is not obfuscated payload.
-
# Compile once per worker, but execute with fresh globals for every case. returnlikely benign Test helper compiling a repo-local dependency-security checker script for execution.Reasoning
Compiles a checker script read from the repository's own scripts directory inside a test, with a generated program from a local helper. Dynamic compile in tests is unusual but the source is local and not fetched or decoded from an opaque blob.
-
# the same checker and Git stub in-process; keep real CLI coverage below. =likely benign Test code compiling a fake git stub script from a fixture file for in-process execution.Reasoning
Compiles a fake git stub script read from a test fixture file to run in-process with patched subprocess; test-only mocking with local sources.
-
returnlikely benign Test code exec-ing a compiled fake git stub to mock git invocations.Reasoning
Executes the compiled fake git stub with a fresh globals dict inside a test to simulate git calls; the code source is a local test fixture, not untrusted input.
-
return # type: ignore[no-any-return]likely benign A test utility evaluates a ForwardRef type annotation string with eval against a globals dict.Reasoning
This is a standard helper that evaluates a typing.ForwardRef string against a module's globals, the same mechanism typing.get_type_hints uses. It is in a test utility file, the eval input is a type annotation string, and the lint ignore comment shows deliberate use. No obfuscation or attacker-controlled input is apparent.
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&