JianFeeeee
8922ddc468
★★ 修掉 pi 95e50126 所指**同一形状的第三处**(:407/:408 的 grep | head -1)—— 但实测它**不是同一个缺陷**(失效方向相反),并纠正我自己两次误判
★★ 形状: `_ph="$(grep -F "${_am_nonce}HEAD" <<< "$_probe_out" | head -1 | cut -d: -f1)"`
与 pi 批的 `:102`(`strip | grep -n`)**逐字同构**: 都是"管道 + 会早退的读者"
⇒ 我若只报不改,就是**第三次**"知道规则、写在注释里、自己没照做"
★★★ 但它与 `:102` **不同族** —— 我实测把"形状相同"与"缺陷相同"分开了:
· `:102` 静音 ⇒ `hits` 空 ⇒ 报"裸赋值 **0** 处" ⇒ 落**绿**侧(fail-open)✗
· 本处静音 ⇒ `_ph` 空 ⇒ `:410 [ -z "$_ph" ]` ⇒ 落**红**侧(fail-closed)✓
逐场景验证: `_ph` 空 / 取到错行 / 顺序反 ⇒ **三种都判红**
· ★ 且生产者**输出上界=1 行是构造性的**(`_am_nonce` 运行期随机 ⇒ 静态 `$f` 不可能预先含它),
不是"尺寸恰好装得下" ⇒ 我把巨量输出强喂给它(40 次): 141 出现 **40/40**,
而**取值仍恒正确**(`head` 已拿到它要的那一行)—— 与 `:102` 的"值被丢掉"也不同
⇒ 记法: 修一条规则时,**"这处违不违规"与"这处会不会因此出错"是两个问题** ——
前者看形状,后者看**失效方向**;**只有后者决定它是不是同一个 bug**
⇒ 仍改成无管道写法(`grep -m1` + `${x%%:*}`,成本为零),并让规则在全文件一致,
免得下一次有人动掉 nonce 那个界时这处才第一次暴露
★★ 同时纠正我自己的**两次误判**(都在本轮现场抓到,记下来):
① 我报"放宽探针谓词 ⇒ 探针静默失效(rc=0)" —— **错的**: 我那次变异的
`grep -E "." | head -1` 取到的**第 1 行正是探针行** ⇒ 它是**等价变异**,不是失效
② 我报"141 时取值损坏 40/40" —— **是我把期望值写错了**(写成 `1`,实际该是 `AMHEAD`);
实测取值正确 **40/40**,取值错 **0/40**
⇒ 两次都是**判据写错**而非对象出错 —— 与我 `15c8f50` 那次"0 命中还写行号"同族
★ 验证: `bash -n` ✓;基线 rc=0(连测 5 次);注入裸赋值 ⇒ rc=1(非空转);
探针目标变异仍被抓(删中间行 ⇒ rc=1);`criteria-hygiene` **10/10** 绿;生产未动
2026-09-26 01:39:56 +08:00
..
2026-09-25 06:51:25 +08:00
2026-09-14 08:38:33 +08:00
2026-09-13 11:06:01 +08:00
2026-09-15 07:00:35 +08:00
2026-09-25 07:01:36 +08:00
2026-09-24 04:15:30 +08:00
2026-09-18 04:07:26 +08:00
2026-09-12 11:36:25 +08:00
2026-09-26 01:39:56 +08:00
2026-09-14 23:33:11 +08:00
2026-09-14 20:35:01 +08:00
2026-09-25 06:51:25 +08:00
2026-09-21 07:14:41 +08:00
2026-09-14 15:51:40 +08:00
2026-09-15 11:21:00 +08:00
2026-09-25 06:27:09 +08:00
2026-09-25 06:51:25 +08:00
2026-09-25 06:51:25 +08:00
2026-09-06 15:18:06 +08:00
2026-09-02 20:05:51 +08:00
2026-09-13 11:06:01 +08:00
2026-09-13 11:06:01 +08:00
2026-09-14 08:38:33 +08:00