-
-
Notifications
You must be signed in to change notification settings - Fork 173
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
Security 2024 Queries #3671
Security 2024 Queries #3671
Conversation
No real security header as it can only worsen security (MDN classifies it as CORS header) thus not included in all queries, e.g., not included in feature_adoption_by_country.sql)
Thanks for the implementations!
For all other queries I had no remarks really. |
|
Thanks a lot for writing the queries @JannisBush, going over the results was already very interesting! And especially thanks for updating all existing queries to use the new tables. Some remarks:
I've added some additional derived tables to the results sheets to provide more insights into the data. When running queries again, could you avoid overwriting the full tabs? It's only a few tabs, though. I will finish reviewing the last few queries tomorrow. |
Went though the remainder of queries:
|
|
Maybe Seems like there was some post-processing: almanac.httparchive.org/sql/util/requests.sql Line 121 in a6042fe
I tried to do the same post-processing, but got very different results. I will ask in slack. |
For Server-Timing I think the metric names are most interesting. Additionally it would be interesting to check the count for the dur property. Sort of like:
If that makes sense? |
Tested more and they both seem very similar and have the same format, so that might not be the reason for the drastic differences.
SELECT
AVG(startedDateTime),
AVG(CAST(JSON_QUERY(r2.summary, '$.startedDateTime') AS INT64))
FROM
`httparchive.almanac.requests` as r1,
`httparchive.all.requests` as r2
WHERE
r1.date = '2022-06-01'
AND r2.date = '2022-06-09'
AND is_root_page
SELECT
COUNTIF(CAST(JSON_QUERY(summary, '$.startedDateTime') AS INT64) IS NULL) / count(0) as startedDateTime
FROM
`httparchive.all.requests` TABLESAMPLE SYSTEM (10 PERCENT)
WHERE
date = '2022-06-09' AND
is_root_page
SELECT
COUNTIF(startedDateTime IS NULL) / count(0)
FROM
`httparchive.almanac.requests` TABLESAMPLE SYSTEM (100 PERCENT)
WHERE
date = '2022-06-01' |
|
I finished the server-timing query and it now contains the information you wanted. The data is below the original data in the sheet: https://docs.google.com/spreadsheets/d/1b9IEGbfQjKCEaTBmcv_zyCyWEsq35StCa-dVOe6V1Cs/edit?gid=1339089790#gid=1339089790 |
Thanks a lot for the additional queries and clarifications @JannisBush! Interesting to see the additional data on CSP hosts and iframe allow values.
@vikvanderlinden, please correct met if I'm wrong about your intention for the |
The new query counts the number of |
Yes, that and if there is for instance
on different pages, we could also count:
And truncate to 50 results of so to gauge how many site use certain properties, which may or may not show so often occurring properties besides |
@GJFR is this good to merge now? |
Yes, should be complete 👍 |
Queries for the 2024 Security Chapter
General
Existing Queries
httparchive.all
Section: ? Question: ?
)Fix sensitive values in robots.txt queryQuery is already functional?New Queries
Attack Preventions
Security Header Adoption
document.domain
setters and getters (Blink Feature Usage + Origin Agent Cluster)Timing-Allow-Origin
Timing-Allow-Origin
Preventing Attacks using Cross-Origin Policies
Value DistributionAlready existedCORP
COEP
COOP
HTML Sanitization
setHTMLUnsafe
andparseHTMLUnsafe
(Blink Feature Usage)% Sites using above APIs of all sites that use shadow DOMUsage is too rare: 6x parse, 2x set in total!Drivers of Security Mechanism Adoption
Website Categories
% Sites use SRI per website categoryWe currently do not even have queries for SRI related to rank, country, ...; should we add website category here?% Sites use bot protection services per website categoryWe currently do not even have queries for bot protection related to rank, country, ...; should we add website category here?Security Misconfiguration and Oversights
Unsupported policies inAlready exists:<meta>
tagmeta_policies_allowed_vs_disallowed
<meta>
tagServer-Timing
header: general usage,dur
property, ....