Skip to content

Test ai review bad code#11

Closed
CongkeChen wants to merge 3 commits into
mainfrom
test-ai-review-bad-code
Closed

Test ai review bad code#11
CongkeChen wants to merge 3 commits into
mainfrom
test-ai-review-bad-code

Conversation

@CongkeChen

Copy link
Copy Markdown
Owner

No description provided.

@github-actions

Copy link
Copy Markdown

AI Code Review

发现的问题

🚨 Critical

  • tests/test_ai_review_bad_code.py:8:测试函数会被 pytest 收集并实际执行 shell 命令
    • 函数名以 test_ 开头,会被 pytest 收集并在每次测试运行时实际执行 subprocess.run(f"cat {user_input}", shell=True),即通过 shell=True 拼接执行 cat ../../etc/passwd,构成真实的路径穿越 + shell 执行副作用(在 CI 中会真实读取系统文件),而非仅作静态检测样本。若目标是 AI review 的静态样本,应改为非 test_ 前缀、放入不被 pytest 收集的目录,或将危险调用注释/守卫掉,避免被实际执行。

⚠️ Warning

  • tests/test_ai_review_bad_code.py:6:硬编码密钥字符串
    • secret_token = "FAKE_SECRET_TOKEN_FOR_REVIEW_TEST" 即便为假值,也会被 secret-scanning 工具命中并可能阻塞 CI;若仅为检测样本,建议放到不被扫描的示例路径或加 # pragma: allowlist secret 等豁免标记。

💡 Suggestion

总结

本 PR 仅新增一个"故意写坏"的 AI review 检测样本,但作为以 test_ 命名的 pytest 用例,它会在测试运行时真实执行 shell 命令读取系统文件,存在一个必须修复的 Critical 问题;其余为该样本固有的安全坏味道,建议明确其"不被执行"的定位。

测试建议

  • 建议验证该文件在 pytest 收集时是否被实际执行(如 pytest --collect-only 与实际运行对比),确认危险调用不会被触发;若需保留为静态样本,补充一条断言其不被收集/不执行的守护测试。

@CongkeChen CongkeChen closed this Jul 15, 2026
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