用途
Application Security 技能用于 Web 应用的安全编码、漏洞预防与安全工具链落地。原文定位为「Secure coding patterns, vulnerability prevention, and security tooling for web applications」,适用于加固应用、审查安全态势(reviewing security posture)或实施防御性编码实践(defensive coding practices)时使用。
主要能力
OWASP Top 10(2021)代码示例
技能以 TypeScript 正反例说明常见风险:
- A01 权限控制失效(Broken Access Control):反面示例是没有授权校验的
/api/users/:id路由;正面示例加入authenticate中间件,校验请求者身份或 ADMIN 角色,否则返回 403。 - A02 加密失败(Cryptographic Failures):反面示例使用 MD5 对密码做哈希;正面示例使用 bcrypt,指定 12 轮(
bcrypt.hash(password, 12))并用bcrypt.compare校验。 - A03 注入(Injection):反面示例是字符串拼接 SQL;正面示例使用 Prisma 的
findUnique或参数化的prisma.$queryRaw。 - A07 跨站脚本(XSS):反面示例是
element.innerHTML = userInput及 React 中的dangerouslySetInnerHTML;正面示例是textContent或依赖 React 默认转义。
内容安全策略(CSP)
提供 Next.js middleware 的推荐响应头配置示例:生成 nonce,组合 default-src 'self'、script-src 'self' 'nonce-...'、style-src 'self' 'unsafe-inline'、img-src 'self' data: https:、font-src 'self'、connect-src 'self' https://api.example.com、frame-ancestors 'none'、base-uri 'self'、form-action 'self',并同时设置 X-Content-Type-Options: nosniff、X-Frame-Options: DENY、Referrer-Policy: strict-origin-when-cross-origin、Permissions-Policy: camera=(), microphone=(), geolocation=()。
SAST/DAST 工具
- 静态分析(SAST):ESLint 安全插件(
eslint-plugin-security、@microsoft/eslint-plugin-sdl,JS/TS)、Semgrep(semgrep --config=auto .,多语言)、Bandit(bandit -r src/,Python)、gosec(gosec ./...,Go)、cargo-audit(cargo audit,Rust)。 - 动态分析(DAST):OWASP ZAP(代理式扫描器、API 扫描模式)、Nuclei(模板化扫描器)、Burp Suite(手工与自动化渗透测试)。
- 依赖扫描命令:Node.js 用
npm audit、npm audit fix;Python 用pip-audit、safety check;Go 用govulncheck ./...;Rust 用cargo audit。
输入校验与限流
- 服务端校验(始终必需):使用 Zod 定义 schema,例如邮箱
z.string().email().max(255)、姓名z.string().min(1).max(100).regex(/^[a-zA-Z\s'-]+$/)、年龄z.number().int().min(0).max(150).optional(),并用CreateUserSchema.parse(input)得到类型安全的数据。 - 限流:使用
express-rate-limit,示例为 15 分钟窗口内最多 5 次尝试,应用于/api/auth/login。
安全检查清单
原文列出:所有用户输入在服务端校验;所有数据库操作使用参数化查询;配置 CSP 头;认证端点启用限流;正确限制 CORS;密钥放入环境变量而非代码;扫描依赖漏洞;认证令牌放在 httpOnly cookie;生产环境强制 HTTPS;错误信息不泄露内部细节。
使用方式
该技能以「技能(Skill)」形式提供,原文通过 ~/.claude/skills/... 路径引用相关资源,说明其运行环境为 Claude 技能体系。原文未提供独立的安装命令或调用步骤,相关安装与调用方式暂未提供。内容以代码示例、工具表格和检查清单的形式呈现,供在安全编码与安全审查时参考。
适用场景
- 编写或加固 Web 应用的认证、授权、数据库查询、前端渲染代码。
- 审查应用安全态势,对照 OWASP Top 10 与检查清单排查风险。
- 为项目引入 SAST/DAST、依赖扫描与 CSP 配置。
限制
- 原文示例以 TypeScript/Node.js 生态为主(Express、Prisma、Next.js、Zod、express-rate-limit),其他语言仅有工具命令级说明。
- 原文未提供功能完整度、收费、价格、平台支持范围等信息,这些信息暂未提供。
- 原文未提供安装命令与具体集成步骤,相关内容暂未提供。
相关资源(原文提及)
~/.claude/docs/reference/checklists/security-hardening.md:安全加固清单~/.claude/agents/security-auditor.md:安全审计 agent~/.claude/skills/authentication-patterns/SKILL.md:认证模式
原文结语为「Secure by default. Validate at boundaries. Defense in depth.」