复现已有算法
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
---
|
||||
name: edge-security-secrets
|
||||
description: edge_collector 密钥、权限和敏感配置处理规范。用于处理 AI Key、JWT secret、MQTT dynsec、SSH 密码、数据库密码、Token、配置同步、日志脱敏、提交检查和用户可见文档时,防止泄露、覆盖运行密钥或把敏感信息提交到仓库。
|
||||
---
|
||||
|
||||
# edge_collector 敏感配置安全
|
||||
|
||||
## 敏感信息范围
|
||||
|
||||
- AI Provider API Key。
|
||||
- `jwt_secret`。
|
||||
- terminal `credential_key`。
|
||||
- MQTT dynsec 管理员和客户端密码。
|
||||
- 数据库账号密码。
|
||||
- SSH 密码和私钥。
|
||||
- Token、Cookie、Session。
|
||||
- 内网穿透访问密钥。
|
||||
- 客户设备真实敏感地址。
|
||||
|
||||
## 基本原则
|
||||
|
||||
- 不在最终回复中打印完整密钥。
|
||||
- 不把密钥写死进代码。
|
||||
- 不提交真实配置。
|
||||
- 不用打包产物覆盖远端运行密钥。
|
||||
- 日志和前端错误提示要脱敏。
|
||||
- 用户文档隐藏内部模型、Provider、Key、URL 中的敏感部分。
|
||||
|
||||
## 配置文件
|
||||
|
||||
运行态配置优先保存在目标主机 `runtime` 或服务目录下:
|
||||
|
||||
- `runtime/edge/config/`
|
||||
- `~/cloud_server/config/server_config.json`
|
||||
- `~/cloud_server/config/ai_config.json`
|
||||
|
||||
打包和同步脚本必须保护动态配置。修改以下脚本时要特别检查:
|
||||
|
||||
- `package.sh`
|
||||
- `deploy_cloud.sh`
|
||||
- `scripts/migrate_edge.sh`
|
||||
- `scripts/install_all.sh`
|
||||
|
||||
## 脱敏规则
|
||||
|
||||
展示时保留前后少量字符:
|
||||
|
||||
```text
|
||||
sk-abc...xyz
|
||||
```
|
||||
|
||||
URL 中如包含 key、token、password 参数,必须隐藏参数值。
|
||||
|
||||
日志中禁止输出:
|
||||
|
||||
```text
|
||||
Authorization
|
||||
api_key
|
||||
password
|
||||
secret
|
||||
token
|
||||
credential_key
|
||||
```
|
||||
|
||||
## 提交前检查
|
||||
|
||||
提交前建议:
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
git diff --cached
|
||||
rg -n "api[_-]?key|password|secret|token|credential_key|Authorization" .
|
||||
```
|
||||
|
||||
发现真实密钥时:
|
||||
|
||||
1. 不提交。
|
||||
2. 改为配置文件或环境变量。
|
||||
3. 如已暴露,提醒用户轮换密钥。
|
||||
|
||||
## 云平台 AI 配置
|
||||
|
||||
- 后端配置可保存 Provider、Base URL、模型名、思考模式等。
|
||||
- 前端和报告不展示内部 Provider 名称、模型细节和 Key。
|
||||
- AI 请求失败日志可以记录错误类型和状态码,但不要记录 Key。
|
||||
|
||||
## 远程操作
|
||||
|
||||
- SSH 命令中可使用既有默认连接规则,但最终回复不要打印密码。
|
||||
- 采集远程配置时,输出前先脱敏。
|
||||
- 复制配置文件前确认是否包含密钥。
|
||||
|
||||
## 用户可见文档
|
||||
|
||||
- 协议介绍、用户手册、AI 报告、导出报告不写内部技术细节和密钥。
|
||||
- 运维文档可以写配置路径和字段含义,但示例值必须使用占位符。
|
||||
Reference in New Issue
Block a user