mcpField
S
security-best-practices

security-best-practices

github.com/mindrally安全287942 次安装3 周前更新
代码仓库

关于 security-best-practices

面向后端服务、微服务及处理敏感数据或外部输入的安全开发规范。内容涵盖输入校验、权限控制、弹性机制、安全配置及常见 Web 和 API 风险。

主要功能

  1. 01输入校验与清理
  2. 02身份认证与授权
  3. 03最小权限与访问审计
  4. 04重试、超时和限流
  5. 05安全配置与密钥管理
  6. 06SQL 注入、XSS 和 CSRF 防护

适用场景

  1. 01检查后端安全实践
  2. 02保护 API 免遭滥用
  3. 03管理凭据和敏感数据
  4. 04核查常见 Web 攻击防护

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mindrally/skills --skill security-best-practices

安装后在 Claude Code 中输入/security-best-practices确认已加载。

详细介绍

安全最佳实践

开发后端服务、微服务以及任何处理敏感数据或外部输入的代码时,请遵循以下安全原则。

输入验证与清理

  • 严格执行输入验证与清理,尤其是针对来自外部来源的输入
  • 在应用程序边界验证所有用户输入
  • 验证输入时优先使用允许列表,而非拒绝列表
  • 存储或显示数据前先进行清理,以防止注入攻击
  • 实施严格的类型检查和架构验证

身份验证与授权

  • 为 JWT、Cookie 和配置设置采用安全默认值
  • 实施适当的令牌过期和刷新机制
  • 使用环境变量或密钥管理服务安全地存储机密
  • 切勿在源代码中硬编码凭据或 API 密钥
  • 使用安全的密码哈希算法(bcrypt、Argon2)

权限边界

  • 通过明确的权限边界隔离敏感操作
  • 在整个系统中贯彻最小权限原则
  • 在适当情况下实施基于角色的访问控制(RBAC)
  • 审计并记录对敏感资源的访问
  • 为不同组件使用独立的服务账户

弹性与防护

  • 对所有外部调用实施重试、指数退避和超时机制
  • 部署熔断器和速率限制,以保护服务
  • 考虑采用分布式速率限制,以防止跨服务滥用(例如使用 Redis)
  • 实施请求节流,以防止拒绝服务攻击
  • 使用并设置适当限制的连接池

安全配置

  • 所有网络通信均使用 HTTPS/TLS
  • 配置安全的 HTTP 标头(HSTS、CSP、X-Frame-Options)
  • 在生产环境中禁用详细错误消息
  • 保持依赖项更新,并扫描漏洞
  • 使用安全默认值,并确保故障时仍能保持安全

错误处理

  • 在整个应用程序中实施全面的错误处理
  • 切勿向最终用户暴露堆栈跟踪或内部细节
  • 以适当的详细程度记录安全相关事件
  • 在保障安全的同时,适当传递上下文以便调试
  • 妥善处理身份验证和授权失败

机密管理

  • 使用环境变量或专用的机密管理器
  • 定期轮换凭据和密钥
  • 实施恰当的密钥管理实践
  • 避免记录敏感信息
  • 对敏感数据存储采用静态加密

SQL 注入防护

  • 使用参数化查询或预处理语句
  • 切勿将用户输入拼接到 SQL 查询中
  • 使用能够自动转义值的 ORM 功能
  • 验证并清理所有数据库输入
  • 限制数据库用户权限

跨站脚本(XSS)防护

  • 对所有在 HTML 中呈现的输出进行转义
  • 使用内容安全策略标头
  • 显示用户生成的内容前先进行清理
  • 使用框架提供的转义函数
  • 避免使用 innerHTML 等危险 API

跨站请求伪造(CSRF)防护

  • 对会改变状态的操作实施 CSRF 令牌
  • 验证 origin 和 referer 标头
  • 使用 SameSite Cookie 属性
  • 对敏感操作要求重新进行身份验证
  • 实施恰当的会话管理

API 安全

  • 实施 API 身份验证(JWT、API 密钥、OAuth)
  • 使用速率限制以防止滥用
  • 验证请求内容类型
  • 实施请求大小限制
  • 记录 API 访问以供审计

依赖项安全

  • 定期审计依赖项,检查是否存在漏洞
  • 使用锁定文件确保版本一致
  • 移除未使用的依赖项
  • 关注技术栈的安全公告
  • 在 CI/CD 中实施自动化漏洞扫描

评论

支持 Markdown