Add extensionRegistryURI setting to change where the registry is read from#20463
Add extensionRegistryURI setting to change where the registry is read from#20463kevinjwang1 wants to merge 4 commits intogoogle-gemini:mainfrom
Conversation
Summary of ChangesHello @kevinjwang1, 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 flexibility of extension management within the CLI by introducing a new experimental configuration setting. Users can now define a custom URI for the extension registry, which can point to either a web-based JSON file or a local file on their system. This change allows for greater control over where extension definitions are sourced, supporting custom or offline extension scenarios. Highlights
Changelog
Activity
Using Gemini Code AssistThe 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
Customization To customize 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 Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. 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. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new experimental setting extensionRegistryURI to allow users to specify a custom source for the extension registry. However, this setting is vulnerable to hijacking via workspace-level configuration, which could lead to Path Traversal and SSRF vulnerabilities, allowing attackers to read sensitive local files or trick users into installing malicious extensions. Additionally, a critical caching issue in the ExtensionRegistryClient could lead to incorrect data being displayed when the registry URI is changed. It is recommended to guard the setting with a workspace trust check, validate the URI to prevent access to internal network resources, and address the caching problem.
Summary
Add a new experimental setting called extensionRegistryURI to allow users to modify where the extension registry is read from. If unset, the default gemini cli registry is used.
Related Issues
Fixes https://github.com/google-gemini/maintainers-gemini-cli/issues/1404