# WorkBuddy 安全策略规则
> 规则类型:项目规则 (Project Rule)
> 适用范围:所有操作
> 优先级:最高
---
## 1. 安全原则
### 1.1 核心原则
1. **最小权限原则**:只执行用户明确授权的操作
2. **显式确认原则**:危险操作必须获得明确确认
3. **审计可追溯**:所有敏感操作记录日志
4. **数据保护**:敏感信息绝不外泄
### 1.2 禁止行为
以下操作**绝对禁止**自动执行:
- ❌ 删除系统文件或目录
- ❌ 修改系统环境变量
- ❌ 安装未经验证的软件包
- ❌ 执行来自网络的脚本
- ❌ 访问或传输敏感凭据
- ❌ 修改 Git 配置(用户名、邮箱除外)
- ❌ 执行格式化磁盘操作
- ❌ 修改注册表关键项
---
## 2. 文件系统安全
### 2.1 允许的操作范围
```
✅ 允许的操作:
├── 工作目录内文件的读写
├── 创建临时文件(需清理)
├── 读取项目配置文件
└── 修改项目源码文件
⚠️ 需要确认的操作:
├── 删除非空目录
├── 批量重命名文件
├── 修改 .gitignore
└── 覆盖已有文件
❌ 禁止的操作:
├── 访问 ~/.ssh, ~/.aws 等敏感目录
├── 修改系统配置文件
├── 删除项目外的文件
└── 创建系统级符号链接
```
### 2.2 路径安全检查
执行文件操作前必须验证:
```typescript
// 路径验证示例
const isSafePath = (basePath: string, targetPath: string): boolean => {
const resolvedBase = path.resolve(basePath);
const resolvedTarget = path.resolve(basePath, targetPath);
// 确保目标路径在基础路径内
return resolvedTarget.startsWith(resolvedBase);
};
```
### 2.3 敏感文件保护
以下文件类型**禁止读取内容**:
- `*.pem`, `*.key` - 密钥文件
- `.env*` - 环境变量文件
- `*config*.{json,yaml,yml}` 包含敏感字段
- `id_rsa`, `id_ed25519` - SSH 私钥
- `*.p12`, `*.pfx` - 证书文件
- `credentials*`, `secrets*` - 凭据文件
---
## 3. 命令执行安全
### 3.1 命令分类
| 类别 | 示例 | 处理方式 |
|-----|------|---------|
| 安全命令 | `git status`, `npm list` | 可直接执行 |
| 普通命令 | `npm install`, `git commit` | 提示后执行 |
| 敏感命令 | `rm -rf`, `format`, `regedit` | **必须明确确认** |
| 网络命令 | `curl`, `wget` | 检查 URL 安全性 |
### 3.2 危险命令清单
```bash
# 文件删除类
rm -rf /
Remove-Item -Recurse -Force C:\
rd /s /q C:\
# 磁盘操作类
format
diskpart
fdisk
# 系统修改类
regedit
reg add
reg delete
# 网络传输类
curl -d @/etc/passwd
wget --post-file=~/.ssh/id_rsa
# 权限提升类
sudo
runas
```
### 3.3 命令执行前检查
执行任何命令前,必须:
1. 解析命令参数
2. 检查是否包含危险操作
3. 如涉及文件路径,验证路径安全性
4. 向用户展示将要执行的完整命令
5. 获得明确确认
---
## 4. 网络安全
### 4.1 URL 安全策略
**允许的 URL 模式**:
```
✅ 允许:
- https://github.com/*
- https://raw.githubusercontent.com/*
- https://registry.npmjs.org/*
- https://pypi.org/*
- https://cdn.jsdelivr.net/*
⚠️ 需要确认:
- http://* (非 HTTPS)
- IP 地址直接访问
- 非常见域名
❌ 禁止:
- 包含凭证的 URL (user:pass@host)
- 已知的恶意域名
- 本地网络地址 (192.168.*, 10.*)
```
### 4.2 数据传输安全
- 优先使用 HTTPS
- 禁止在 URL 中传递敏感参数
- 禁止将敏感数据发送到外部服务
---
## 5. 代码安全
### 5.1 代码注入防护
生成代码时必须:
- 对用户输入进行转义
- 使用参数化查询防止 SQL 注入
- 防止命令注入攻击
```typescript
// ✅ 安全示例
const query = 'SELECT * FROM users WHERE id = ?';
db.query(query, [userId]);
// ❌ 危险示例
const query = `SELECT * FROM users WHERE id = ${userId}`;
db.query(query);
```
### 5.2 依赖安全
- 优先使用官方源安装依赖
- 检查依赖包的维护状态和安全记录
- 定期更新依赖修复安全漏洞
---
## 6. 日志和审计
### 6.1 操作日志
以下操作必须记录:
- 文件创建、修改、删除
- 命令执行
- 网络请求
- 配置变更
### 6.2 日志格式
```json
{
"timestamp": "2026-03-19T10:30:00Z",
"level": "INFO",
"action": "file_write",
"path": "/workspace/project/config.json",
"user": "administrator",
"session": "uuid-v4"
}
```
### 6.3 敏感信息脱敏
日志中必须脱敏的信息:
- 密码 → `[REDACTED]`
- API 密钥 → `sk-***`
- 令牌 → `eyJ***`
- 身份证号 → `110***********1234`
---
## 7. 应急响应
### 7.1 安全事件分级
| 级别 | 描述 | 响应时间 |
|-----|------|---------|
| P0 | 数据泄露、系统入侵 | 立即 |
| P1 | 可疑活动、异常访问 | 1小时内 |
| P2 | 配置错误、权限问题 | 24小时内 |
### 7.2 事件响应流程
```
发现异常
↓
立即停止相关操作
↓
评估影响范围
↓
通知相关人员
↓
采取修复措施
↓
记录事件详情
↓
事后复盘改进
```
---
## 8. 合规要求
### 8.1 数据保护法规
- 遵守 GDPR(欧盟)
- 遵守 CCPA(加州)
- 遵守《个人信息保护法》(中国)
### 8.2 安全标准
- 遵循 OWASP 安全指南
- 遵循 ISO 27001 信息安全标准
---
*本安全策略由 WorkBuddy 强制执行,违反规则的操作将被阻止。*
- THE END -
最后修改:2026年3月21日
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
如经许可后转载,请注明出处:https://www.prolightsfxjh.com/article/eric-claw/

共有 0 条评论