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

Supervisor: Option to use native IPC instead of HTTP/WebSockets #5800

Open
jmcphers opened this issue Dec 18, 2024 · 0 comments
Open

Supervisor: Option to use native IPC instead of HTTP/WebSockets #5800

jmcphers opened this issue Dec 18, 2024 · 0 comments
Labels
area:kallichore Issues related to the new kernel supervisor enhancement New feature or request support

Comments

@jmcphers
Copy link
Collaborator

Positron's kernel supervisor currently communicates over HTTP and WebSockets with Positron. This has the advantage of being well integrated with tooling (codegen tools, testing tools, Workbench, etc.) and being easy to introspect. However, it also has some disadvantages.

  1. It can make the supervisor's activity look malicious to heuristic virus scanners. Launching an HTTP server and then starting executables, however harmless, can be misinterpreted as suspicious activity. See Kallichore block by WithSecure Antivirus - Code security HEUR/APC #5533 for an example (although it is worth noting that we cannot be sure it was the HTTP behavior that tripped the heuristic in this case).
  2. It makes the supervisor/Positron interface dependent on (and vulnerable to) system level HTTP proxy and configuration issues. See Supervisor: Fails to connect when http_proxy is set #5481 (comment) for an example.
  3. Some operating systems will prompt the user to allow kcserver to access the network. That is undesirable since this service should be an internal Positron implementation detail, and also users can't be expected to know what kcserver is or why it wants to use the network.
  4. Going through the full HTTP/TCP network stack adds more overhead than other forms of IPC.

Examples of IPC mechanisms we could use:

@jmcphers jmcphers added the area:kallichore Issues related to the new kernel supervisor label Dec 18, 2024
@juliasilge juliasilge added enhancement New feature or request support labels Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:kallichore Issues related to the new kernel supervisor enhancement New feature or request support
Projects
None yet
Development

No branches or pull requests

2 participants