Skip to content

docs: add shared responsibility model section for multi-user environments#27224

Open
galz10 wants to merge 1 commit into
mainfrom
galzahavi/fix/docs-security-topic
Open

docs: add shared responsibility model section for multi-user environments#27224
galz10 wants to merge 1 commit into
mainfrom
galzahavi/fix/docs-security-topic

Conversation

@galz10
Copy link
Copy Markdown
Collaborator

@galz10 galz10 commented May 18, 2026

Summary

Adds a "Shared Responsibility Model" section to SECURITY.md to clarify that Gemini CLI is designed for single-user environments. It provides best practices for users operating on shared devices or multi-user systems.

Details

The documentation now explicitly outlines recommendations for multi-user environments. This includes guidance on restricting directory permissions for ~/.gemini, utilizing local (per-user) installations instead of global ones, and isolating execution paths to maintain individual user boundaries.

Related Issues

How to Validate

Review the newly added "Shared Responsibility Model" section in SECURITY.md to ensure the guidance is clear and helpful.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@galz10 galz10 requested a review from a team as a code owner May 18, 2026 18:32
@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 enhances the project's security documentation by clarifying the intended single-user design of the Gemini CLI. It provides actionable recommendations for users in shared environments to mitigate risks related to cross-user data leakage and unauthorized access.

Highlights

  • Documentation Update: Added a new 'Shared Responsibility Model' section to SECURITY.md.
  • Security Guidance: Provided best practices for users operating in multi-user environments, including directory permission restrictions and installation recommendations.
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.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 18, 2026

Size Change: -4 B (0%)

Total Size: 33.9 MB

Filename Size Change
./bundle/chunk-5RQZVXSO.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-B4ZBSNGI.js 0 B -659 kB (removed) 🏆
./bundle/chunk-CYSOWMYV.js 0 B -2.79 MB (removed) 🏆
./bundle/chunk-HQ25Z5WH.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-LK6LMBWW.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-PVTNDYNT.js 0 B -12.5 kB (removed) 🏆
./bundle/chunk-RYM5ZER5.js 0 B -16.4 MB (removed) 🏆
./bundle/chunk-Y55YBXWG.js 0 B -3.77 kB (removed) 🏆
./bundle/core-MPA33WJU.js 0 B -49.4 kB (removed) 🏆
./bundle/devtoolsService-SN5OGPCV.js 0 B -28 kB (removed) 🏆
./bundle/gemini-OZZ3GUJY.js 0 B -588 kB (removed) 🏆
./bundle/interactiveCli-KJAJ6COD.js 0 B -1.3 MB (removed) 🏆
./bundle/liteRtServerManager-LS5LOLMH.js 0 B -2.08 kB (removed) 🏆
./bundle/oauth2-provider-RU5DG4XP.js 0 B -9.12 kB (removed) 🏆
./bundle/chunk-5GXEPOFZ.js 3.77 kB +3.77 kB (new file) 🆕
./bundle/chunk-DKRATFMS.js 659 kB +659 kB (new file) 🆕
./bundle/chunk-HWAXWLNO.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-IV4NE6BM.js 2.79 MB +2.79 MB (new file) 🆕
./bundle/chunk-LPUNW6ZF.js 16.4 MB +16.4 MB (new file) 🆕
./bundle/chunk-RHQYJ7MU.js 12.5 kB +12.5 kB (new file) 🆕
./bundle/chunk-TF32WCBG.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-VBEBYFOP.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/core-AOYQA37N.js 49.4 kB +49.4 kB (new file) 🆕
./bundle/devtoolsService-UOHBHJ3T.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-LQDZNHSZ.js 588 kB +588 kB (new file) 🆕
./bundle/interactiveCli-6KEEOA3G.js 1.3 MB +1.3 MB (new file) 🆕
./bundle/liteRtServerManager-7R2J4QKN.js 2.08 kB +2.08 kB (new file) 🆕
./bundle/oauth2-provider-HQJDGWGN.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-6HI7VNOG.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-TUDYL3X4.js 40.3 kB 0 B
./bundle/cleanup-DZI65CTW.js 0 B -902 B (removed) 🏆
./bundle/devtools-V7NE4CQA.js 696 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.07 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-AVGR4LHR.js 490 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-LG4OHBW7.js 233 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-VSTJL4GV.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 361 kB 0 B
./bundle/cleanup-AGJ6NBSM.js 902 B +902 B (new file) 🆕
./bundle/start-DZNTJR6B.js 622 B +622 B (new file) 🆕

compressed-size-action

Copy link
Copy Markdown
Contributor

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

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 updates SECURITY.md to include a 'Shared Responsibility Model' section, outlining security best practices for using the Gemini CLI in multi-user environments. The review feedback highlights documentation inconsistencies, specifically regarding platform-specific commands for directory permissions and contradictions with the global installation instructions provided in the README.md.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment thread SECURITY.md
Comment on lines +22 to +25
- **Restrict directory permissions:** Ensure your `~/.gemini` configuration
directory is readable and writable only by your user account (for example,
`chmod 700 ~/.gemini`). Gemini CLI requires write permissions to this
directory.
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.

security-high high

The provided example chmod 700 ~/.gemini is specific to Unix-like systems and will not work on Windows. Since the document explicitly addresses Windows users in other sections (e.g., the execution paths bullet), it should provide a platform-neutral instruction or a Windows-specific equivalent to ensure all users can effectively secure their configuration directory. Inconsistent security guidance across platforms can lead to users on unsupported platforms skipping critical security steps.

Suggested change
- **Restrict directory permissions:** Ensure your `~/.gemini` configuration
directory is readable and writable only by your user account (for example,
`chmod 700 ~/.gemini`). Gemini CLI requires write permissions to this
directory.
- Restrict directory permissions: Ensure your configuration directory (typically ~/.gemini) is readable and writable only by your user account (e.g., chmod 700 ~/.gemini on Unix). Gemini CLI requires write permissions to this directory.
References
  1. Maintain consistency in documentation. When information about a feature is present in multiple documents, ensure all instances are updated or removed together to avoid contradictions.

Comment thread SECURITY.md Outdated
Comment on lines +26 to +27
- **Avoid global installations:** Install Gemini CLI locally per-user rather
than globally to minimize the risk of shared dependencies being compromised.
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.

security-high high

This recommendation to avoid global installations directly contradicts the primary installation instructions in the README.md, which prominently feature npm install -g, brew install, and port install. This inconsistency can confuse users about the recommended and secure way to install the tool. Please either update the README.md to prioritize more secure alternatives like npx or clarify in SECURITY.md the specific conditions under which global installations pose a risk in multi-user environments.

Suggested change
- **Avoid global installations:** Install Gemini CLI locally per-user rather
than globally to minimize the risk of shared dependencies being compromised.
- Avoid global installations: Where possible, use npx or install Gemini CLI locally per-user rather than globally to minimize the risk of shared dependencies being compromised in multi-user environments.
References
  1. Maintain consistency in documentation. When information about a feature is present in multiple documents, ensure all instances are updated or removed together to avoid contradictions.

@gemini-cli gemini-cli Bot added the status/need-issue Pull requests that need to have an associated issue. label May 18, 2026
@galz10 galz10 force-pushed the galzahavi/fix/docs-security-topic branch from b00ac0d to e12359b Compare May 20, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

1 participant