Skip to content

regression-gate.sh:baseline language 欄位未驗證即入 worklist TSV(follow-up from #109 verify) #112

Description

@kiki830621

Problem

Verify #109 的 security lens 發現(MEDIUM,inherited):scripts/regression-gate.sh 的 worklist 生成對 baseline.jsoncorpus 欄位有 charset 白名單,但 language 欄位未驗證,兩者寫進同一份 TSV 由 shell 逐行 split——language 可偽造一筆 corpus 欄位未經驗證的 worklist 記錄(PoC 曾以 corpora/../ 相對路徑逃出 $DEST)。

邊界:影響僅本機(gate 不提交任何東西;SubmissionPackager 另有 canonicality 過濾)、且 baseline.json 是 repo 內受版控的檔案——實際威脅需 PR 混入惡意 baseline。屬 defense-in-depth 補洞。

#109 的 release-sweep.sh 原版有同款結構,round-1 fix 改為目錄掃描 worklist 後已不再讀 baseline.json;本 issue 只剩 gate 一處。)

Type

bug

Expected

regression-gate.sh 的 worklist python 段對 language 加與 corpus 同款的 re.fullmatch 白名單(如 [a-z]{2,3}(-[A-Za-z0-9]+)?),不符即 fail-loud。

Impact

單檔小修 + gate 既有測試路徑。

Source: surfaced during /idd-verify #109 follow-up triage (Step 5b);security lens MEDIUM-1(empirically reproduced in sandbox)。

Current Status

  • Phase: closed
  • Complexity: Simple
  • Last update: 2026-07-30

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions