用途
本技能是 bkit-claude-code 开发流水线中的第 7 阶段(Phase 7: SEO/Security),目标是在应用开发过程中让应用可被搜索引擎发现,并防御安全漏洞。它把搜索优化与安全加固合并为一个阶段,通过 PDCA 循环推进,完成后进入第 8 阶段进行整体代码质量审查。
主要能力
SEO 优化
- 基础项:逐页 title 与 description、Open Graph 元标签、Canonical URL、sitemap.xml、robots.txt。
- 结构化数据:JSON-LD schema、面包屑导航、产品/评价 schema(如适用)。
- 性能优化:图片优化(next/image)、字体优化、代码分割,以改善 Core Web Vitals。
安全增强
- 认证与授权:安全的会话管理、CSRF 防护、正确的权限检查。
- 数据保护:输入校验、SQL 注入防御、XSS 防御。
- 通信安全:强制 HTTPS、安全响应头配置、CORS 策略。
- 客户端安全:禁止直接使用 innerHTML、渲染 HTML 时对用户输入做净化、利用 React 自动转义、必要时使用 DOMPurify;禁止在 localStorage 存储密码、信用卡等敏感信息,仅存储令牌(推荐 httpOnly cookie)。
- API 安全:服务端输入校验(示例使用 zod)、最小化错误信息以避免敏感信息泄露、限流(示例使用 @upstash/ratelimit 滑动窗口)。
- 环境变量安全:区分服务端变量与客户端可暴露变量(NEXT_PUBLIC_*),进行密钥管理。
- 安全响应头:Strict-Transport-Security、X-Frame-Options、X-Content-Type-Options、Referrer-Policy 等。
使用方式
技能按 PDCA 应用:Plan 定义 SEO/安全需求;Design 设计元标签与安全策略;Do 实施 SEO/安全;Check 检查与验证;Act 改进并进入第 8 阶段。
按级别应用:
- Starter:仅 SEO(最小安全)。
- Dynamic:SEO + 基础安全。
- Enterprise:SEO + 高级安全。
安全验证清单分为三档:
- 必需(所有级别):强制 HTTPS、不向客户端暴露敏感信息、服务端输入校验、XSS 防御、错误信息不含敏感信息。
- 推荐(Dynamic 及以上):应用 CSRF 令牌、应用限流、配置安全响应头、认证令牌使用 httpOnly cookie。
- 高级(Enterprise):内容安全策略(CSP)、安全审计日志、定期安全扫描。
安全职责跨阶段分布:第 2 阶段负责环境变量约定(NEXT_PUBLIC_* 区分、密钥清单);第 4 阶段负责 API 安全设计(认证方式、错误码、输入校验);第 6 阶段负责客户端安全(XSS 防御、令牌管理、敏感信息);第 7 阶段负责安全实施与检查(完整安全清单);第 9 阶段负责部署安全(密钥注入、HTTPS、安全响应头)。
交付物
- docs/02-design/seo-spec.md(SEO 规格)
- docs/02-design/security-spec.md(安全规格)
- src/middleware/(安全中间件)
- src/components/seo/(SEO 组件)
模板见 templates/pipeline/phase-7-seo-security.template.md。
适用场景
适用于使用 bkit-claude-code 流水线开发、需要在发布前统一处理搜索优化与安全加固的项目,尤其是 Next.js 应用(示例大量使用 Next.js 的 metadata、next.config.js、middleware 等)。可根据项目级别选择 Starter、Dynamic 或 Enterprise 的应用强度。
限制
资料未提供该技能的具体安装命令、收费方式、价格、平台支持范围与效果数据,这些信息暂未提供。示例代码中的库(zod、@upstash/ratelimit、DOMPurify 等)为资料给出的实现示例,实际使用需按项目情况确认。