mimosa 写入门禁误报:零输入静态 SQL 的 QueryRow 形态被判注入硬拒,且该类 finding 无法铸 exclusion 锚
Maintainer thường phản hồi trong vòng 3 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 38/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
环境
- 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 是唯一通道)。
- Ngôn ngữ chính
- Python
- Star
- 73
- Fork
- 46
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của zai-org/zcode-plugins
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
zai-org/zcode-plugins#14 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
zai-org/zcode-plugins#58 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
zai-org/zcode-plugins#57 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
zai-org/zcode-plugins#54 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
zai-org/zcode-plugins#53 ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của zai-org/zcode-plugins
Issue tương tự
-
bug server
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
sportsdataverse/sportsdataverse-py#641 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
googleapis/google-cloud-python#18532 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày