@routerhub/agent-rules 1.5.131 → 1.5.132
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.base.md +14 -0
- package/package.json +1 -1
- package/rules/global.md +14 -0
package/AGENTS.base.md
CHANGED
|
@@ -125,6 +125,20 @@
|
|
|
125
125
|
|
|
126
126
|
- 用户明确要求上线/部署生产环境 → 直接执行。AI 自行触及生产环境操作 → 必须先向用户确认。
|
|
127
127
|
|
|
128
|
+
## ⚠️ 机密与证书安全铁律
|
|
129
|
+
|
|
130
|
+
### 1. TLS 证书校验:禁止用跳过校验来「修通」连接
|
|
131
|
+
|
|
132
|
+
- ⚠️ **当 TLS 连接报「证书不被信任」(如 certificate signed by unknown authority)时,禁止用 `InsecureSkipVerify=true` 跳过校验来让连接「跑通」。** 根因通常是服务端证书由私有 CA / 内部 CA 签发、不在系统信任池。正确做法:把该私有 CA 的根证书(PEM)加入客户端 `RootCAs`,保持 `InsecureSkipVerify=false` 做真校验。跳过校验等于关闭证书校验,暴露中间人风险,属于安全降级。
|
|
133
|
+
|
|
134
|
+
### 2. 机密/证书的获取方式:部署时确定且几乎不变 → 优先平台注入
|
|
135
|
+
|
|
136
|
+
- ⚠️ **运行时需要的机密 / 证书 / 配置,若其特点是「部署时确定、几乎不变化(只在发版时才更新)」,优先用平台注入(Cloud Run `--update-secrets` / K8s Secret 挂载为环境变量),而不是运行时调 Secret Manager / 配置中心去拉。** 判断依据:
|
|
137
|
+
- 运行时拉取多一层故障点(超时 / 权限 / 网络任一挂掉 → 业务 fail-closed)、多一套解析与护栏代码;
|
|
138
|
+
- `versions/latest` 轮换后仍需重启进程才生效,「热更新」是伪优势;
|
|
139
|
+
- 两种方式安全效果等价,平台注入更简单、更稳;
|
|
140
|
+
- 若公司已有同类服务在生产采用某种方式,优先对齐,不另造一套。
|
|
141
|
+
|
|
128
142
|
## 代码风格
|
|
129
143
|
|
|
130
144
|
- 驼峰命名,禁止下划线,变量至少两个单词。禁止 `as` 和 `any`。函数式编程,不写 `class`,不写 `try/catch`。
|
package/package.json
CHANGED
package/rules/global.md
CHANGED
|
@@ -125,6 +125,20 @@ name: "通用规则"
|
|
|
125
125
|
|
|
126
126
|
- 用户明确要求上线/部署生产环境 → 直接执行。AI 自行触及生产环境操作 → 必须先向用户确认。
|
|
127
127
|
|
|
128
|
+
## ⚠️ 机密与证书安全铁律
|
|
129
|
+
|
|
130
|
+
### 1. TLS 证书校验:禁止用跳过校验来「修通」连接
|
|
131
|
+
|
|
132
|
+
- ⚠️ **当 TLS 连接报「证书不被信任」(如 certificate signed by unknown authority)时,禁止用 `InsecureSkipVerify=true` 跳过校验来让连接「跑通」。** 根因通常是服务端证书由私有 CA / 内部 CA 签发、不在系统信任池。正确做法:把该私有 CA 的根证书(PEM)加入客户端 `RootCAs`,保持 `InsecureSkipVerify=false` 做真校验。跳过校验等于关闭证书校验,暴露中间人风险,属于安全降级。
|
|
133
|
+
|
|
134
|
+
### 2. 机密/证书的获取方式:部署时确定且几乎不变 → 优先平台注入
|
|
135
|
+
|
|
136
|
+
- ⚠️ **运行时需要的机密 / 证书 / 配置,若其特点是「部署时确定、几乎不变化(只在发版时才更新)」,优先用平台注入(Cloud Run `--update-secrets` / K8s Secret 挂载为环境变量),而不是运行时调 Secret Manager / 配置中心去拉。** 判断依据:
|
|
137
|
+
- 运行时拉取多一层故障点(超时 / 权限 / 网络任一挂掉 → 业务 fail-closed)、多一套解析与护栏代码;
|
|
138
|
+
- `versions/latest` 轮换后仍需重启进程才生效,「热更新」是伪优势;
|
|
139
|
+
- 两种方式安全效果等价,平台注入更简单、更稳;
|
|
140
|
+
- 若公司已有同类服务在生产采用某种方式,优先对齐,不另造一套。
|
|
141
|
+
|
|
128
142
|
## 代码风格
|
|
129
143
|
|
|
130
144
|
- 驼峰命名,禁止下划线,变量至少两个单词。禁止 `as` 和 `any`。函数式编程,不写 `class`,不写 `try/catch`。
|