Skip to content

feat: 漏洞入库两段式把关(Stage-0 预筛闸门) - #43

Open
moliyu1101 wants to merge 1 commit into
StanleyNull:mainfrom
moliyu1101:feat-intake-screen
Open

feat: 漏洞入库两段式把关(Stage-0 预筛闸门)#43
moliyu1101 wants to merge 1 commit into
StanleyNull:mainfrom
moliyu1101:feat-intake-screen

Conversation

@moliyu1101

Copy link
Copy Markdown
Contributor

背景:worker 一 submit 就把漏洞直接插入 Finding 主表并固定 pending_review,垃圾/半成品洞先落库再被 Review 兜底,评审噪音高、人工可见一堆废洞。

方案:把入库改成两段式。

  • 第一段(本 PR,新增):Stage-0 确定性预筛闸门,在实时落库(_persist_single_finding)与整轮落库(_persist_worker_result)前跑,明显垃圾/半成品洞不再写入 Finding 主表,只记一条 TaskEvent(kind=intake_reject)。
  • 第二段(原有):Review 的 AI 初审 + 人工终审继续把关。

预筛原则:全确定性、无副作用、可单测,宁可少拦也不误杀真洞。目前只拦两类明确垃圾:完全空壳(无类型/无实证/无描述标题),以及命中「未发现漏洞」类否定措辞且无实证的提交。

文件:

  • 新增 app/tools/intake_screen.py(预筛逻辑)
  • app/orchestrator.py 两个入库点接线 + _reject_intake 辅助
  • 新增 tests/test_intake_screen.py(6 条单测)

验证:python -m unittest tests.test_intake_screen -v 通过;全量套件无新增回归。

worker 实时与整轮落库前先跑确定性预筛,明显垃圾/半成品洞不再写入 Finding 主表,只记 TaskEvent(intake_reject),随后 Review(AI 初审+人工终审)作为第二道闸门继续把关。

新增 app/tools/intake_screen.py 与 6 条单测;命中即为空壳或带'未发现漏洞'类否定措辞且无实证的提交。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant