Repository navigation
fix(security): harden Bedrock regions, query merges, and upload errors - #2410
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6b3d8245c7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e1493b33c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Independent two-pass review confirms the four existing unresolved P2 threads on the new recursive sanitizer. Please resolve those existing threads without duplicating their reports.
One additional lower-severity completeness issue: assign_single_source at src/internal/qs/utils.ts:230 still adopts nested objects without applying the same unsafe-key policy. This helper has no current production callers, so please either scope the documented hardening claim to actual supported callers or handle its values safely without expanding the graph-copying machinery.
Prefer the smallest bounded fix at the real input/ownership boundary over additional recursive graph-copying special cases.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 648923b26d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ee47782a10
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 66892a9ee5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 91913b2107
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
jbeckwith-oai
left a comment
There was a problem hiding this comment.
All prior query-sanitization findings are resolved: bounded graph traversal preserves aliases, cycles, supported exotic values, atomicity, and safe-key filtering across both helpers. Bedrock region validation and upload-error redaction are also covered. The documented custom-prototype Proxy limitation is an explicitly accepted compatibility tradeoff. All existing threads are resolved and checks pass.
Security fixes
__proto__,constructor, andprototypein public query merge/assignment helpers, including scalar and nested inputs, while preserving inherited protocols, target identity, and safeallowPrototypesbehavior.console.error; preserve ordered causes in a non-enumerablerejectionsproperty that remains private in JSON and normal Node error inspection.Only three handwritten implementation files and four handwritten regression files are changed. Generated SDK code, release policies, dependencies, and lockfiles are untouched. Multipart filename remediation is intentionally left to existing #2386; newly merged #2409 streaming behavior is preserved. Existing
Erroridentity and ES2020/browser compatibility remain intact; invalid AWS regions and unsafe query keys now fail closed.Verification
pnpm install --frozen-lockfile --ignore-scripts: all 796 dependency-policy entries validated.pnpm lint;pnpm exec tsc --pretty false;pnpm build.publintpasses with its existing unrelated vendored CommonJS warning.