Skip to content

fix(s03): match Windows del as a command word - #548

Open
mameikagou wants to merge 1 commit into
shareAI-lab:mainfrom
mameikagou:fix-s03-del-command-448
Open

fix(s03): match Windows del as a command word#548
mameikagou wants to merge 1 commit into
shareAI-lab:mainfrom
mameikagou:fix-s03-del-command-448

Conversation

@mameikagou

@mameikagou mameikagou commented Aug 25, 2026

Copy link
Copy Markdown

问题

Gate 2 只识别 rm ,Windows 的 del/DEL 可以绕过删除确认;直接匹配裸字符串又会误拦 modeldelimiterecho del test.txt

修复

  • 在 s03–s14、s17 统一按命令位置和 shell 分隔符匹配大小写不敏感的完整 rm/del 命令词;
  • 保留最新 main 中 fix: prevent Windows subprocess output decode crashes #510 的子进程解码修改;
  • 新增覆盖 13 个章节、14 类边界的参数化回归测试;
  • 同步三语 README,并用官方生成器更新 docs.jsonversions.json

Closes #448

验证

  • pytest tests/test_permission_command_words.py -q --capture=no:182 passed
  • pytest tests -q --capture=sys -k 'not test_s16_scenario_matches_the_deterministic_runtime':468 passed, 1 deselected, 100 subtests passed
  • 官方内容生成器二次运行无差异
  • git diff --check

AI 协助

本次修改使用 GPT-5.6 Luna 协助实现,并由 GPT-5.6 Sol 逐项审阅代码、规则和验证结果后提交。

@Bill-Billion

Copy link
Copy Markdown
Collaborator

感谢修复,del/DEL 的问题真实存在,当前方向也比直接匹配裸字符串更合理。不过该权限逻辑会被后续课程继承,目前 s04–s14、s17 仍使用旧规则,运行这些课程时问题依然存在。

请先同步最新 main,在保留 #510 子进程解码修改的基础上,将规则同步到上述课程,并增加参数化回归测试、更新 versions.json。另外当前正则会误匹配 echo del test.txt,建议补充命令位置及分隔符边界测试后再合入。

@mameikagou
mameikagou force-pushed the fix-s03-del-command-448 branch from 635aaba to 44e33d0 Compare August 25, 2026 18:48
@mameikagou

Copy link
Copy Markdown
Author

已按建议更新:同步最新 main 并保留 #510,将规则扩展到 s03–s14、s17,补充命令位置和分隔符边界测试(含 echo del test.txt 反例),同步三语文档并重新生成 docs.json/versions.json。完整测试为 468 passed、1 deselected、100 subtests passed;单独排除的是既有的 s16 异步顺序不稳定用例。麻烦再看一下。

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.

fix(s03): Gate 2 keyword list missing del — Windows delete command bypasses permission check

2 participants