From 5d90d1d03be94b5a6e2d5e4261ffb53b09de347c Mon Sep 17 00:00:00 2001 From: sec-check <280983584+hivecommons-hive[bot]@users.noreply.github.com> Date: Sat, 31 Oct 2026 08:51:03 -0400 Subject: [PATCH] fix: sandbox the GitHub Universe talk player and gate its allowlist The youtube-nocookie iframe is the only third-party frame on the site. Restrict it to the sandbox tokens the embed needs (scripts, same-origin, popups for 'Watch on YouTube', presentation for casting) so the frame can no longer navigate the page, submit forms, open modals or start downloads. featured-video.test.mjs now asserts the exact token set. Closes #308 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: sec-check <280983584+hivecommons-hive[bot]@users.noreply.github.com> --- README.md | 2 +- index.html | 1 + scripts/featured-video.test.mjs | 13 +++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6155baf..f1f6659 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ red PR job against. resize debounce), and projects scroll-sync (debounced scroll, `scrollend`, IntersectionObserver). Zero dependencies. - `node --test scripts/featured-video.test.mjs` — checks the Bluefin talk's placement, - speaker attribution, privacy-enhanced lazy-loaded player, 6:09 start without autoplay, + speaker attribution, privacy-enhanced lazy-loaded sandboxed player, 6:09 start without autoplay, direct links to the highlighted and full talk, and the adopter link. Zero dependencies. - `node --test scripts/page-scripts.test.mjs` — static gate over every committed HTML page: each inline `