electron / electron/electron

AppContainer Process Isolation on Windows 10

Open
#14,548 0 comments 4 reactions 2 assignees Assigned to @felixrieseberg View on GitHub
enhancement :sparkles: platform/windows
Dominant language
C++
Stars
123k
Forks
17.5k
Avg merge
14h 28m
Merged PRs (30d)
870

Description

Using tools like [`electron-windows-store`](https://github.com/felixrieseberg/electron-windows-store), Electron can be packaged as an `appx` app and run in the same environment as Windows Store apps, commonly known as UWP apps. They're still `exe` binaries, they're just running as part of a package and with a package identity attached.

While those applications are running within a scoped amount of virtualization (namely, filesystem and registry redirection), they're not actually running in a process isolation sandbox like their proper UWP siblings. Their capability is therefore ``.

With RS5 (October 2018 Update), Windows 10 introduces "partial trust" that'll allow applications running in the desktop bridge to make use of the same app container process isolation security proper UWP applications.

### Getting Electron ready for AppContainer
- [ ] **Get final appxmanifest.xml for partial trust applications from Microsoft**
- [ ] **Create a simple test harness to create and test partial trust Electron apps**
- [ ] **Verify which APIs need UWP additions to function within sandbox**
- [ ] **Extend non-functional APIs with UWP APIs**
We know, as an example, that `shell.*` APIs do not work. We'll need to augment those APIs to use UWP counterparts when [`isRunningInDesktopBridge()`](https://github.com/electron/electron/blob/163e2d35272a1269394add1b941ad961ad801c31/brightray/common/application_info_win.cc#L67-L107) returns `true`. We need to audit every single API and make sure that they either work fine or are documented as non-functional.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.