Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restrict access to files or paths #1065

Open
thomax opened this issue Feb 4, 2025 · 2 comments
Open

Restrict access to files or paths #1065

thomax opened this issue Feb 4, 2025 · 2 comments
Labels
enhancement New feature or request

Comments

@thomax
Copy link

thomax commented Feb 4, 2025

Sorry in advance if this has come up earlier!

When discussing code with Goose, it's very practical to give it access to the OS path where the code project is located. However, this would give Goose access to e.g. .env files nested within the project, which in turn might contain secret keys or passwords. Is there a way to make Goose and all of its extensions unable to access some files or paths? If not, this is an important feature any security minded developer needs. A .gooseignore file (just like .gitignore) could be one way of solving this?

@salman1993 salman1993 added the enhancement New feature or request label Feb 4, 2025
@ZhenLian
Copy link

ZhenLian commented Feb 5, 2025

If no one else is currently working on this, I'd like to take a look :)

jasonkneen added a commit to jasonkneen/maverick that referenced this issue Feb 6, 2025
Fixes block#1065

Add support for restricting access to files or paths using a `.gooseignore` file.

* **`crates/goose-cli/src/commands/configure.rs`**
  - Add logic to read the `.gooseignore` file and restrict access to specified files and paths.
  - Update the `handle_configure` function to include the `.gooseignore` file handling.
  - Ensure the `.gooseignore` file is read and applied during the configuration process.

* **`crates/goose/src/config/extensions.rs`**
  - Add logic to handle the `.gooseignore` file in the `ExtensionManager`.
  - Update the `get_config` function to include the `.gooseignore` file handling.
  - Ensure the `.gooseignore` file is read and applied when getting extension configurations.

* **`documentation/docs/guides/file-management.md`**
  - Add instructions on how to use the `.gooseignore` file.
  - Include examples of how to specify files and paths to be ignored.
  - Update the documentation to reflect the new feature of restricting access to files or paths.

* **`.gooseignore`**
  - Add a new `.gooseignore` file in the root directory.
  - Include examples of files and paths to be ignored.
  - Ensure the `.gooseignore` file is properly formatted and documented.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/block/goose/issues/1065?shareId=XXXX-XXXX-XXXX-XXXX).
@baxen
Copy link
Collaborator

baxen commented Feb 7, 2025

@ZhenLian contribution very welcome!

I think a .gooseignore is a great idea and we could ensure it is skipped in file reads at a minimum

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants