模块知识库/Vibe-Trading 量化交易智能体平台/CI 代码安全门禁脚本集/编码规范
- AST 访问器通过继承
ast.NodeVisitor 并重写 visit_Call、visit_Subscript 来按语法节点类型分派检测逻辑,并使用 _is_os_environ / _is_os_getenv 等辅助方法统一识别目标调用。
- 违规与告警分离:阻塞性违规写入
violations 列表导致退出码 1,非阻塞性告警写入 warnings 列表仅打印不改变退出码。
- 通过行内注释
# noqa: env-gate 实现单行豁免,由 _line_has_noqa 在每条违规判断前检查后跳过该节点。
- 扫描范围通过集中常量(
SCAN_TARGETS、SKIP_PREFIXES、ALLOWED_PREFIX、POP_ALLOWLISTED_FILE)声明,新增目录或例外只需修改这些配置而非逻辑分支。
- Shell 脚本以独立函数式块组织每个 gate,使用颜色变量(RED/GREEN/YELLOW/NC)统一输出格式,并以
FAILED=1 累积失败状态最终统一退出。
- 测试采用夹具式
_run_visitor 辅助函数,将源字符串经 textwrap.dedent 解析后注入 _EnvReadVisitor,断言 violations/warnings 数量与消息片段。