201 lines
5.6 KiB
Markdown
201 lines
5.6 KiB
Markdown
# 安全策略
|
||
|
||
## 🔒 报告安全漏洞
|
||
|
||
我们认真对待安全。如果您发现 SuperClaude Framework 中的安全漏洞,请帮助我们负责任地解决它。
|
||
|
||
### 负责任的披露
|
||
|
||
**请不要为安全漏洞创建公共 GitHub 问题。**
|
||
|
||
相反,请直接通过电子邮件联系我们:`security@superclaude.dev`(或创建私有 GitHub 安全咨询)
|
||
|
||
### 报告内容
|
||
|
||
报告漏洞时,请提供:
|
||
|
||
- **漏洞描述**及其潜在影响
|
||
- **复现步骤**提供最小示例
|
||
- **受影响的版本**和组件
|
||
- **建议的修复**如果您有任何想法
|
||
- **您的联系信息**用于后续问题
|
||
|
||
### 响应时间表
|
||
|
||
- **初始响应**:报告后 48 小时内
|
||
- **严重性评估**:1 周内
|
||
- **修复时间表**:取决于严重程度(见下文)
|
||
- **公开披露**:修复发布且用户有时间更新后
|
||
|
||
## 🚨 严重性级别
|
||
|
||
### 关键(24-48 小时内修复)
|
||
- 远程代码执行漏洞
|
||
- 影响系统安全的权限提升
|
||
- 数据泄露或对敏感信息的未授权访问
|
||
|
||
### 高(1 周内修复)
|
||
- 通过钩子操作进行的本地代码执行
|
||
- 超出预期范围的未授权文件系统访问
|
||
- MCP 服务器通信中的身份验证绕过
|
||
|
||
### 中(1 个月内修复)
|
||
- 非敏感数据的信息泄露
|
||
- 通过资源耗尽造成的拒绝服务
|
||
- 影响有限的输入验证问题
|
||
|
||
### 低(下一版本修复)
|
||
- 轻微信息泄露
|
||
- 具有安全影响的配置问题
|
||
- 利用性低的依赖漏洞
|
||
|
||
## 🛡️ 安全功能
|
||
|
||
### Hook 执行安全
|
||
- **超时保护**:所有 hooks 都有可配置的超时
|
||
- **输入验证**:所有 hook 输入的 JSON 模式验证
|
||
- **沙盒执行**:hooks 以有限系统权限运行
|
||
- **错误包含**:hook 失败不影响框架稳定性
|
||
|
||
### 文件系统保护
|
||
- **路径验证**:防止目录遍历攻击
|
||
- **权限检查**:操作前验证文件系统权限
|
||
- **安全默认**:保守的文件访问模式
|
||
- **备份机制**:操作失败时的安全回退
|
||
|
||
### MCP 服务器安全
|
||
- **服务器验证**:验证 MCP 服务器的真实性和完整性
|
||
- **通信加密**:所有 MCP 通信的安全通道
|
||
- **超时处理**:防止无响应服务器的资源耗尽
|
||
- **回退机制**:服务器受损时的优雅降级
|
||
|
||
### 配置安全
|
||
- **输入清理**:所有配置输入都经过验证和清理
|
||
- **密钥管理**:API 密钥和敏感数据的安全处理
|
||
- **权限控制**:settings.json 中的细粒度访问控制
|
||
- **审计日志**:跟踪安全相关的配置更改
|
||
|
||
## 🔧 安全最佳实践
|
||
|
||
### 用户指南
|
||
|
||
#### 安装安全
|
||
```bash
|
||
# 运行前验证安装脚本
|
||
cat install.sh | less
|
||
|
||
# 使用开发模式进行测试
|
||
./install.sh --dev
|
||
|
||
# 安装后检查文件权限
|
||
ls -la ~/.claude/
|
||
```
|
||
|
||
#### 配置安全
|
||
```json
|
||
{
|
||
"permissions": {
|
||
"deny": [
|
||
"Bash(rm:-rf /*)",
|
||
"Bash(sudo:*)",
|
||
"WebFetch(domain:localhost)"
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 定期维护
|
||
- **定期更新**:保持 SuperClaude 和依赖项为最新版本
|
||
- **查看日志**:检查 `~/.claude/` 中是否有可疑活动
|
||
- **监控权限**:确保 hooks 具有最小必需权限
|
||
- **验证配置**:使用提供的模式验证设置
|
||
|
||
### 开发者指南
|
||
|
||
#### Hook 开发
|
||
```python
|
||
# 始终验证输入
|
||
def validate_input(data: Dict[str, Any]) -> bool:
|
||
required_fields = ["tool", "data"]
|
||
return all(field in data for field in required_fields)
|
||
|
||
# 优雅地处理错误
|
||
try:
|
||
result = process_data(input_data)
|
||
except Exception as e:
|
||
return {"status": "error", "message": "Processing failed"}
|
||
|
||
# 对外部调用使用超时
|
||
import signal
|
||
signal.alarm(10) # 10秒超时
|
||
```
|
||
|
||
#### 安全编码指南
|
||
- **输入验证**:验证所有外部输入
|
||
- **错误处理**:永远不要在错误消息中暴露内部状态
|
||
- **资源限制**:实现超时和资源限制
|
||
- **最小权限原则**:请求最小必需权限
|
||
|
||
## 📋 安全检查清单
|
||
|
||
### 发布前
|
||
- [ ] 所有依赖项更新到最新安全版本
|
||
- [ ] 运行静态安全分析(bandit、safety)
|
||
- [ ] 输入验证测试通过
|
||
- [ ] 审查权限模型
|
||
- [ ] 更新包含安全考虑因素的文档
|
||
|
||
### 定期维护
|
||
- [ ] 每月依赖项安全更新
|
||
- [ ] 代码库的季度安全审查
|
||
- [ ] 年度第三方安全评估
|
||
- [ ] 持续监控安全咨询
|
||
|
||
## 🤝 安全社区
|
||
|
||
### 漏洞奖励计划
|
||
目前,我们没有正式的漏洞奖励计划,但我们认可帮助改进 SuperClaude 安全性的安全研究人员:
|
||
|
||
- 在发布说明和安全咨询中的**公开致谢**
|
||
- 新功能和版本的**早期访问**
|
||
- 与开发团队的**直接沟通**
|
||
|
||
### 安全咨询流程
|
||
1. 对报告漏洞的**内部评估**
|
||
2. 全面测试的**修复开发**
|
||
3. 与安全研究人员的**协调披露**
|
||
4. 修复发布后的**公开咨询**
|
||
5. **事后分析**以防止类似问题
|
||
|
||
## 📞 联系信息
|
||
|
||
### 安全团队
|
||
- **电子邮件**:`security@superclaude.dev`
|
||
- **PGP 密钥**:根据要求提供
|
||
- **响应时间**:最多 48 小时
|
||
|
||
### 一般安全问题
|
||
对于一般安全问题(不是漏洞):
|
||
- 创建带有"security"标签的 GitHub 讨论
|
||
- 检查此文件中的现有文档
|
||
- 查看 [贡献指南](CONTRIBUTING.md) 了解开发安全实践
|
||
|
||
## 📚 额外资源
|
||
|
||
### 安全相关文档
|
||
- [贡献指南](CONTRIBUTING.md) - 安全开发实践
|
||
- [安装指南](README.md) - 安全安装程序
|
||
- [配置参考](SuperClaude/Settings/settings.json) - 安全设置
|
||
|
||
### 外部安全资源
|
||
- [OWASP 前十](https://owasp.org/www-project-top-ten/)
|
||
- [Python 安全最佳实践](https://python.org/dev/security/)
|
||
- [Node.js 安全最佳实践](https://nodejs.org/en/docs/guides/security/)
|
||
|
||
---
|
||
|
||
**最后更新**:2025年7月
|
||
**下次审查**:2025年10月
|
||
|
||
感谢您帮助保持 SuperClaude Framework 的安全性!🙏
|