screener 误报:同批 17 条常规技术 issue 中 5 条长文被判「越权诱导」跳过,唯一通过的是最短那条
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 32/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- ai-infra-agents
Línea de trabajo
The payload never names the screener module, so start by grepping the Python sources for the flag text '疑似指令注入或越权诱导' and the code path that feeds issue bodies into the classifier. Reproduce with the gh issue view loop in the reproduction section, comparing flagged #59 (docs path drift, ~3.9k chars) against claimed #67 (~2.1k chars). The root cause is explicitly unverified and the thread offers three alternative fixes, so agree with maintainers on scope before coding; done means those technical issues classify normally and a test pins the behaviour.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
现象
recursive-agent 的 source 上,同一批 17 条 issue(同一作者 okguitar、同一种写法、同一天提交)被 screener 处理的结果高度不一致:5 条被判定「疑似指令注入或越权诱导」跳过,1 条正常认领。
| recursive issue | 长度(chars) | screener 判定 |
|---|---|---|
| #52 | 4934 | ⚠️ FLAGGED |
| #53 | 4301 | ⚠️ FLAGGED |
| #54 | 3262 | ⚠️ FLAGGED |
| #59 | 3895 | ⚠️ FLAGGED |
| #65 | 3487 | ⚠️ FLAGGED |
| #67 | 2092 | ✅ CLAIMED |
| (其余 11 条) | 2462–7168 | 尚未处理 |
观察到的相关性:被跳过的全是「长文」,唯一被认领的是最短的那条。
为什么判定是误报
这批 issue 是针对 recursive 代码库的常规技术缺陷报告,格式与仓库里既有的
agent 提的 issue 完全一致(## Summary / 证据小节带 path:line / ## Suggested fix / ## Acceptance),
内容全部指向公开仓库里的公开代码。
最清楚的误报是 #59:它讲的是文档路径漂移 —— docs/architecture/overview.md 里写了
src/cli/ 和 src/tui/ 两个已不存在的目录。这条 issue:
- 不含凭证、不含网络访问、不涉及权限或提权;
- 唯一的动作是「把文档里的旧路径改成新路径」;
- 却仍被判为「越权诱导」。
按这个结果,任何篇幅较长的正常技术 issue 都可能被跳过 —— 这对「让 agent 处理 issue」
这个核心用法是致命的:越是有价值的、描述详细的缺陷报告(通常较长),越容易被拦。
影响
这 5 条里有 3 条是阻塞级(recursive-agent 的 C 端形态就绪项):
- #52 是 tracking issue(系列总览 + 验收判据)
- #53 是整条因果链的根因
- #65 是「无 fs / 无 shell」工具面能否强制保证的唯一开关
它们被跳过 ⇒ 自动管线无法处理 ⇒ 只能靠人工介入,而 screener 本该是做减负的。
猜测(未验证)
长度可能是一个因素:screener 或许把「大量祈使句 + 编号步骤 + 代码块」误读成
「在指示 agent 做事」。上面 5 条的 ## Suggested fix 都带编号的祈使步骤,
而通过的那条最短、祈使句也最少。
但这只是猜测 —— 也可能是别的原因(关键词、结构、或单纯的 LLM 判定噪声)。
希望得到的
任选其一即可:
- 放宽 screener:对「公开仓库 + 公开代码路径 + 可复现命令」这类技术内容提高容忍度;
或者把判定从「是否含指令」改成「是否诱导越权/外发敏感信息」这类更具体的行为。 - 告诉我们约束:如果确实有一条可遵守的写法规则(长度上限?避免祈使句?避免某类代码块?),
请写明 —— 我们会照着调整后续 issue 的写法。 - 加一个逃生口:例如
<!-- issue-keeper:review -->之类的 marker,
让人明确标注「这条请人工过目」而不必反复被跳过。
复现
# 5 条被跳过
for n in 52 53 54 59 65; do
gh issue view $n --repo jeffkit/recursive --json comments \
--jq '.comments[] | select(.author.login=="jeffkit") | .body' | head -2
done
# 1 条被认领
gh issue view 67 --repo jeffkit/recursive --json comments \
--jq '.comments[] | select(.author.login=="jeffkit") | .body'
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeffkit/issue-keeper
-
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
jeffkit/issue-keeper#22 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
jeffkit/issue-keeper#21 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
jeffkit/issue-keeper#19 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
jeffkit/issue-keeper#17 · 6 comentarios ·
-
keeper-ignore
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
jeffkit/issue-keeper#16 · 2 comentarios ·
Todos los issues de jeffkit/issue-keeper
Issues similares
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkPosiblemente ocupada @ocelotl la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
open-telemetry/opentelemetry-python#5825 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cuga-project/cuga-agent#1020 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
microsoft/playwright#43640 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día