Repository navigation
chore(deps): bump linkify-it from 5.0.0 to 5.0.2 in /apps/presentation/dashboard in the dashboard-security group across 1 directory - #5590
Conversation
2b6abcc to
924696b
Compare
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; runtime_reported; reasoning_effort=xhigh
Exact head: 924696ba830b269e76f0726e789b6ce5c30ca55d; immutable base: 2f68e3b835c3bfc0e3718373cdb6c72eea99291e.
动机
在个人工作区阅读 Agent 报告并点击其中链接的用户,会直接经过这个依赖。
旧版本会把包含 51 字符用户信息的合法 HTTPS 地址完整链接到其目标站点;升级后,同一报告只把前半段变成链接,点击会到另一个主机。
安全更新确实降低了库默认配置下重复 mailto 输入的扫描成本,但真实报告渲染器存在链接目的地回归,需要先修复。
本次不新增能力开关、账户权限或调度,也不以单机微测推断整个 Agent 工作流的长期吞吐。
目标是用一个可回滚的补丁版本替换存在扫描成本问题的链接库。维护安全依赖有正向价值,但实际调用者的体验必须一起核验,不能把上游修复说明等同于本应用的兼容性证明。
改动思路
范围只有 dashboard 的依赖声明和锁文件,复用既有 linkify-it,没有新增解析器或配置。真实调用链是报告文本 → MarkdownText → renderPlainText → webLinks.match → React anchor。已有 renderer 关闭 fuzzyLink、fuzzyEmail、ftp、mailto 和协议相对链接;因此上游 mailto 修复不能直接算作当前聊天渲染路径的速度收益。所有文本继续由 React 转义,未引入 HTML 执行权限。独立下载并校验两个 npm 版本的 tarball,5.0.2 的 SHA-512 与本 PR 锁文件一致,依赖仍是 uc.micro,没有夹带其他版本变化。
具体改动
关键代码讲解
apps/presentation/dashboard/package.json:82把直接依赖从 5.0.0 固定到 5.0.2;锁文件 root 与node_modules/linkify-it的版本、下载位置及 integrity 同步,添加上游 funding 元数据,许可和 uc.micro 范围保留。- 实际消费者
src/features/personal-workspace/markdown.tsx:17的webLinks和renderPlainText没有修改,却会消费新的 match 边界;它直接使用 match.url 生成可点击目标,因此库行为变化属于用户可观察行为。 - 上游
lib/re.mjs对 userinfo 使用 50 字符上限,对邮件用户名使用 64 字符上限;match切换到整段扫描并合并不同类型候选。这些是安全修复涉及的语义,不能仅按两行版本号看待。
没有找到专门规定这次补丁升级验收的已接受项目书面规范;判断依据是现有 renderer 的完整链接目的地契约和实际前后输出。上游变更参考 固定 revision 的 changelog,并独立读取了 npm 发布包源码。
验证:在独立源代码副本中执行锁文件安装和 npm run build:desktop,TypeScript/Vite 构建通过;13 组真实 React renderer 的完整 HTML 前后相等,包括中英文、多个链接、命名链接、代码、表格、列表、原始 HTML 和被禁用的 scheme。三类长文本、三个长度、两个版本共 18 次 renderer 执行均完成,随后再次渲染正常链接也成功。另测库默认配置的 50,000 次 mailto 重复:5.0.0 超过 4 秒被测试进程超时终止,5.0.2 约 12 ms;这是该输入的单次观测,当前 renderer 已关闭 mailto,不能推广成应用整体提速。
对主干的风险
[P2,阻塞] 自动链接不能悄悄改变合法 URL 的目标主机。 构造 https:// + a.repeat(39) + .example.org@trusted.example/path:userinfo 长度为 51,原地址的主机是 trusted.example。5.0.0 的真实 MarkdownText 生成完整 href;5.0.2 只生成到 …example.org 的 href,@trusted.example/path 留在链接外。50 字符边界正常,51 字符边界则会到另一个主机。这是当前消费路径的兼容性回归,不是模糊邮件功能的测试假设。命名 Markdown 链接仍保留完整目标,说明错误集中在自动识别分支。
最小修复:保留安全版本升级,在创建 anchor 前拒绝不完整的 URL 匹配;超过识别限制时呈现惰性文本,或采用仍满足有界扫描的完整匹配,不接受“链接到另一站点”作为降级。添加真实 renderer 的 50/51 字符、完整主机、禁用 scheme、命名链接及错误后恢复回归用例,再执行 npm run build:desktop。现有 13 组正常测试通过并不能覆盖这个反例。构建有非阻断的大 chunk 提示;没有查询 CI。验证使用实际组件与独立安装依赖,未做整个工作区浏览器操作或长期负载试验。
我的整体评价
REQUEST_CHANGES。长期效果与用户体验目前均判为 regression:安全依赖维护本来有益,但合法报告链接被改成另一个目标,可能使后续操作基于错误站点进行。没有新增 authority、状态或能力生命周期;问题属于外部依赖的解析语义在既有入口上的变化。修复不完整自动链接后,这个两文件升级应仍是有价值且低维护成本的完整切片。当前不能用包完整性、构建成功或 mailto 微测的收益抵消真实目的地回归。
English verdict: REQUEST_CHANGES - 924696b. The security bump is worthwhile, but the actual MarkdownText consumer changes the destination of a valid URL at the 51-character userinfo boundary. Isolated lock installation, desktop build and 13 normal renderer parity cases pass; preserve or reject the complete URL before creating an anchor.
924696b to
95ce534
Compare
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; model=gpt-6.1-sol; provider=OpenAI; declaration_source=runtime_reported; reasoning_effort=xhigh
Exact head: 95ce534acee52774e21567d1735382d9a3322f70; immutable merge base: b9df6d1d0ad06909c31abfaedd57741d63fe5750.
动机
在工作区阅读 Agent 报告、聊天或任务证据并点击其中链接的用户,会直接经过这个依赖。
旧版本完整链接一个包含 51 字符用户信息的合法 HTTPS 地址;升级后同一文本只链接前半段,点击会到另一个主机,用户需要返回并手动复制原地址。
这次更新希望降低链接扫描的拒绝服务风险;安全补丁有价值,但本次重新构建和实际组件核验仍发现链接目的地回归。
本次不改变账户权限、能力配置或调度,也不把库默认配置的微测推广为整个工作区或 Agent 长期吞吐的改善。
这是新提交后的独立复核。上次 head 为 924696ba830b269e76f0726e789b6ce5c30ca55d,基准为 2f68e3b835c3bfc0e3718373cdb6c72eea99291e;此次基准已变化,不能沿用旧结论。核验上次到本次的变化以及当前完整 PR 后,确认锁文件和真实 Markdown 消费者内容均未变化,新提交更新了基底,没有修复原问题。
改动思路
完整 PR 仍只有依赖声明和锁文件两项,直接使用现有 linkify-it,不另建解析器。实际路径为报告文本 → MarkdownText → renderInline/renderPlainText → webLinks.match → React 链接。消费处仍关闭 fuzzyLink、fuzzyEmail、ftp、mailto 和协议相对链接;因此上游修复默认 mailto 的扫描成本,不能直接证明这个应用入口变快。React 转义和禁止执行原始 HTML 的边界保持。
比较三种方案:不更新会保留已知上游扫描问题;只有依赖更新会引入已复现的错误目的地;保留安全更新,在当前 renderer 创建链接前拒绝不完整匹配,能同时保留有界扫描与正确目的地。最近已有消费模块足以承担修复,新增全局 capability 或第二解析 owner 没有必要。
具体改动
关键代码讲解
apps/presentation/dashboard/package.json:82固定直接依赖 5.0.0 → 5.0.2;package-lock.json同步 root 和安装条目的版本、下载地址、完整性摘要,并加入上游 funding 元数据,MIT 和 uc.micro 范围不变。全部 diff 为两文件 +15/-5。apps/presentation/dashboard/src/features/personal-workspace/markdown.tsx:13的webLinks配置保持不变;第 17 行renderPlainText在第 23–27 行直接把match.url交给 anchor。库给出部分匹配时,这里没有检查整个 URL 的边界,所以同一个组件代码会呈现不同目的地。- 同文件第 34 行
renderInline的命名 Markdown 链接在第 50–51 行直接保留给定目的地,绕过自动识别;实际聊天、答案报告和任务证据共用MarkdownText。本次 50/51 边界核验中,命名链接保留完整目标,回归集中在自动识别分支。
没有找到针对这次补丁升级的已接受项目书面验收规范;独立判断依据是现有完整链接目的地行为、真实消费处和标准 URL 的 hostname。已读取 固定上游 revision 的 changelog 及发布包:5.0.2 将 userinfo 限到 50 字符,并限制邮件用户名,以控制扫描成本。
本次重新下载两份 npm tarball,逐文件核验缓存发布源码,5.0.2 的 SHA-512 与当前锁文件相等。当前和上次的 dashboard 锁文件 SHA-256 都是 d0471566610908af792d2b76b8944a42d781cefe0d5d0ce8476acc8a477385af;root 锁文件也相等。五个相关版本的 renderer 内容相等,依赖环境复用前已检查这些失效条件。基底新增的 team-evidence smoke 脚本不改变 build:desktop,仍在新 head 的独立完整源码副本上重新构建,没有复用旧构建产物或冒称再次安装。
实际验证:npm run build:desktop 通过;新 head 的既有 team-report smoke 通过;分别从当前 base/head 源码编译真实组件,13 组完整 HTML 前后相等,覆盖中英文、多个链接、代码、表格、列表、原始 HTML 和禁用 scheme。三类长文本 × 三个长度 × 两个版本的 18 次执行均完成,并各自成功恢复渲染正常链接。50/51 字符自动链接及同一地址的命名链接另行比较,保留了完整 HTML、href 和独立 hostname 观测。diff、两文件公开边界检查通过;semantic advisory 因 JSON-only diff 没有支持的 vocabulary carrier,这不是解析语义无变化的证明。
对主干的风险
[P2,阻塞] 新 head 仍将合法自动链接变成另一个目标主机。 输入为 https:// + a.repeat(39) + .example.org@trusted.example/path,userinfo 长度 51,完整地址的 hostname 为 trusted.example。当前 base 的实际组件保留完整 href;当前 head 只生成 https:// + a.repeat(39) + .example.org,其 hostname 已变为前半段,@trusted.example/path 留在链接外。50 字符边界在两版都正确;命名链接在两版、两个边界都正确。现有 smoke 和 13 组正常用例通过,不能证明这个反例安全。新提交号或基底变化也不能证明它已修复。
最低修复:保留 5.0.2,在现有 renderer 中拒绝不完整自动 URL 匹配,呈现惰性文本或符合有界扫描约束的完整链接;加入真实组件 50/51 字符、目的地主机、命名链接、禁用 scheme 和恢复用例,再执行 npm run build:desktop 及 team-report smoke。保持正确目的地或清楚地不生成链接,都比静默指向另一站点更可控。
构建仍有非阻断的大 chunk 提示。没有查询或等待 CI。测试使用真实 React 组件、真实发布包及新源码完整 frontend 构建,未进行整个工作区的浏览器点击、安装替换、真实账户操作或长期负载试验。上次库默认配置的 50,000 次 mailto 微测(旧版超过 4 秒,新版约 12 ms)仅复用经逐文件校验后仍适用的历史观测,本次没有重测,也不能代表已禁用 mailto 的 renderer 提速。
我的整体评价
REQUEST_CHANGES。 当前整个 PR 的 long_horizon 和 user_experience 均为 regression:安全维护本身正向,但重复阅读报告时会持续遇到同样的错误目的地,修正只能靠用户识别并复制已知原地址;这一步没有提供新信息或授权,属于额外恢复成本。长输入后的正常渲染能够恢复,证明没有复现持续阻塞;它不能抵消链接本身错误,也不足以证明长期效率提升。
依赖与既有 React consumer 的边界保持集中,没有新 persisted state、authority 或共享 vocabulary。此次相邻未来维护检查认为无需新抽象;最有价值的小改动仍是消费处完整匹配检查及其回归测试,尚未交付。补齐这个边界后,这个安全升级仍可成为低维护成本的完整切片;当前不批准,保留原讨论并等待实际修复证据。
English verdict: REQUEST_CHANGES - 95ce534. This rebase preserves the same dependency lock and Markdown consumer, and fresh current-base/head rendering reproduces the 51-character userinfo wrong-host regression. The new-head desktop build, existing report smoke, 13 normal HTML parity cases and 18 long-input/recovery executions pass. Retain the security update but reject incomplete automatic URL matches; a new commit alone does not resolve the previous finding.
95ce534 to
12cadb0
Compare
Bumps the dashboard-security group with 1 update in the /apps/presentation/dashboard directory: [linkify-it](https://github.com/markdown-it/linkify-it). Updates `linkify-it` from 5.0.0 to 5.0.2 - [Changelog](https://github.com/markdown-it/linkify-it/blob/master/CHANGELOG.md) - [Commits](markdown-it/linkify-it@5.0.0...5.0.2) --- updated-dependencies: - dependency-name: linkify-it dependency-version: 5.0.2 dependency-type: direct:production dependency-group: dashboard-security ... Signed-off-by: dependabot[bot] <support@github.com>
12cadb0 to
dbb29f9
Compare
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | model=gpt-6.1-sol | provider=OpenAI | runtime_reported | reasoning_effort=xhigh
动机
在工作区阅读 Agent 报告、聊天或任务证据并点击其中链接的用户,会直接经过这个依赖。 旧版本完整链接一个包含 51 字符用户信息的合法 HTTPS 地址;升级后同一文本只链接前半段,点击会到另一个主机,用户需要返回并手动复制原地址。 这次更新希望降低链接扫描的拒绝服务风险;安全补丁有价值,但现头的实际组件验证仍发现链接目的地回归。 本次只评价链接解析升级与现有报告读者的体验,不把库默认配置的微测推广为整个工作区或 Agent 长期吞吐的改善。
改动思路
PR 只升级一个既有链接解析库,复用报告、聊天、任务证据共同使用的 MarkdownText,没有新增能力或第二个解析 owner。渲染器把文本转换成 React 节点;自动链接采用库给出的匹配地址,显式命名链接保留完整目标。HTML 仍然转义,邮件、FTP、裸域名推断仍禁用。问题出在新库限定用户信息长度后返回不完整匹配,既有渲染器将它直接作为可点击地址,并未检查目标是否完整。
具体改动
审核现头 dbb29f9cc8ae42aaaec7dc7ba262f936a99b9e7d,不可变基线 2e572b7a17c4879930e33fa803d7d0e96b6b610d。完整 diff 为两文件 +15/-5:package.json 的直接版本由 5.0.0 改为 5.0.2,package-lock.json 同步根依赖、安装版本、下载地址和完整性摘要,添加两项 funding 元数据;许可证和 uc.micro 依赖范围保持。本次没有专门的已接受项目规格;独立预期来自现有完整地址行为与标准 URL 的主机名语义。上游版本说明说明扫描和长度限制的安全修复,不能自动证明当前消费者兼容。
关键代码讲解
package.json:82与 lock 中的 linkify-it 项决定所有既有消费者安装 5.0.2;新下载包的 SHA512 与 registry 和锁一致,未改安装方式或权限。markdown.tsx:13的 webLinks 保留 scheme 配置;:23-27的 renderPlainText 将 match.url 直接放入 href,是新限制到可点击目标的实际路径。markdown.tsx:34-50的 renderInline 使用用户明确给出的命名链接地址,因此相同长地址在命名链接中仍正确;普通自动链接没有这条完整目标保护。
本轮先验证 12cad 头,发布前发现自动 rebase 到上述现头。完整两个锁、渲染器和现有 smoke 的字节保持一致;重新执行当前实际组件、构建及 report smoke,未继承旧评审结论。两份历史 REQUEST_CHANGES 的唯一阻塞均映射到同一现头路径,仍未修复。
对主干的风险
[P2] 自动链接改变合法地址的目的主机。 输入 https:// + a.repeat(39) + .example.org@trusted.example/path,其中用户信息长 51 字符,标准 URL 的主机是 trusted.example。基线保留完整 href;现头只链接到 https:// + a.repeat(39) + .example.org,@trusted.example/path 留在链接外,用户点击到另一个主机。50 字符控制组与显式命名链接在两版均正确。该问题影响所有共享 MarkdownText 的报告、聊天与任务证据,无需账户或特殊能力开关。
最小修复是保留安全升级,在现有自动链接 owner 拒绝不完整匹配,或通过有界解析保留完整目标;允许整个原文保持不可点击,不能悄悄生成另一个主机的链接。补齐 50/51 边界的完整 href/主机或 inert text 断言,覆盖命名链接、禁用 scheme、后续正常渲染;重跑 npm run build:desktop 与现有 smoke/team-report-smoke.mjs。无需新能力、平行解析器或框架。
当前 13 项完整 HTML 对比一致,18 次长文本执行和随后恢复全部通过;现头类型检查、生产构建、Vite SSR 原有报告 smoke 通过。构建的大 chunk 警告保留;npm audit 另外报告 seroval 与 source-map-js,两项锁记录在基线/现头字节一致,不是本次依赖升级引入,也没有称整个依赖图已无漏洞。没有读取或等待 CI。没有完整浏览器点击或已安装版本替换验证。
我的整体评价
REQUEST_CHANGES。安全依赖维护方向正向、改动成本合理,但当前完整切片仍有具体错误目标回归:长期反复阅读与点击需要人工返回复制地址,用户体验和持续工作准确性在该边界负向。长文本均可恢复;单次测时未证明持续延迟、吞吐或 token 净收益,尤其消费者已禁用上游邮件扫描,不能直接把库默认配置收益算到产品。future-facing pass 确认最小保护应落在既有 renderPlainText,未交付这个修复。没有新增持久状态或共享协议词汇;修复后需对新头逐项重验再批准。
English verdict: REQUEST_CHANGES - head dbb29f9; automatic URL matching still changes the destination host at 51-character userinfo. Current actual-renderer controls, long-input recovery, desktop build and existing report smoke pass; preserve the security bump and fix the incomplete-match consumer boundary.
linkify-it 5.0.2 bounds how far it scans userinfo, so an automatic match can stop before the `@` that still belongs to the same address. The matched prefix then reads with the userinfo as its host, and linking it sent a report reader to a different site than the address in the text. The renderer now links only a match that ends the address it started; an incomplete one stays inert text. The report smoke covers the bound, past-bound, named-destination and recovery cases, and fails again when the guard is removed. Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · xhigh
精确 head:6df33ab3b51bd16d11b928f2e227009c310ca063;上一被拒 head:dbb29f9cc8ae42aaaec7dc7ba262f936a99b9e7d;当前 base:main(df3d26dbf 已并入)。
动机
在工作区阅读 Agent 报告、聊天与任务证据并点击其中链接的用户,直接经过这个依赖。linkify-it 5.0.2 把 userinfo 的扫描限制在 50 字符以内以降拒绝服务风险:合法地址若 userinfo 超过 50 字符,自动识别会停在 @ 之前,匹配到的前缀把 userinfo 当成 host,渲染出的链接因此指向另一个站点。上一版只更新依赖与锁文件,复现了这个错误目的地;本 head 保留安全更新并在既有 renderer 里拒绝不完整匹配。
改动思路
问题在消费侧而非依赖侧:webLinks.match 返回的 match.url 被直接交给 anchor,没有任何「这次匹配是否覆盖完整地址」的检查。修复不新增解析器、不改 linkify-it 配置(fuzzyLink/fuzzyEmail/ftp/mailto/协议相对链接继续关闭),只在既有 renderPlainText 里加一条判定:自动匹配后面紧跟 @ 时说明匹配停在 userinfo 内部,该段保持惰性文本而不是生成链接。这样保留了 5.0.2 的有界扫描,也不会把用户送到第二个主机;显式 Markdown 链接仍按原文渲染,不受该判定影响。
具体改动
4 文件、+53/−7。markdown.tsx 增加 completeWebMatch 并在自动识别分支按其结果决定是否渲染 anchor;team-report-smoke.mjs 新增真实组件边界回归;package.json 与 package-lock.json 保持 5.0.0 → 5.0.2 的安全升级。验证(本地已安装 5.0.2):npm run smoke:team-report 通过,覆盖 50 字符(完整链接且 host 为 trusted.example)、51 字符(不再生成 href="https://a…39.example.org",整段地址以文本保留)、同一长地址的显式命名链接(仍按字面链接)、其后的普通链接(恢复正常链接)与禁用 scheme 不生成链接;把 renderer 回退到上一 head 时该组断言立即失败,证明它判别的是本次修复而不是环境的巧合。npm run build:desktop 通过(含 tsc --noEmit 与 vite 构建,仍有既存的大 chunk 提示)。npm 包与锁文件未改动任何版本或摘要。
对主干的风险
改动只在渲染决定性上收紧:不完整自动匹配从「错误链接」变为「惰性文本」,没有新增网络请求、持久状态、权限或配置项。最强反向风险是误杀合法链接,因此回归同时固定了边界内(50 字符)仍完整链接、以及紧随其后的普通链接照常渲染;判据只看「匹配后是否紧跟 @」,不扩大到其它字符,避免影响现有 13 组正常 HTML 用例。未测量的部分:真实浏览器点击、安装替换与长期负载;这些不属于本次依赖升级的验收范围。
我的整体评价
APPROVE:安全更新保留,消费侧不再把用户送到与文本不一致的主机,回归能判别修复且不削弱既有安全边界;实现落在既有 renderer,未新增第二个解析 owner。
English verdict: APPROVE - 6df33ab. The security bump to linkify-it 5.0.2 is kept, and the renderer now refuses to link an automatic match that stopped inside userinfo: the 51-character case renders inert text instead of a prefix-host href, the at-the-bound case still links to the visible address, named Markdown destinations and later links are unaffected, and reverting the guard fails the new smoke assertions. npm run smoke:team-report and npm run build:desktop pass; live browser clicking and installed-package replacement remain outside this dependency change.
|
Reviewer: model_agent | model=gpt-6.1-sol | provider=OpenAI | runtime_reported | reasoning_effort=xhigh 合并后独立核验:现头 动机在工作区阅读 Agent 报告、聊天或任务证据并点击其中链接的用户,会直接经过这个依赖。 合并头修复了长用户名直接接 @ 的错误链接,但相同地址带 :pw 后仍把前半段链接到错误主机,用户需要返回并复制完整地址。 安全依赖升级和新增保护有价值,但合并后独立核验发现用户名加密码的遗漏案例,完整链接目标仍未受到保护。 本次评价合并头的链接准确性与恢复成本,不重新发表已修复的旧案例,也不宣称所有 Agent 的持续效率改善。 改动思路保留安全依赖更新,并在原有 React 渲染器内阻止不完整自动匹配,方向正确、owner 复用也合理。合并头的 completeWebMatch 仅检查剩余文本是否立即以 @ 开头,所以已有长用户名案例和数字密码被当作端口的案例变成不可点击文本。但是合法用户信息也可以含冒号和密码;剩余文本为 :pw@host 时,这条判断返回真,仍直接生成错误主机的 anchor。命名链接保留完整地址,与自动识别是已有不同输入路径,没有新增能力或权限。 具体改动完整 PR 四文件 +53/-7:原 package.json/lock 的 5.0.0→5.0.2 升级加 funding 元数据,新增 renderer 保护及现有 report smoke 的 23 行边界验证。按上游版本说明保留有界扫描。合并头及 merge commit715c8774 的 renderer/smoke 字节一致;两个锁与上一评审头一致,已安装图仅在完整锁校验后复用。没有本次补丁的单独项目规格;判断依据是原完整地址行为、标准 URL 主机语义及现头“完整匹配才生成链接”的公开承诺,不能按 author smoke 当前输出反推预期。 关键代码讲解
对主干的风险[P2] 用户名带密码时仍链接到错误主机。 输入 最小修复是在同一个 renderer owner 按有界完整源地址判断是否链接,覆盖用户名、密码及端口形状;保留完整目标或整段不可点击都可,不能产生另一主机的链接。补充字母、数字、长密码、50/51、命名链接、禁用 scheme 与随后正常链接的实际 href/主机或 inert 断言,再跑 重新执行合并头实际组件:13 普通完整 HTML 对比一致、18 长输入及随后恢复通过;当前构建和扩展 report SSR smoke 通过。用户名/密码成对原始观察全部保存,未归一化 href、host、正文或错误。没有浏览器点击、已安装版本替换或持续吞吐证据;没有查询 CI。包/原有 npm audit 背景和 chunk 警告保留,不作为此新缺陷的因果证据。 我的整体评价REQUEST_CHANGES 的合并后审计结论:现保护对原案例的改进正向,但对密码用户信息仍有具体准确性回归,反复打开这些链接需要返回复制,体验和持续工作效果在该边界负向。现有现头批准的完整保护判断被这个独立反例限定,不能继承为本次证据;此评论也不冒充撤回批准或改变已合并状态。实现成本合理,future-facing pass 确认应完善同一局部 TS helper 的地址语义,不增加解析框架、共享状态或能力开关。没有新增 LoopX 注册词汇;局部布尔判断的遗漏通过真实消费者反例证明。需维护者在后续修复头重新验证这些新案例。 English verdict: REQUEST_CHANGES - merged head 6df33ab; the direct-@ regression is fixed, but :pw@ and long-password userinfo bypass completeWebMatch and still link to the prefix host. Current actual-renderer pairs, 13 normal HTML cases, 18 long-input/recovery cases, desktop build and extended report smoke executed; this is a new actionable post-merge finding. |
Bumps the dashboard-security group with 1 update in the /apps/presentation/dashboard directory: linkify-it.
Updates
linkify-itfrom 5.0.0 to 5.0.2Changelog
Sourced from linkify-it's changelog.
Commits
50a0c915.0.2 releasedde3b885Update package hooks13effaaAdd package lock39d748dBump c800ce877Drop tlds depsecde823Update benchmark to mitata23c62cdRefactor demo / doc build and publishfd63f3bCI config updatef4ea5afdemo: update bootstrap & layout1454fb6lint: dim warnings