系统安全加固
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/security-hardening-h6li
技能介绍
解决应用边界的常见安全盲区
在现代 Web 与微服务开发中,团队往往将精力集中在业务逻辑实现上,而忽视了系统边界的安全防护。这导致应用暴露在多种常见威胁之下:缺乏严格的输入校验使得应用容易遭受注入攻击或恶意文件上传;输出编码不当引发 XSS 漏洞;JWT 被滥用于存储敏感数据或缺乏合理的过期与撤销机制;此外,密钥硬编码在代码库中、依赖包携带已知高危漏洞等问题,常常在生产环境爆发后才被察觉。本技能旨在为工程师提供一套可落地的安全加固基线,从代码和配置层面系统性地封堵这些常见漏洞。
核心能力与关键步骤
该技能将安全实践拆解为多个可执行的工程步骤。在输入与输出处理方面,强调在边界对所有输入进行类型、长度、格式和范围的校验,优先使用白名单,并对文件上传检查 MIME 类型与魔术字节;同时强制使用开启自动转义的模板引擎来处理输出,避免手动拼接 HTML。
在网络与协议防护上,指导如何正确配置 Content Security Policy(建议先用 Content-Security-Policy-Report-Only 测试,并使用 nonce 替代 unsafe-inline),以及通过 helmet 等中间件统一注入安全响应头。对于速率限制,推荐基于 Redis 的滑动窗口算法,并对认证端点施加更严格的阈值。
在身份认证与密钥管理部分,规范了 JWT 的使用:访问令牌设置 15 分钟短过期,刷新令牌存放于 httpOnly Cookie 中,并根据架构选择 RS256 或 HS256 签名,同时明确禁止在 Payload 中存放敏感信息。此外,技能还涵盖了密钥的外部化管理、环境隔离、定期轮换,以及在 CI 流水线中集成依赖审计与自动更新工具。最后,提供一份包含 10 项关键检查的部署前清单,确保发布前的安全底线。
适用边界与注意事项
需要明确的是,本技能提供的是工程维度的最佳实践与基线策略,无法替代专业的安全审计或深度的渗透测试。在实施速率限制和 CSP 时,需评估对现有系统性能和兼容性的影响,建议采用灰度或只读报告模式逐步过渡。此外,依赖审计工具与密钥管理系统的集成依赖于团队现有的 CI/CD 基础设施,落地前需确保相关环境(如 Redis、Vault 或云厂商 Secrets Manager)已准备就绪。
使用场景
- 开发REST接口时,需要配置短期过期与刷新机制,并防止敏感数据泄露。
- 上线前检查代码库,清理硬编码密钥,并接入CI流水线的依赖漏洞自动拦截。
- 构建表单提交接口,需实现边界输入校验、文件上传检查及输出自动转义。
适合人员
- 后端工程师:在设计微服务或单体应用接口时,需要落地身份认证规范与SQL注入防护。
- 运维工程师:在搭建CI/CD流水线时,需要配置依赖审计拦截与密钥扫描工具。
- 前端工程师:在开发用户交互页面时,需要配置内容安全策略与XSS输出转义机制。