mimosa 写入门禁误报:零输入静态 SQL 的 QueryRow 形态被判注入硬拒,且该类 finding 无法铸 exclusion 锚
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
Rechercherichtung
Reproduce the report with internal/data/migrate_test.go and inspect the security_scan deep output, findings.json, hook-state findingEvents, and the README-referenced CLI behavior. Compare the QueryRow static SQL finding with the exclusion identity.anchor and line_hash paths. Done means the false positive is handled or a usable exclusion anchor is emitted and verified against the listed test case.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
环境
- ZCode Desktop 3.14.3(Windows)+ WSL 项目;插件 mimosa 1.0.3;
MIMOSA_HOOK_BLOCK默认graded - 宿主语言 Go;被拦文件为集成测试
internal/data/migrate_test.go(TimescaleDB 测试夹具)
现象:静态字面量 SQL 的测试代码被判「高危 · SQL 注入」硬拒
PreToolUse 门禁将候选 diff 区域内的如下既有代码判为高危注入并 deny:
if err := st.Pool().QueryRow(ctx, `SELECT count(*) FROM metrics`).Scan(&rows); err != nil {
- 该形态零用户输入(静态字面量、测试夹具);同文件新增的静态 INSERT 字面量全部判净放行——仅
QueryRow(ctx, \SQL`)` 形态命中 - 门禁按候选 diff 区域判定:只要一次编辑的 old_string 覆盖到含此形态的既有行(哪怕实际改动与 SQL 无关),整个写入被硬拒。项目里既有测试大量含此形态,导致这些文件事实上不可编辑,只能靠收窄编辑锚点绕行
工具面缺口(误报无法自救)
- exclusion 锚只能用深扫
findings.json的identity.anchor,但security_scan(deep,含focusFiles指向该文件)不产出任何*_test.gofinding——门禁误报无锚可铸 - hook-state
findingEvents的line_hash与 exclusionanchor派生不同源。同一 finding 实证:line_hash e75974d4…≠anchor 64a7244…(deploy.go 命令注入)。用 line_hash 铸 exclusion 条目无效(已实测,仍拦) - README 提及的
mimosa scan <file>单文件 CLI 未随插件分发(PATH 与~/.zcode/mimosa-zcode/均无),无第三条铸锚路径
期望
- 静态字面量 SQL(尤其测试文件)不判注入
- 或:门禁拦截输出 / hook-state 附带可铸的
identity.anchor;或 exclusions 支持line_hash/ file+line 形态
附带观察(可能属宿主而非插件,供参考)
Windows 桌面启动 + WSL 项目形态下 MIMOSA_HOOK_BLOCK 传值不达:registry 用户级配置正确、宿主完整重启后,WSLENV 名单到达 WSL 侧 server 进程而变量值未达,ask 模式无法启用(该形态下 zcode-server 经 /init 直拉、不加载 shell rc,WSLENV 是唯一通道)。
- Vorherrschende Sprache
- Python
- Sterne
- 103
- Forks
- 78
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus zai-org/zcode-plugins
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
zai-org/zcode-plugins#107 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
zai-org/zcode-plugins#106 ·
Maintainer antworten meist innerhalb von 1 Tag
-
video-agent-kit (0.4.3): hooks invoke python3, which doesn't exist on Windows — SessionStart/UserPromptSubmit/Stop hooks fail on every triggerEvtl. vergeben @dvd233 hat das vor 28 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
zai-org/zcode-plugins#14 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
zai-org/zcode-plugins#110 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 74/100
zai-org/zcode-plugins#109 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in zai-org/zcode-plugins
Ähnliche Issues
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
yunaremaia/agent-capability-attestation#64 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 86/100
yunaremaia/agent-call-graph#43 ·
Maintainer antworten meist innerhalb von 1 Tag