openai 3.34.0
- Source
- https://github.com/openai/openai-python
- Tag scanned
v3.34.0- Compared with
v3.33.0(0 signals introduced since)- Files
- 2462 scanned, 37 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 110 info
- Scan time
- 41.2 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 61 of 61 warn and critical signals; 61 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-18 21:41
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
data:likely benign Long YAML example line containing a JSON transcript event with logprobs.Reasoning
Long line is a JSON-encoded streaming example with logprobs data inside a YAML doc. Raw long-line signal on documentation data; no malicious content.
-
-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 an OpenAPI spec describing a letter.Reasoning
Long string example of a model response about a Berkshire letter, inside an OpenAPI spec. Plain prose in an API example, 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 Duplicate long example text in the OpenAPI spec.Reasoning
Duplicate of the same example prose at another location in the generated OpenAPI doc. Benign documentation content.
-
**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 markdown table row documenting client credential sources.
Reasoning
Long markdown table row describing credential handling for the SDK. Documentation prose, long only because of table cell width.
-
likely benign Long markdown table row documenting WebSocket destinations and auth headers.
Reasoning
Long markdown table row documenting WebSocket auth destinations. Plain documentation text.
-
-
likely benign Long markdown table row describing a WebSocket credential-disclosure risk.
Reasoning
Long markdown table row in a threat/risk table. Documentation prose with no executable content.
-
-
-
STEADY_ROOT="$(cd "$(dirname "$0")/.." && pwd -P)" source "$STEADY_ROOT/scripts/steady/settings" steady_verifylikely benign Launcher script sources a settings file located relative to its own root.Reasoning
Sources a settings file whose path is derived from the script's own directory via dirname and pwd -P. This is a normal bash launcher pattern; the path is not attacker-controlled input.
-
# 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 cached Deno binary with a variable path and fixed flags.Reasoning
exec runs a binary built from DENO_DIRECTORY and DENO_BINARY, which are presumably set in the sourced settings file from the repo. Dynamic exec is expected for a launcher, and the flags are restrictive with --cached-only and --frozen, but the variable path leaves some doubt about where it resolves.
-
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 relative to its own root.Reasoning
Same self-relative sourcing pattern as the launcher: the settings path is computed from the script's own location. Standard bash install-script behavior.
-
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 deno cache using settings-defined binary path.Reasoning
Runs deno cache using a binary path from variables defined in the settings file sourced earlier. This is an install step for the repo's own toolchain; the variables are not from untrusted input in the snippet.
-
= = returnlikely benign Lazy-loading module __getattr__ that imports submodules by name.Reasoning
Standard PEP 562 lazy module attribute loading: getattr via import_module of a known submodule, cached in globals, else AttributeError. Common and legitimate in the OpenAI SDK.
-
= = returnlikely benign Lazy-loading module __getattr__ for streaming submodules.Reasoning
Same lazy-import __getattr__ pattern importing a relative submodule and caching it in globals. Legitimate lazy-loading idiom.
-
= returnlikely benign Module-level lazy attribute loader in the openai SDK that caches resolved submodule attributes via globals().Reasoning
This is the standard lazy-loading __getattr__ pattern for Python package submodules: it raises AttributeError for unknown names and caches resolved values in globals(). The name is a module-local attribute name, not attacker-controlled input from the network, and the code is part of the openai SDK, a well-known legitimate package.
-
= returnlikely benign Lazy-loading module __getattr__ in the openai admin resources package that caches attributes in globals().Reasoning
Same standard lazy-import __getattr__ pattern with AttributeError fallback and globals caching; consistent with the openai SDK's generated resource packages.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/__init__.py:233:9= returnlikely benign Lazy-loading module __getattr__ for the openai admin organization resources package.Reasoning
Identical generated lazy-loader pattern in a nested openai SDK package; raises for unknown names and caches resolved attributes. No payload, decoding, or execution of external data.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/groups/__init__.py:68:9= returnlikely benign Lazy-loading module __getattr__ for openai organization groups resources.Reasoning
Same generated lazy-import __getattr__ with globals caching; benign SDK structure with no dynamic execution.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/__init__.py:230:9= returnlikely benign Lazy-loading module __getattr__ for openai organization projects resources.Reasoning
Standard lazy-loader __getattr__ caching attributes via globals in the openai SDK; no evidence of malicious behavior.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/groups/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ for openai project groups resources.Reasoning
Generated lazy-import __getattr__ pattern with AttributeError on miss and globals caching; typical of SDK packages.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/service_accounts/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ for openai project service account resources.Reasoning
Same lazy-loader pattern; caches submodule attributes by name in the module globals. Benign SDK code.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/projects/users/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ for openai project users resources.Reasoning
Generated lazy-import __getattr__ with globals caching and AttributeError fallback; no malicious indicators.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/admin/organization/users/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ for openai organization users resources.Reasoning
Standard lazy-loader __getattr__ pattern in the openai SDK package layout; benign.
-
= returnlikely benign Lazy-loading module __getattr__ for openai audio resources.Reasoning
Lazy-loading __getattr__ with globals caching, identical to the other openai SDK package initializers; no decoding or execution of external content.
-
= returnlikely benign Lazy-loading module __getattr__ for openai beta resources.Reasoning
Standard generated lazy-import __getattr__ in the openai beta resources package; benign.
-
= returnlikely benign Lazy-loading module __getattr__ for openai beta agents resources.Reasoning
Same lazy-loader pattern with globals caching; no suspicious behavior.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/environments/__init__.py:68:9= returnlikely benign Lazy-loading module __getattr__ for openai beta agent environments resources.Reasoning
Generated lazy-import __getattr__ with AttributeError fallback; typical SDK code.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/__init__.py:128:9= returnlikely benign Lazy-loading module __getattr__ for openai beta agent sessions resources.Reasoning
Standard lazy-loader __getattr__ caching submodule attributes in globals; benign.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/subagents/__init__.py:68:9= returnlikely benign Lazy-loading module __getattr__ for openai beta agent session subagents resources.Reasoning
Same generated lazy-import pattern; no evidence of obfuscation or malicious intent.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/subagents/turns/__init__.py:53:9= returnlikely benign Lazy-loading module __getattr__ for openai beta agent session subagent turns resources.Reasoning
Standard lazy-loader __getattr__ with globals caching in a deeply nested SDK package; benign and consistent with the rest of the package.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/sessions/turns/__init__.py:53:9= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
The snippet is the standard PEP 562 lazy-import pattern: a module-level __getattr__ raises AttributeError for unknown names and caches resolved submodule attributes via globals(). It only resolves names within the package's own module, and nothing here runs external input or executes code.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/agents/vaults/__init__.py:53:9= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Same PEP 562 lazy-import pattern: __getattr__ resolves a name and stores it in globals() for caching. It is a generated SDK package layout with no dynamic execution or encoded payload.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Standard lazy-attribute caching via globals() in a package __init__; the raise and assignment are ordinary module-attribute handling for the SDK's resource classes.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
The snippet is the usual PEP 562 __getattr__ with globals() caching, which is a common and legitimate way to defer imports in a large generated SDK. There is no sign of malicious payload.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Lazy module attribute resolution with caching into globals(); the AST pass flags the generic globals() write, but the code only exposes SDK symbols by name.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/beta/threads/runs/__init__.py:53:9= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Standard PEP 562 lazy import: __getattr__ raises for unknown names and caches known ones in globals(). This is a legitimate pattern for deferring submodule imports.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Lazy attribute loader with globals() caching, a well-known benign idiom for reducing import cost in SDK packages. Nothing in the snippet executes external data.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Same PEP 562 lazy-import idiom; the globals() write only memoizes an already-resolved attribute within this module.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Lazy __getattr__ with caching into globals(); the flagged pattern is the standard way to defer imports and has no network, shell, or decode behavior.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
PEP 562 lazy attribute resolution with memoization in globals(). This is ordinary package plumbing for a generated SDK.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Standard lazy import via module __getattr__ that caches into globals(). The snippet contains no dynamic execution or obfuscated strings.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Lazy-loading idiom using globals() memoization; the AST rule is generic and this instance is an expected SDK pattern.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
PEP 562 __getattr__ with caching into globals(); a legitimate deferred-import pattern with no malicious indicators in the snippet.
-
= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Standard module-level __getattr__ caching resolved names into globals(), a common lazy-import technique in Python packages. No encoded data or execution is present.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/fine_tuning/alpha/__init__.py:53:9= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Lazy-import __getattr__ with globals() caching, matching the rest of the SDK's package layout. Benign.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/fine_tuning/checkpoints/__init__.py:53:9= returnlikely benign Lazy-loading __getattr__ in a package __init__.py that caches resolved attributes into module globals.Reasoning
Same PEP 562 lazy-attribute pattern. The globals() write memoizes a resolved SDK submodule attribute and does not execute external content.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the OpenAI SDK package __init__.Reasoning
Standard lazy-loading module __getattr__ pattern caching resolved submodule attributes into globals; the name comes from attribute access on the module and is bounded by the module's own import map, with no external input or execution.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the live resources package.Reasoning
Same benign lazy-loading __getattr__ idiom used across the SDK; it only resolves known attribute names and raises AttributeError otherwise.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the realtime resources package.Reasoning
Standard lazy-loading pattern in a package __init__; no untrusted input reaches the name lookup.
-
info
warn→ info by reviewdynamic-attributesrc/openai/resources/realtime/translations/__init__.py:53:9= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the realtime translations package.Reasoning
Identical benign lazy-loading __getattr__ pattern; the flagged line only memoizes a resolved export.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the responses resources package.Reasoning
Standard lazy-import idiom for SDK submodules; the dynamic lookup is bounded and raises on unknown names.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the safety resources package.Reasoning
Benign lazy-loading module attribute pattern with no external execution or data source.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the skills resources package.Reasoning
Standard lazy-import __getattr__ idiom; resolves only the package's own exports.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the skills versions package.Reasoning
Same benign lazy-loading pattern in a nested package __init__.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the uploads resources package.Reasoning
Standard lazy-import module __getattr__ pattern; no malicious indicators.
-
= returnlikely benign Lazy-import __getattr__ caching attributes via globals() in the vector stores resources package.Reasoning
Benign lazy-loading idiom in the vector stores package __init__.
-
# Standardized test constants (matches TypeScript implementation) = =likely benign Test fixture webhook secret string that resembles base64.Reasoning
The flagged value is a test webhook secret constant with a base64-looking suffix; it is a test fixture, and raw-pass base64 hits on short strings have high false-positive rates.
-
= = = =likely benign Test fixture webhook signature string that resembles base64.Reasoning
A test signature constant used for webhook verification tests; plain test data, not an obfuscated payload.
-
# Compile once per worker, but execute with fresh globals for every case. returnlikely benign Test helper compiling a generated checker script for in-process execution.Reasoning
Compiles a script generated by a helper inside a test to run a dependency-security checker repeatedly; test harness code, not a dropper. Some doubt because the source is a generated program rather than a literal.
-
# the same checker and Git stub in-process; keep real CLI coverage below. =likely benign Test code compiling a fake git stub from a fixture file.Reasoning
Compiles a fake git stub script read from a test fixture file to run in-process during tests; this is test scaffolding for mocking subprocess calls.
-
returnlikely benign Test code executing a fake git stub in-process to mock subprocess calls.Reasoning
Executes the precompiled fake git stub with a fresh globals dict inside a test to simulate git output; test-only mocking, no network or shell payload.
-
likely benign A test in uv's test suite execs a program produced by a local helper and handles SystemExit from it.
Reasoning
The exec call runs the output of a local helper, compiled_security_dependency_floor_program(), with a minimal __name__ globals dict, and catches SystemExit. This is a test harness executing a program it generated itself, inside a test file of a package manager project. The snippet shows no network fetch, decoding, or obfuscation. The uncertainty is that exec of generated code is unusual and the helper's body is not shown, so it could in principle hide something.
-
return # type: ignore[no-any-return]likely benign A test utility evaluates a ForwardRef's string against a namespace to resolve type annotations.Reasoning
This is a standard forward-reference resolver for type-annotation tests: it evals the string form of a typing.ForwardRef against a supplied globals dict, and the type: ignore comment suggests a deliberate, understood use. The input comes from type annotations in test code, not from untrusted data, and the pattern is common in typing-related libraries.
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.
&&