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

Hardened URL vetted shim #2635

Open
kriskowal opened this issue Nov 18, 2024 · 0 comments
Open

Hardened URL vetted shim #2635

kriskowal opened this issue Nov 18, 2024 · 0 comments
Labels
confinement Pertaining to confinement of guest programs. enhancement New feature or request

Comments

@kriskowal
Copy link
Member

What is the Problem Being Solved?

harden(URL) is not sufficient to make URL safe to share among fearlessly coöperating compartments because some methods return objects with prototypes that are not among the shared intrinsics, particularly the search param iterator.

Description of the Design

I propose the creation of an @endo/url package with an @endo/url/shim.js exported module that can be included in @endo/init and harden the entirety of URL if it is present, to the extent it is implemented. The module will need its own notion of permits and should remove unknown properties. This might entail ejection of a utility package from ses.

Security Considerations

harden(URL) is not sufficient to make URL safe to share between fearlessly coöperating compartments. This change should make it safe to endow URL in globals.

XS does not provide URL and Agoric’s platform on XS does not rely on a URL being present. There are no plans to introduce one.

Scaling Considerations

Some overhead for vat initialization.

Test Plan

To be designed.

Compatibility Considerations

Some, to be enumerated.

Upgrade Considerations

Some, to be enumerated.

@kriskowal kriskowal added enhancement New feature or request confinement Pertaining to confinement of guest programs. labels Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
confinement Pertaining to confinement of guest programs. enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant