fix(screener): 拦截「三态混同」+ flow 的置信度闸被 passthrough 关掉——低置信猜测与基础设施故障都以「判定为注入风险」永久 blocked
まだ誰も着手していません。
評価
調査の方向性
Start in issue_keeper/screener.py: the Verdict is assembled where the flow result is read (~lines 485-491, where out["low_confidence"] is dropped) and where exceptions fall through (~328-330, 538-541). Then read how keeper.py:466-473 turns any unsafe verdict into a permanent blocked plus a public comment, and compare the flow cache ~/.issue-keeper/screener-flow.json against the validation proposed in point ⑤. Done means low-confidence verdicts and backend errors no longer yield blocked or accusatory comments, with tests covering both paths.
索引モデルが issue の本文から書いたものです。
説明
场景 gap 单(okguitar 提报)· 优先级 P0 · 依赖:无
基线 HEAD = c08c667。(与 OPEN #3 同族:#3 记录现象层,本单给出机制层根因与修复面。)
Summary(三方佐证:代码 + 运行缓存 + 已发出评论)
- 置信度闸被关:生产判定配置来自 console flow 且原样透传(
issue_keeper/screener.py:416-441取min_confidence与on_low_confidence);运行缓存~/.issue-keeper/screener-flow.json(v1.0.4)实测min_confidence=0.8但on_low_confidence="passthrough"(plaita-nodes decision.py:388:passthrough = 低置信选择原样返回);而screener.py:485-491只取out["choice"]/["confidence"],丢弃out["low_confidence"]——阈值形同虚设,0.6-0.78 的猜测与 0.93 的判定同一文案输出。 - 基础设施失败 = 真判定:decision 异常/非 JSON/flow 异常统一走
Verdict(safe=False, reason=f"flow 后端: {exc}")(screener.py:328-330,484,538-541)→ keeper 统一 blocked + 公开评论(keeper.py:466-473+_public_reason空原因兜底文案「疑似指令注入或越权诱导」)。 - 实盘:10-03/04 keeper.log 共 23 条拦截评论——10 条 reason 是 screener 自身故障(
choice '' 不在决策空间×6、LLM 端点不完整×2、未返回 JSON×2,含模板占位$your_answer被回显);13 条「判定为注入风险」中 9 条置信度 <0.8(0.60-0.78)。这些评论已公开贴在 recursive#97/100/102/107、plaita#30/37、agentproc#9/19 上;state.json 现存 10 条 blocked,唯一出口是人工 reopen。
影响
安全加固类技术 issue 被批量永久拦下;对公众输出「你在注入」的不实指控;运维无法区分「模型说 unsafe」与「screener 自己坏了」;每次 reopen 都是重新掷骰子(#97/#100/#107 各被拦 2 次)。
建议
① Verdict 增 error: bool / low_confidence: float|None;② low_confidence=True 一律按「不确定」处理(禁止进 blocked,转人工/自动重试),不受 flow 配置影响;③ 基础设施失败 = 自动重试 N 次 + 计数升级,不设 blocked;④ 公开文案区分「判定为注入(置信度 X)」与「安全过滤服务故障,待重试」;⑤ flow 定义校验(choices 非空、占位符残留、on_low_confidence 白名单)。
- 主要言語
- Python
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
jeffkit/issue-keeper のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 15/100
jeffkit/issue-keeper#22 · コメント 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
jeffkit/issue-keeper#21 · コメント 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 58/100
jeffkit/issue-keeper#19 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
jeffkit/issue-keeper#17 · コメント 6 件 ·
-
keeper-ignore
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
jeffkit/issue-keeper#16 · コメント 2 件 ·
jeffkit/issue-keeper の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
UKGovernmentBEIS/optstop#10 ·
-
maintenance
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
pollen-robotics/reachy_mini#1508 ·
メンテナーはふだん 1 日以内に返信
-
[BUG] `cloud-keys.env` values retain enclosing quotes causing 401 Unauthorized, and missing utf-8 encoding crashes on Windows対応中かも @divyanshu07-code が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
open-jarvis/OpenJarvis#1192 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
sylvainmetayer/homelab#851 ·
メンテナーはふだん 1 日以内に返信