Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Focus and style reads still run in the page's own world

已关闭
#319 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

已经有一个关联 PR 被合并了。

  • #341 来自 @eparenti —— 已合并

评估

难度
4/5
预计耗时
3-5 天
新手友好度
55/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
playwright, typescript

调研方向

Start with focusBody, activeElementIs, activeElementWithin, and the getComputedStyle reads in src/deps/real.ts, then trace how element paths and announcement capture run in isolated worlds. Add tests where page scripts redefine each function used by these reads. Done means the reads run in an isolated world and the tests show page redefinitions cannot falsify focus or style checks.

由索引模型根据 Issue 内容生成。

描述

area: engine bug security

What happens

Some page reads still run in the page's own JavaScript world: focusBody, activeElementIs, activeElementWithin, and the getComputedStyle reads in src/deps/real.ts. Page script can redefine document.querySelector or getComputedStyle, and then a focus check reports whatever the page wants.

Why it matters

Page text and page script are untrusted. Element paths and the announcement capture now run in isolated worlds. These reads should too, or a hostile page can pass a keyboard or focus check it fails.

Expected

Run these reads in the same kind of isolated world, and add a test for a page that redefines each function it uses.

Status

Found while moving element paths and the announcement capture into isolated worlds. The threat model lists it as not handled yet.

主要语言
TypeScript
星标
0
派生
0
平均合并
6 小时 42 分钟
30 天内合并 PR
44

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

usabl-dev/usabl 的其他 Issue

查看 usabl-dev/usabl 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。