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

Ability to disallow network requests from plugins #12354

Open
1 task done
jansol opened this issue May 27, 2024 · 4 comments
Open
1 task done

Ability to disallow network requests from plugins #12354

jansol opened this issue May 27, 2024 · 4 comments
Labels
enhancement [core label] extension infrastructure Feedback for extensions APIs, creation, management, etc network Network connectivity issues, protocols and services support security & privacy Data privacy issue, security vulnerabilities, etc

Comments

@jansol
Copy link
Contributor

jansol commented May 27, 2024

Check for existing issues

  • Completed

Describe the feature

There was a question on discord whether binaries downloaded by language plugins could be malicious. Organization IT admins are also frequently not very happy about random binaries getting downloaded from the internet so it would probably be good to have the option to disable it without preventing users from installing themes and language support or disabling network functionality entirely.

(yes this is far from trivial to enforce properly, but better to get the ball rolling on extension permissions sooner rather than later)

If applicable, add mockups / screenshots to help present your vision of the feature

No response

@jansol jansol added admin read Pending admin review enhancement [core label] triage Maintainer needs to classify the issue labels May 27, 2024
@Moshyfawn Moshyfawn added network Network connectivity issues, protocols and services support extension infrastructure Feedback for extensions APIs, creation, management, etc security & privacy Data privacy issue, security vulnerabilities, etc and removed triage Maintainer needs to classify the issue labels May 27, 2024
@versecafe
Copy link
Contributor

Can extensions even use the internet right now? Themes are an isolated JSON of colours, and the WASM binaries only have an output through the LSP handler, WASM shouldn't have access to the network at all, only WASIX and similar supersets get networking support. Is this more for when plugins widen to a more vscode style full featured system?

@jansol
Copy link
Contributor Author

jansol commented May 27, 2024

There is an API (the LSP handler) for them to download a binary release from github, unpack it and execute the binary. (So they can provide language servers that are installed and kept up to date automatically)

@versecafe
Copy link
Contributor

Isn't the WASM runtime isolated from the machine? it shouldn't have network or fs access just the buffer being passed in.

@jansol
Copy link
Contributor Author

jansol commented May 27, 2024

There is a "zed extension interface" exposed to the blobs (running within the WASM runtime) that lets them instruct the host Zed (outside of the WASM runtime) to download binaries from github and point to those those binaries when Zed is asking the extension for the path to a given language server binary in order to execute it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement [core label] extension infrastructure Feedback for extensions APIs, creation, management, etc network Network connectivity issues, protocols and services support security & privacy Data privacy issue, security vulnerabilities, etc
Projects
None yet
Development

No branches or pull requests

4 participants