w3c / webextensions

Charter and administrivia for the WebExtensions Community Group (WECG)
Other
595 stars 56 forks source link

request: provide sandboxed execution environment for template engines and data transformation #18

Open twschiller opened 3 years ago

twschiller commented 3 years ago

Context/Background

Template engines (e.g., Mustache, Handlebars, Nunjucks, jq) are valuable for providing end-user customization without code.

However, template engines pose a security risk when used with user-defined templates (e.g., XSS and prototype pollution)

Request

Design Considerations

Prior Art:

Related Information:

Jack-Works commented 3 years ago

I'd like to use SES (Secure ECMAScript) for this job. An implementation here https://github.com/endojs/endo/tree/master/packages/ses but it requires eval which is banned in the manifest V3

kumavis commented 3 years ago

I'd like to use LavaMoat (based on SES) to help limit risk of supplychain attacks

Jack-Works commented 3 years ago

I'd like to use LavaMoat (based on SES) to help limit risk of supplychain attacks

I like it too, but I'm worried about eval will be restricted (which is required to implement SES for now) on manifest V3. I don't know if we can have things like Trusted Types to make SES work with strict CSP.