Skip to content

fix(patch): cherry-pick 2ce1a69 to release/v0.64.0-preview.0-pr-29672 to patch version v0.64.0-preview.0 and create version 0.64.0-preview.1 - #29696

Merged
DavidAPierce merged 3 commits into
release/v0.64.0-preview.0-pr-29672from
hotfix/v0.64.0-preview.0/0.64.0-preview.1/preview/cherry-pick-2ce1a69/pr-29672
Oct 9, 2026
Merged

DavidAPierce merged 3 commits into
release/v0.64.0-preview.0-pr-29672from
hotfix/v0.64.0-preview.0/0.64.0-preview.1/preview/cherry-pick-2ce1a69/pr-29672

Conversation

@gemini-cli-robot

@gemini-cli-robot gemini-cli-robot commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

This PR automatically cherry-picks commit 2ce1a69 to patch version v0.64.0-preview.0 in the preview release to create version 0.64.0-preview.1.

Adding the following PRs to the preview build:
#29672
#29612
#29616

…ompound loops (#29672)

Co-authored-by: Keith Schaab <keith.schaab@gmail.com>
@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

📊 PR Size: size/XL

  • Lines changed: 3456
  • Additions: +3272
  • Deletions: -184
  • Files changed: 28

@DavidAPierce
DavidAPierce requested review from a team as code owners October 9, 2026 19:10
@github-actions github-actions Bot added the size/xl An extra large PR label Oct 9, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the security posture of the application by improving how shell commands are evaluated and monitored. It introduces logic to allow complex, compound commands when all parts are deemed safe, while simultaneously reducing operational friction by better distinguishing between benign POSIX flags and dangerous command-line arguments. These changes ensure that security policies are both more precise and less intrusive for legitimate user workflows.

Highlights

  • Policy Engine Enhancements: Updated the PolicyEngine to intelligently upgrade compound shell commands (such as loops and subshells) to ALLOW if all individual sub-commands are explicitly allowed and no security constraints are violated.
  • Untrusted Context Tracking: Improved the untrusted context tracker by introducing lists of safe and high-risk flags, significantly reducing false positives for common POSIX commands while maintaining robust detection of potential attack vectors.
  • Test Coverage: Added comprehensive test cases to verify policy upgrades for compound commands and to ensure the untrusted context tracker correctly handles shell variables and various flag formats.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@gemini-cli gemini-cli Bot added the status/need-issue Pull requests that need to have an associated issue. label Oct 9, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enables upgrading compound shell commands from ASK_USER to ALLOW when all decomposed sub-commands match explicit ALLOW rules and no safety boundaries are violated. It also refines the untrusted context tracker to minimize false positives by distinguishing between safe and high-risk flags. Feedback highlights a potential vulnerability where calling shellParse directly on a command without a try-catch block could lead to unhandled exceptions and crash the policy engine; wrapping this in a try-catch block is recommended for robust, fail-closed security.

Comment thread packages/core/src/policy/policy-engine.ts
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Size Change: +15.1 kB (+0.04%)

Total Size: 35.5 MB

Filename Size Change
./bundle/chunk-37T6O2SH.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-7BD6SXNZ.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-DT5RJCN4.js 0 B -668 kB (removed) 🏆
./bundle/chunk-EE4MBR22.js 0 B -13.7 kB (removed) 🏆
./bundle/chunk-QGAIFYHH.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-TY3EVMQ5.js 0 B -3.77 kB (removed) 🏆
./bundle/chunk-UY5VZYRQ.js 0 B -3.67 MB (removed) 🏆
./bundle/chunk-VHRLHGO2.js 0 B -16.7 MB (removed) 🏆
./bundle/core-HL3ZASYN.js 0 B -52.7 kB (removed) 🏆
./bundle/devtoolsService-DRXKG77S.js 0 B -147 kB (removed) 🏆
./bundle/gemini-XVTGBMKU.js 0 B -648 kB (removed) 🏆
./bundle/interactiveCli-FH2UP536.js 0 B -1.31 MB (removed) 🏆
./bundle/liteRtServerManager-JT4V7BV2.js 0 B -2.08 kB (removed) 🏆
./bundle/oauth2-provider-ZUSLBT2F.js 0 B -9.12 kB (removed) 🏆
./bundle/chunk-2HMKVGZM.js 3.68 MB +3.68 MB (new file) 🆕
./bundle/chunk-CJ6EG2U3.js 3.77 kB +3.77 kB (new file) 🆕
./bundle/chunk-ENUQ2YBT.js 13.7 kB +13.7 kB (new file) 🆕
./bundle/chunk-FRQCAXCN.js 669 kB +669 kB (new file) 🆕
./bundle/chunk-IFUQHL2B.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-M26VOGMP.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-PC7WAQCD.js 16.8 MB +16.8 MB (new file) 🆕
./bundle/chunk-ZQPWPSJ6.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/core-ZZA344QK.js 53 kB +53 kB (new file) 🆕
./bundle/devtoolsService-B54EJVYM.js 147 kB +147 kB (new file) 🆕
./bundle/gemini-TX4E62LB.js 648 kB +648 kB (new file) 🆕
./bundle/interactiveCli-A2J5MYPH.js 1.31 MB +1.31 MB (new file) 🆕
./bundle/liteRtServerManager-R7WXFDRX.js 2.08 kB +2.08 kB (new file) 🆕
./bundle/oauth2-provider-SIGEBQHZ.js 9.12 kB +9.12 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-664ZODQF.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-L5V3KIDT.js 1.62 kB 0 B
./bundle/chunk-L6PII3GR.js 41.5 kB 0 B
./bundle/cleanup-BOEQTS2D.js 0 B -902 B (removed) 🏆
./bundle/devtools-TYCPOPV3.js 683 kB 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.09 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/https-proxy-agent-JWL7GO47.js 479 B 0 B
./bundle/multipart-parser-E7RMVJWU.js 11.7 kB 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 8.69 kB 0 B
./bundle/sandbox-macos-permissive-proxied.sb 8.97 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 6.86 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 7.06 kB 0 B
./bundle/sandbox-macos-strict-open.sb 8.23 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 8.44 kB 0 B
./bundle/src-65GKNWUJ.js 45.4 kB 0 B
./bundle/src-U45KTUYT.js 45.7 kB 0 B
./bundle/src-XZYPU6PJ.js 352 kB 0 B
./bundle/start-7TUTB3J5.js 0 B -622 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/worker/worker-entry.js 363 kB 0 B
./bundle/cleanup-NR2XJ5YV.js 902 B +902 B (new file) 🆕
./bundle/start-VVZ2ZWZY.js 622 B +622 B (new file) 🆕

compressed-size-action

@DavidAPierce
DavidAPierce enabled auto-merge (squash) October 9, 2026 19:17
@DavidAPierce
DavidAPierce merged commit 581fdbb into release/v0.64.0-preview.0-pr-29672 Oct 9, 2026
28 checks passed
@DavidAPierce
DavidAPierce deleted the hotfix/v0.64.0-preview.0/0.64.0-preview.1/preview/cherry-pick-2ce1a69/pr-29672 branch October 9, 2026 19:29
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

✅ 67 tests passed successfully on gemini-3-flash-preview.

🧠 Model Steering Guidance

This PR modifies files that affect the model's behavior (prompts, tools, or instructions).

  • ⚠️ Consider adding Evals: No behavioral evaluations (evals/*.eval.ts) were added or updated in this PR. Consider adding a test case to verify the new behavior and prevent regressions.
  • 🚀 Maintainer Reminder: Please ensure that these changes do not regress results on benchmark evals before merging.

This is an automated guidance message triggered by steering logic signatures.

This branch was successfully deployed

2 active deployments
prod — f203419f Deployed Oct 9, 2026 by DavidAPierce via trigger-patch-release #389
eval-gate — f203419f Deployed Oct 9, 2026 by DavidAPierce via Evaluate Steering & Regressions #2160
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/l A large sized PR size/xl An extra large PR status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants