security-review
前端代码安全审查,检测 XSS、CSRF、敏感数据泄露、不安全的用户输入处理和依赖风险,并将报告保存为 Markdown 文件。当用户要求安全检查、安全审查,或代码涉及用户输入、认证、支付、文件上传等敏感操作时自动激活。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/bovinphang/frontend-security-review前端安全审查
在以下场景使用该 Skill:
- 审查涉及用户输入、表单提交、文件上传的代码
- 审查认证、鉴权、Token 管理相关逻辑
- 审查涉及第三方脚本加载或动态内容渲染的代码
- 代码上线前的安全检查
- 评审 PR 中的安全隐患
XSS 防护
必须检查
dangerouslySetInnerHTML(React)和v-html(Vue)的使用必须有明确理由和输入净化- 用户输入不得直接插入 DOM、
innerHTML、document.write - URL 参数不得直接用于页面渲染
- 动态生成的
<script>标签必须审查来源
净化规则
- 使用 DOMPurify 等库净化 HTML 内容
- URL 必须校验协议(禁止
javascript:、data:等) - SVG 内容需要净化(可包含脚本)
敏感数据
禁止
- 在前端代码中硬编码 API Key、Secret、密码
- 在
localStorage/sessionStorage中存储明文 token 或密码 - 在 URL query 参数中传递 token 或密码
- 在 console.log 中输出敏感信息
- 在错误上报中包含用户隐私数据
要求
- Token 存储优先使用 httpOnly cookie
- 敏感操作(删除、支付、权限变更)必须有二次确认
- 表单自动填充需考虑
autocomplete属性设置
CSRF 防护
- 变更操作(POST / PUT / DELETE)必须携带 CSRF token
- 关键操作不使用 GET 请求
- 检查后端是否正确校验
Origin/Referer
依赖安全
- 定期审查第三方依赖的安全公告
- 禁止从非官方 CDN 加载脚本(无 SRI 校验)
- 动态加载的第三方脚本必须设置
integrity属性
输入校验
- 前端校验是用户体验,不是安全边界——后端必须二次校验
- 文件上传必须校验类型、大小,禁止仅靠扩展名判断
- 富文本输入必须净化
- 正则校验需注意 ReDoS 风险
审查输出格式
# 安全审查报告
> 生成时间: YYYY-MM-DD HH:mm
> 评审工具: frontend-craft
## 🔴 高危 (N项)
- **[文件:行号]** 风险描述 → 修复建议
## 🟡 中危 (N项)
- ...
## 🔵 低危 / 建议 (N项)
- ...
## ✅ 已通过的安全检查
- ...
**整体安全等级**: 安全 / 存在风险 / 高危需修复
报告文件输出
审查完成后,必须将报告内容使用 Write 工具保存为 Markdown 文件:
- 目录:项目根目录下的
reports/(如不存在则创建) - 文件名:
security-review-YYYY-MM-DD-HHmmss.md(使用当前时间戳) - 保存后告知用户报告文件路径
强约束
- 不要为了方便开发而绕过安全机制
- 不要依赖前端校验作为唯一安全防线
- 不要信任任何来自客户端的数据
- 发现高危问题时必须标记为阻塞合并
与子代理的配合
需要结合 npm audit、前端向 OWASP 逐项排查、Grep 高危 DOM/API 模式,并明确与 frontend-code-reviewer 分工(质量 vs 威胁建模)时,可委托 frontend-security-reviewer 子代理。报告文件名仍为 security-review-YYYY-MM-DD-HHmmss.md,分级格式与本 Skill 保持一致。
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-bovinphang-frontend-security-review": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
frontend-code-review
从架构、可维护性、类型安全、可访问性、样式一致性、性能和可测试性等角度审查前端代码,并将报告保存为 Markdown 文件。当用户要求代码审查、Review、评审代码质量时自动激活。
legacy-web-standard
针对 JavaScript + jQuery + HTML/CSS 传统前端项目的开发与维护规范。当用户在非框架项目中工作,涉及 jQuery、原生 JS、传统多页面应用(MPA)、模板引擎渲染页面、或维护遗留代码时自动激活。
accessibility-check
审查或改进前端 UI 的语义结构、键盘支持、焦点管理、标签以及常见的 WCAG 相关问题,并将报告保存为 Markdown 文件。当用户提到无障碍、accessibility、a11y、WCAG,或在实现交互组件时自动激活。
test-and-fix
执行项目校验命令(lint、type-check、test、build),分析失败原因,安全修复问题,并将总结报告保存为 Markdown 文件。当用户要求检查、验证、测试代码改动时自动激活。
nextjs-project-standard
Next.js 14+ 项目规范,涵盖 App Router、SSR/SSG、流式渲染、路由与布局、数据获取、中间件、元数据与 SEO。当用户在 Next.js 项目中创建、修改页面或模块时自动激活。