Makes sense! I'll send a new intent.

On Mon, Apr 21, 2025 at 6:37 PM Mike Taylor <miketa...@chromium.org> wrote:

> Given that this is described as "very different", I think a new I2S would
> be helpful. Or if you decide that's too annoying, at the very least could
> you write up a minimal explainer (inline is fine) that describes the diff
> from require-sri-for, and create a new chromestatus entry?
> On 4/17/25 11:44 PM, Yoav Weiss (@Shopify) wrote:
>
> Hey folks!
>
> I now have a CL
> <https://chromium-review.googlesource.com/c/chromium/src/+/6408111> for
> Integrity-Policy (that also removes the require-sri-for implementation),
> and a PR <https://github.com/w3c/webappsec-subresource-integrity/pull/133>
> is being reviewed.
>
> Should I send a new intent for this? Or can we assume that this intent is
> still valid, despite the now inaccurate name?
>
> On Thu, Mar 27, 2025 at 10:04 PM Yoav Weiss (@Shopify) <
> yoavwe...@chromium.org> wrote:
>
>> Thanks for reviewing!!
>>
>> In discussions with Mozilla folk, we eventually landed on a very
>> different API shape
>> <https://github.com/w3c/webappsec-subresource-integrity/pull/129#issuecomment-2757716392>,
>> to enable them to expand the concept of "integrity policy", rather than
>> doing this as a one-off CSP directive. As a result, I'd need to revamp the
>> implementation and spec. I'll let y'all know when it's time to reapprove (I
>> can do that as a separate intent, if that would be more convenient)
>>
>> On Wed, Mar 26, 2025 at 11:02 AM Chris Harrelson <chris...@chromium.org>
>> wrote:
>>
>>> LGTM3
>>>
>>> On Tue, Mar 25, 2025 at 6:48 AM Mike Taylor <miketa...@chromium.org>
>>> wrote:
>>>
>>>>
>>>> On 3/24/25 10:24 PM, Domenic Denicola wrote:
>>>>
>>>>
>>>>
>>>> On Mon, Mar 24, 2025 at 4:37 PM Yoav Weiss (@Shopify) <
>>>> yoavwe...@chromium.org> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Mar 24, 2025 at 6:45 AM Domenic Denicola <dome...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Great to hear!
>>>>>>
>>>>>> I see you've already updated the spec PR. My instinct is that we
>>>>>> should give folks a week-ish to react to the new name, finish the spec
>>>>>> review, etc. What do you think?
>>>>>>
>>>>>
>>>>> Normally I would think this makes perfect sense. But given the 136
>>>>> branch point a week from now, I prefer one of the two options:
>>>>> * Enable the flag in 136 before it branches and revert in the unlikely
>>>>> case there's some disagreement on the spelling.
>>>>>
>>>>
>>>> This option sounds good to me. LGTM1.
>>>>
>>>> Me too, LGTM2
>>>>
>>>>
>>>>
>>>>> * Get help from Google folks to Finch enable it in 136 after branch
>>>>> point.
>>>>>
>>>>> Does that make sense?
>>>>>
>>>>>
>>>>>> (Also, I can't quite understand what's blocking the spec PR from
>>>>>> landing... I guess there's still some discussion about whether the bar is
>>>>>> "2 interested implementers" or "2 actively implementing implementers"?
>>>>>> Maybe it's worth poking to see if you can get more clarity on that?)
>>>>>>
>>>>>
>>>>> I believe it's held back on getting SRI L2 to FPWD
>>>>> <https://lists.w3.org/Archives/Public/public-webappsec/2025Mar/0011.html>
>>>>> (as a future Living Standard), and then potentially on getting a working
>>>>> mode agreed on, and for the PR to meet it. So it may take a while to land
>>>>> the PR.
>>>>>
>>>>> +Mike West <mk...@chromium.org> - Is my understanding correct?
>>>>>
>>>>>
>>>>>> On Mon, Mar 24, 2025 at 2:28 PM Yoav Weiss (@Shopify) <
>>>>>> yoavwe...@chromium.org> wrote:
>>>>>>
>>>>>>> Following discussions
>>>>>>> <https://github.com/w3c/webappsec/blob/main/meetings/2025/2025-03-19-minutes.md#require-sri-for-compatibility-and-spelling>
>>>>>>> at WebAppSec and the WAICT
>>>>>>> <https://docs.google.com/document/d/16-cvBkWYrKlZHXkWRFvKGEifdcMthUfv-LxIbg6bx2o/edit?tab=t.0>
>>>>>>> proposal, I'm renaming the directive to `integrity-required`. (CL
>>>>>>> <https://chromium-review.googlesource.com/c/chromium/src/+/6382018>)
>>>>>>>
>>>>>>> That would also reduce the compatibility risk to zero AFAICT.
>>>>>>>
>>>>>>> On Monday, March 10, 2025 at 10:55:02 AM UTC+1 Yoav Weiss wrote:
>>>>>>>
>>>>>>>> FWIW, I'm planning to discuss
>>>>>>>> <https://github.com/w3c/webappsec/issues/668#issuecomment-2709995028>
>>>>>>>> a syntax change at next week's WebAppSec meeting, that can help us 
>>>>>>>> avoid
>>>>>>>> these compat issues.
>>>>>>>>
>>>>>>>> On Tue, Feb 25, 2025 at 7:54 PM Yoav Weiss (@Shopify) <
>>>>>>>> yoavwe...@chromium.org> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Feb 25, 2025 at 6:08 PM Mike Taylor <
>>>>>>>>> miketa...@chromium.org> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 2/24/25 4:24 PM, Yoav Weiss (@Shopify) wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Feb 24, 2025 at 7:18 PM Mike Taylor <
>>>>>>>>>> miketa...@chromium.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> On 2/21/25 8:33 AM, Yoav Weiss (@Shopify) wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thursday, February 20, 2025 at 1:56:59 PM UTC+1 Yoav Weiss
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thursday, February 20, 2025 at 11:47:00 AM UTC+1 Yoav Weiss
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Contact emailsyoavwe...@chromium.org
>>>>>>>>>>>
>>>>>>>>>>> Explainerhttps://github.com/w3c/webappsec-subresource-inte
>>>>>>>>>>> grity/pull/129#:~:text=for%20some%20assets.-,require%2Dsr
>>>>>>>>>>> i%2Dfor%20CSP%20directive,-Subresource%2DIntegrity%20
>>>>>>>>>>>
>>>>>>>>>>> Specificationhttps://github.com/w3c/webappsec-subresource-
>>>>>>>>>>> integrity/pull/129
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> The feature and PR were discussed
>>>>>>>>>>> <https://github.com/w3c/webappsec/blob/main/meetings/2025/2025-02-19-minutes.md#reviving-require-sri-for>
>>>>>>>>>>> at the WebAppSec WG call.
>>>>>>>>>>>
>>>>>>>>>>> No objection beyond questions on whether we'd need to expand
>>>>>>>>>>> this to cover stylesheets as well. We'd be able to do that in the 
>>>>>>>>>>> future
>>>>>>>>>>> (as a separate intent) if needed.
>>>>>>>>>>>
>>>>>>>>>>> Summary
>>>>>>>>>>>
>>>>>>>>>>> The `require-sri-for` directive gives developers the ability to
>>>>>>>>>>> assert that every resource of a given type needs to be integrity 
>>>>>>>>>>> checked.
>>>>>>>>>>> If a resource of that type is attempted to be loaded without 
>>>>>>>>>>> integrity
>>>>>>>>>>> metadata, that attempt will fail and trigger a CSP violation 
>>>>>>>>>>> report. This
>>>>>>>>>>> intent covers the "script" value of this directive.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Blink componentBlink>SecurityFeature>ContentSecurityPolicy
>>>>>>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESecurityFeature%3EContentSecurityPolicy%22>
>>>>>>>>>>>
>>>>>>>>>>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/1048
>>>>>>>>>>>
>>>>>>>>>>> TAG review statusPending - No response just yet
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Risks
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Interoperability and Compatibility
>>>>>>>>>>>
>>>>>>>>>>> On the compatibility front:
>>>>>>>>>>>
>>>>>>>>>>> This directive was already implemented in the past, and there
>>>>>>>>>>> are some developer docs
>>>>>>>>>>> <https://udn.realityripple.com/docs/Web/HTTP/Headers/Content-Security-Policy/require-sri-for>
>>>>>>>>>>> that still describe it. The current PR and implementation did not 
>>>>>>>>>>> diverge
>>>>>>>>>>> from the past implementation.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> If developers deployed the feature in the past and are now
>>>>>>>>>>> relying on it *not really working*, that may result in
>>>>>>>>>>> surprising breakage. The HTTPArchive shows *0.0011% of page
>>>>>>>>>>> responses* (178 out of 15760519) have an existing
>>>>>>>>>>> `require-sri-for` directive. That's an upper bound - only those that
>>>>>>>>>>> enforce scripts, and have no integrity attributes on some scripts 
>>>>>>>>>>> may get
>>>>>>>>>>> broken.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Doing some more HA digging I found that it's 153 sites, which is
>>>>>>>>>>> not significantly different.
>>>>>>>>>>> I downloaded their URLs
>>>>>>>>>>> <https://docs.google.com/spreadsheets/d/1NlFHLytc8lQcdP5FXXDltKEPQVE0e8oyjw9k1S-9KPI/edit?usp=sharing>
>>>>>>>>>>>  and
>>>>>>>>>>> started going to these sites with the feature enabled.
>>>>>>>>>>> Of those 153, 22 had any blocked assets, 9 had broken
>>>>>>>>>>> functionality or layout and 1 had missing ads.
>>>>>>>>>>> Non-visiblity broken but blocked sites mostly had their
>>>>>>>>>>> analytics blocked.
>>>>>>>>>>>
>>>>>>>>>>> Extrapolating that data brings us to 0.000158% for any blocked
>>>>>>>>>>> assets, and 0.000065% for broken functionality.
>>>>>>>>>>>
>>>>>>>>>>> I'm planning to reach out to the broken sites and make them
>>>>>>>>>>> aware of this change. Many of them seem to be coming from a single 
>>>>>>>>>>> provider
>>>>>>>>>>> (similar site and breakage).
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> I also found ~3500 sites that have the `require-sri-for` string
>>>>>>>>>>> in their response bodies (and hence may have it applied).
>>>>>>>>>>> I put together a script that so far scanned ~1800 of them and
>>>>>>>>>>> found no blocked assets. So, it seems like the risk is very low on 
>>>>>>>>>>> that
>>>>>>>>>>> front.
>>>>>>>>>>>
>>>>>>>>>>> Thanks, I appreciate you digging in to understand the possible
>>>>>>>>>>> risks. My understanding of the compat risk goes something like 
>>>>>>>>>>> (please let
>>>>>>>>>>> me know if I'm missing something):
>>>>>>>>>>>
>>>>>>>>>>> 1. This feature never really shipped, but was implemented behind
>>>>>>>>>>> a flag.
>>>>>>>>>>>
>>>>>>>>>>> 2. Early adopter developers (or menu framework authors?) added
>>>>>>>>>>> require-sri-for for some scripts that they wanted to lock down
>>>>>>>>>>>
>>>>>>>>>> Tiny correction: they added it to the document's CSP, not
>>>>>>>>>> specific scripts.
>>>>>>>>>>
>>>>>>>>>>> (to prevent 3rd-party attackers from modifying them, etc).
>>>>>>>>>>>
>>>>>>>>>>> 3. Now, you actually ship the feature.
>>>>>>>>>>>
>>>>>>>>>>> That means the risks are:
>>>>>>>>>>>
>>>>>>>>>>> a) Some CDN was compromised at some point, and now some sketchy
>>>>>>>>>>> scripts will fail to load. Seems like that's security positive, 
>>>>>>>>>>> even if it
>>>>>>>>>>> surprises users or developers.
>>>>>>>>>>>
>>>>>>>>>>> b) Perhaps more likely, a page was redesigned and they updated
>>>>>>>>>>> their analytics provider but didn't remember to add hashes. Now 
>>>>>>>>>>> some things
>>>>>>>>>>> don't work.
>>>>>>>>>>>
>>>>>>>>>> I suspect it's
>>>>>>>>>> c) they added the header but never actually tested with the
>>>>>>>>>> feature enabled, as it never shipped.
>>>>>>>>>>
>>>>>>>>>> It seems like they added the CSP header, but never added an
>>>>>>>>>> "integrity" attribute to many/most of their scripts.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> From your sheet (which is great, thanks), it seems like largest
>>>>>>>>>>> impact is busted menus. Is this a single library? Or common pattern?
>>>>>>>>>>>
>>>>>>>>>>> It seems like a common provider. 6 out of the 9 sites with
>>>>>>>>>> issues are Canadian health/edu related sites.
>>>>>>>>>>
>>>>>>>>>> Breaking health/edu-releated sites is not good...
>>>>>>>>>>
>>>>>>>>> Indeed, although I'm not sure how load-bearing they are..
>>>>>>>>>
>>>>>>>>>> When broken, is it cosmetic, or are the links in the menu still
>>>>>>>>>> accessible? (I see you're gathering contact info - let me know if 
>>>>>>>>>> you need
>>>>>>>>>> help with that.)
>>>>>>>>>>
>>>>>>>>> It seems like the desktop view is functional, but the mobile
>>>>>>>>> view's hamburger menu is not working (at least in some cases).
>>>>>>>>>
>>>>>>>>>> Assuming we can sort out the menu breakage somehow, I think for
>>>>>>>>>> the rest - the best we can do is roll it out and be ready to 
>>>>>>>>>> killswitch if
>>>>>>>>>> needed.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *Gecko*: No signal (https://github.com/mozilla/st
>>>>>>>>>>> andards-positions/issues/1173)
>>>>>>>>>>>
>>>>>>>>>>> *WebKit*: No signal (https://github.com/WebKit/sta
>>>>>>>>>>> ndards-positions/issues/458)
>>>>>>>>>>>
>>>>>>>>>>> *Web developers*: Shopify is interested in this. I suspect PCIv4
>>>>>>>>>>> <https://docs.google.com/document/d/1RcUpbpWPxXTyW0Qwczs9GCTLPD3-LcbbhL4ooBUevTM/edit?tab=t.0>
>>>>>>>>>>>  would
>>>>>>>>>>> make some developers interested in making sure their documents' 
>>>>>>>>>>> scripts
>>>>>>>>>>> have complete integrity checks.
>>>>>>>>>>>
>>>>>>>>>>> *Other signals*:
>>>>>>>>>>>
>>>>>>>>>>> WebView application risks
>>>>>>>>>>>
>>>>>>>>>>> Does this intent deprecate or change behavior of existing APIs,
>>>>>>>>>>> such that it has potentially high risk for Android WebView-based
>>>>>>>>>>> applications?
>>>>>>>>>>>
>>>>>>>>>>> None
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Debuggability
>>>>>>>>>>>
>>>>>>>>>>> None
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Will this feature be supported on all six Blink platforms
>>>>>>>>>>> (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
>>>>>>>>>>> Yes
>>>>>>>>>>>
>>>>>>>>>>> Is this feature fully tested by web-platform-tests
>>>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>>>>>> ?Yes
>>>>>>>>>>>
>>>>>>>>>>> https://wpt.fyi/results/content-security-policy/tentative/
>>>>>>>>>>> require-sri-for?label=experimental&label=master&aligned
>>>>>>>>>>> <https://chromium-review.googlesource.com/c/chromium/src/+/5877633>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Flag name on about://flagsNone
>>>>>>>>>>>
>>>>>>>>>>> Finch feature nameCSPRequireSRIFor
>>>>>>>>>>>
>>>>>>>>>>> Requires code in //chrome?False
>>>>>>>>>>>
>>>>>>>>>>> Estimated milestonesShipping on desktop135DevTrial on 
>>>>>>>>>>> desktop134Shipping
>>>>>>>>>>> on Android135DevTrial on Android134Shipping on WebView135
>>>>>>>>>>>
>>>>>>>>>>> Anticipated spec changes
>>>>>>>>>>>
>>>>>>>>>>> Open questions about a feature may be a source of future web
>>>>>>>>>>> compat or interop issues. Please list open issues (e.g. links to 
>>>>>>>>>>> known
>>>>>>>>>>> github issues in the project for the feature specification) whose
>>>>>>>>>>> resolution may introduce web compat/interop risk (e.g., changing to 
>>>>>>>>>>> naming
>>>>>>>>>>> or structure of the API in a non-backward-compatible way).
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> None
>>>>>>>>>>>
>>>>>>>>>>> Link to entry on the Chrome Platform Statushttps://chromestatus.
>>>>>>>>>>> com/feature/5090023365672960?gate=5186570942152704
>>>>>>>>>>>
>>>>>>>>>>> Links to previous Intent discussionsIntent to Prototype:
>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/
>>>>>>>>>>> CAOmohSJUygAmobR9dRkDr%3DBWQ1h5hv2Lj3WUFN31QZF360A47A
>>>>>>>>>>> %40mail.gmail.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> This intent message was generated by Chrome Platform Status
>>>>>>>>>>> <https://chromestatus.com/>.
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "blink-dev" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>>>>>> To view this discussion visit
>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8d3107ca-61cc-47f6-badd-8bc6a1f30145n%40chromium.org
>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8d3107ca-61cc-47f6-badd-8bc6a1f30145n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "blink-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to blink-dev+unsubscr...@chromium.org.
>>>>>>> To view this discussion visit
>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/49037f78-2795-4d2e-9645-361e632c61f7n%40chromium.org
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/49037f78-2795-4d2e-9645-361e632c61f7n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "blink-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to blink-dev+unsubscr...@chromium.org.
>>>> To view this discussion visit
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0b112bbd-5132-4d64-a85f-78afb6ba3005%40chromium.org
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0b112bbd-5132-4d64-a85f-78afb6ba3005%40chromium.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2Bzi-Ode-7KyUXe_xsn2mmS9J0cQM2ZFWhM4AkgiUr-GA%40mail.gmail.com.

Reply via email to