2.5 KiB
2.5 KiB
name, description
| name | description |
|---|---|
| edge-security-secrets | 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.shdeploy_cloud.shscripts/migrate_edge.shscripts/install_all.sh
脱敏规则
展示时保留前后少量字符:
sk-abc...xyz
URL 中如包含 key、token、password 参数,必须隐藏参数值。
日志中禁止输出:
Authorization
api_key
password
secret
token
credential_key
提交前检查
提交前建议:
git status --short
git diff --cached
rg -n "api[_-]?key|password|secret|token|credential_key|Authorization" .
发现真实密钥时:
- 不提交。
- 改为配置文件或环境变量。
- 如已暴露,提醒用户轮换密钥。
云平台 AI 配置
- 后端配置可保存 Provider、Base URL、模型名、思考模式等。
- 前端和报告不展示内部 Provider 名称、模型细节和 Key。
- AI 请求失败日志可以记录错误类型和状态码,但不要记录 Key。
远程操作
- SSH 命令中可使用既有默认连接规则,但最终回复不要打印密码。
- 采集远程配置时,输出前先脱敏。
- 复制配置文件前确认是否包含密钥。
用户可见文档
- 协议介绍、用户手册、AI 报告、导出报告不写内部技术细节和密钥。
- 运维文档可以写配置路径和字段含义,但示例值必须使用占位符。