Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

mimosa 写入门禁误报:零输入静态 SQL 的 QueryRow 形态被判注入硬拒,且该类 finding 无法铸 exclusion 锚

Ouverte
#59 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
go, sql
Domaine
security, tooling

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 无关),整个写入被硬拒。项目里既有测试大量含此形态,导致这些文件事实上不可编辑,只能靠收窄编辑锚点绕行

工具面缺口(误报无法自救)

  1. exclusion 锚只能用深扫 findings.json 的 identity.anchor,但 security_scan(deep,含 focusFiles 指向该文件)不产出任何 *_test.go finding——门禁误报无锚可铸
  2. hook-state findingEvents 的 line_hash 与 exclusion anchor 派生不同源。同一 finding 实证:line_hash e75974d4… ≠ anchor 64a7244…(deploy.go 命令注入)。用 line_hash 铸 exclusion 条目无效(已实测,仍拦)
  3. 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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de zai-org/zcode-plugins

Toutes les issues de zai-org/zcode-plugins

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.