mimosa 写入门禁误报:零输入静态 SQL 的 QueryRow 形态被判注入硬拒,且该类 finding 无法铸 exclusion 锚
Les mainteneurs répondent en général sous 3 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 38/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
环境
- 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 是唯一通道)。
- Langage dominant
- Python
- Étoiles
- 73
- Forks
- 46
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de zai-org/zcode-plugins
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
zai-org/zcode-plugins#14 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
zai-org/zcode-plugins#58 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
zai-org/zcode-plugins#57 · 1 commentaire ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
zai-org/zcode-plugins#54 ·
Les mainteneurs répondent en général sous 3 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
zai-org/zcode-plugins#53 ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de zai-org/zcode-plugins
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
letsencrypt/cp-cps#353 ·
-
Marble Madness II is missingOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
PedestrianDynamics/pyFDS-Evac#394 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
DOI-USGS/pywatershed#421 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python-pillow/Pillow#10087 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour