chore: update existing rule docs with AI output schema
This commit is contained in:
@@ -72,6 +72,10 @@
|
||||
|
||||
### **4.1.6 质量门禁与 CI/CD 强制执行**
|
||||
|
||||
* **本地提交前拦截**:推荐使用 Git pre-commit 钩子,在本地 Commit 前执行快速的单元测试。
|
||||
* **CI 自动化阻断**:任何合并到主干分支(如 main, develop)的 Pull Request/Merge Request,必须触发 CI 流水线。
|
||||
* 如果自动化测试失败(红灯),或者核心代码覆盖率跌破基准线,代码审查工具必须**硬性阻断**合并按钮,不允许任何特权绕过。
|
||||
* **本地提交前拦截**:推荐使用 Git pre-commit 钩子,在本地 Commit 前执行快速的单元测试。
|
||||
* **CI 自动化阻断**:任何合并到主干分支(如 main, develop)的 Pull Request/Merge Request,必须触发 CI 流水线。
|
||||
* 如果自动化测试失败(红灯),或者核心代码覆盖率跌破基准线,代码审查工具必须**硬性阻断**合并按钮,不允许任何特权绕过。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:强制使用 pytest 框架;测试用例内部必须使用注释显式划分为 `# Arrange`, `# Act`, `# Assert` 三个标准区块。
|
||||
@@ -86,7 +86,11 @@ Reviewer 在审查时,应当自顶向下,先看架构,再看逻辑,最
|
||||
\* \*\*兼容性\*\*: \*\*\[注意\]\*\* 接口 \`POST /api/v1/refund\` 新增了必填参数 \`reason\_code\`,需前端同步发版,暂不兼容旧版 App。
|
||||
\* \*\*性能风险\*\*: 引入了分布式锁,预期单个退款请求耗时增加 10ms,在接受范围内。
|
||||
|
||||
\#\# 🎯 自我检查 (Self Check)
|
||||
\- \[x\] 本地单测全部通过。
|
||||
\- \[x\] 没有遗留的 \`print\` 和注释掉的死代码。
|
||||
\- \[x\] 已补充对应的 OpenAPI 文档注解。
|
||||
\#\# 🎯 自我检查 (Self Check)
|
||||
\- \[x\] 本地单测全部通过。
|
||||
\- \[x\] 没有遗留的 \`print\` 和注释掉的死代码。
|
||||
\- \[x\] 已补充对应的 OpenAPI 文档注解。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:提供安全漏洞与架构越权的排查 Checklist。规定 AI 必须逐项回复检查结果(True/False),一旦发现违规必须输出重构后的安全代码。
|
||||
|
||||
@@ -66,7 +66,11 @@
|
||||
|
||||
* **水平越权防护 (IDOR/BOLA)**:
|
||||
* 永远不要相信用户提交的资源 ID。在修改或删除任何记录(如 POST /orders/123/cancel)时,除了判断 ID 存在,**必须**在数据库查询层面加上归属校验(如 WHERE order\_id=123 AND user\_id={当前登录用户ID})。*(详见 3.2.7 数据隔离规范)*。
|
||||
* **接口防刷与限流 (Rate Limiting)**:
|
||||
* 对于发送短信验证码、注册、登录等极易被黑客利用进行暴力破解或“薅羊毛”的接口,必须在网关层或应用层配置**频次限制**(如同一 IP 每分钟最多 5 次,同一手机号每天最多 10 次)。
|
||||
* **失败提示模糊化**:
|
||||
* 登录失败时,无论是因为“账号不存在”还是“密码错误”,**统一定义返回**:“账号或密码错误”。禁止明确告知攻击者账号是否存在,防止黑客进行“撞库”和账号枚举。
|
||||
* **接口防刷与限流 (Rate Limiting)**:
|
||||
* 对于发送短信验证码、注册、登录等极易被黑客利用进行暴力破解或“薅羊毛”的接口,必须在网关层或应用层配置**频次限制**(如同一 IP 每分钟最多 5 次,同一手机号每天最多 10 次)。
|
||||
* **失败提示模糊化**:
|
||||
* 登录失败时,无论是因为“账号不存在”还是“密码错误”,**统一定义返回**:“账号或密码错误”。禁止明确告知攻击者账号是否存在,防止黑客进行“撞库”和账号枚举。
|
||||
|
||||
## 🤖 [附加] AI 助手执行协议 (AI Output Schema)
|
||||
|
||||
**绝对红线**:提供安全漏洞与架构越权的排查 Checklist。规定 AI 必须逐项回复检查结果(True/False),一旦发现违规必须输出重构后的安全代码。
|
||||
Reference in New Issue
Block a user