Agent Skills
返回列表
🔒

安全加固

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 安装 @kunlungrowth/security-and-hardening。

技能介绍

你要解决的不是“加几个防护”

安全事故大多不是写错了一行边界校验,而是设计阶段就没画出信任边界:用户输入、第三方 webhook、文件上传、LLM 输出被当成可信数据直接进了 SQL、shell、模板或 innerHTML。本技能把安全当作每一行触及用户数据、鉴权、外部系统的代码约束,而不是发布前的检查清单。

它如何工作

先威胁建模:画出不可信数据进入系统的边界,列出凭据、PII、支付数据等资产,对每个边界跑 STRIDE,并把滥用用例写在正常用例旁边。画不出边界就先停手,这通常属于 OWASP A04 不安全设计。

三层边界规则:总是做 包括边界 schema 校验、SQL 参数化、输出转义、HTTPS、argon2/bcrypt 哈希、安全头与安全 cookie;先问 覆盖新增鉴权流、新敏感数据类别、新外部集成、CORS、上传、限流与高权限授予;绝不做 覆盖提交密钥、记录敏感数据、客户端校验当边界、用 eval 处理用户数据、localStorage 存 token、向用户暴露堆栈。

OWASP Top 10 与 SSRF:注入、失效鉴权、XSS、越权访问控制、安全配置错误、敏感数据暴露、输入校验、文件上传都有对应防护模式。凡服务端受用户影响去 fetch URL,必须 allowlist scheme 与 host,解析所有 DNS 记录并拒绝私有/保留地址,禁重定向;高风险场景钉死解析出的 IP 或前置过滤代理。

依赖与密钥:npm/pnpm audit 只报已知通告,修复按漏洞代码是否在运行/构建/测试/部署路径可达来分级,绝不 blanket 批准安装脚本或执行 npm audit fix --force。密钥一旦进入提交历史,删行不够,应先吊销重发再清理历史。

AI/LLM 功能单独加固:模型输出按不可信输入处理,prompt 不承载权限,密钥和租户数据不进 prompt,工具与 agent 权限最小化,RAG 检索按租户隔离。

适用边界

适合构建任何接受用户输入、实现鉴权、存储或传输敏感数据、集成外部 API、处理支付或 PII 的服务。纯静态、无用户输入、无外部交互的内部计算不需要这套流程。输出为自然语言说明加 SecurityReview 工件,可交给 code review、CI/CD 门禁、发布核查和日志审计消费。完整 OWASP 防护清单、STRIDE 表、依赖决策树与评审清单见 references/template.md。

使用场景

  • 给新增的「用户评论提交」功能画信任边界、跑 STRIDE,检查评论内容是否会被拼接进 SQL 或直传 `innerHTML`,避免注入与 XSS。
  • 服务端新增「从 URL 拉取头像」能力,按 SKILL.md 校验 URL 的 scheme 与 host 白名单,拒绝私有 IP,防止 SSRF 探测内网。
  • 项目要接入支付回调 webhook,在写代码前加固:鉴权验证、参数化查询、敏感字段剥离、通用错误响应,确保回调不会被伪造或篡改。
  • 给现有 AI 对话功能加安全约束:模型输出不直接进 `eval`,prompt 不包含密钥,工具调用权限最小化,RAG 检索按租户分区。

适合人员

  • 后端工程师:需要在处理用户输入、鉴权、数据库查询的代码里落地安全控制,避免注入与越权。
  • 全栈工程师:开发涉及文件上传、AI 对话的功能,要在前端输入校验之外,补全边界安全与 LLM 防护。
  • DevOps 工程师:负责 CI/CD 与依赖管理,需要按 SKILL.md 分级处理 `npm audit` 结果,阻断不安全的依赖脚本。