安全加固与边界防护
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/security-and-hardening-1krg 技能。
技能介绍
要解决什么问题
Web 应用的安全缺陷大多始于设计阶段没有定义信任边界,而不是某行代码写错。这个技能针对"框架负责了就安全"的误判:未校验的外部输入、拼接 SQL、日志泄漏密钥、无 allowlist 的服务端 URL 抓取,以及把 LLM 输出直接塞进 eval()、DOM 或 shell。它把安全当作贯穿每一行触及用户数据、认证或外部系统代码的约束,而非上线前的一个阶段。
核心工作方式
先做五分钟威胁建模:画出信任边界(HTTP 请求、文件上传、webhook、第三方 API、LLM 输出),命名资产,对每个边界跑 STRIDE,并为功能先写滥用用例再写正常用例。
然后是三层边界规则:
- Always Do:边界校验输入、参数化 SQL、输出编码防 XSS、HTTPS、argon2/bcrypt 哈希密码、安全响应头、httpOnly cookie、发布前跑原生依赖审计
- Ask First:新增认证流程、存储新敏感数据、改 CORS、加文件上传、调限流、授高权限,均需人工确认
- Never Do:提交密钥、信任客户端校验、禁用安全头、对用户数据用
eval()或innerHTML、session 存 localStorage、暴露堆栈
OWASP 部分给出具体防护模式:SSRF 的 IP 范围检查及其 TOCTOU 缺口、边界 schema 校验、依赖审计决策树(漏洞函数是否可达、运行时还是 dev 依赖)、供应链卫生(先定安装边界与锁文件、首次执行前禁用脚本、永不自动 audit fix --force、验证签名)。
AI 功能映射 OWASP Top 10 for LLM(2025):模型输出当不可信输入(LLM05)、权限在代码里强制而非 prompt(LLM01)、密钥与跨租户数据不进上下文(LLM02/LLM07)、收敛工具权限(LLM06)、限制 token 与循环深度(LLM10)、向量库按租户分区(LLM08)。
适用边界与注意点
这是一份工程约束清单,不是可执行工具集:它不替你跑扫描、不生成代码。SSRF 检查承认存在 TOCTOU 残留风险,高风险场景需解析一次并连接固定 IP 或前置过滤代理。依赖审计只能匹配已知公告,发现不了新变恶意的包。技能以红线清单和实现后验证 checklist 收尾,并反驳"内部工具不用安全""框架会处理"等常见自我说服。
使用场景
- [安全加固] 给带登录的Web应用补全每个接口的鉴权校验,排查越权访问。
- [威胁建模] 上线前花五分钟用STRIDE分析表单、上传、webhook等信任边界。
- [依赖治理] 发布前处理依赖审计告警,判断漏洞是否可达再决定修复或延期。
- [AI功能] 写调用LLM的聊天/RAG功能,防止提示注入和模型输出进eval或SQL。
适合人员
- 负责Web应用后端与认证模块、要在每个接口落实鉴权与输入校验的后端工程师
- 需要把OWASP Top 10和SSRF防护落到代码里的DevSecOps或安全工程师
- 准备上线带登录、支付、文件上传功能、担心设计期安全缺陷的全栈开发者
- 在产品里集成LLM对话或RAG、需要处理提示注入与输出信任边界的研发人员