| name | code-security-review |
| description | 阿里巴巴Java开发手册 — 安全规约审查与指导。当用户涉及以下任何场景时触发:
- 审查代码的安全性,检查SQL注入、XSS、CSRF等漏洞
- 用户输入校验、参数验证
- 敏感数据脱敏处理
- 权限控制、水平权限越界检查
- URL重定向安全、防重放攻击
- 用户生成内容的风控策略(防刷、违禁词过滤)
- 代码审计、安全扫描
- 用户提到"安全规约"、"代码安全"、"SQL注入"、"XSS"、"CSRF"、"脱敏"等关键词
此技能适用于所有编程语言的Web开发,不限于Java。
|
代码安全审查技能
作用
本技能基于《阿里巴巴Java开发手册》的安全规约章节,为所有Web开发者提供安全编码审查和指导。
涵盖以下安全领域:
| 安全领域 | 说明 |
|---|
| 权限控制 | 页面和功能的权限校验、水平权限越界防护 |
| 数据脱敏 | 敏感数据展示脱敏(手机号、身份证号等) |
| SQL注入防护 | 参数绑定、禁止字符串拼接SQL |
| 输入校验 | 参数有效性验证、防止各类注入攻击 |
| XSS防护 | HTML输出转义、用户数据过滤 |
| CSRF防护 | 表单和AJAX提交的CSRF验证 |
| URL安全 | 外部重定向白名单过滤 |
| 防重放 | 短信/邮件/支付等资源的防刷机制 |
| 内容风控 | UGC场景的防刷和违禁词过滤 |
使用方法
- 代码安全审查 — 输入:待审查的代码片段或文件路径;执行:读取
references/security-rules.md 后逐条对照检查;输出:按【强制】【推荐】【参考】分级的问题清单 + 具体修复代码
- 安全编码指导 — 输入:用户正在编写的涉及安全的代码场景;执行:引用对应安全领域的规约条款;输出:符合规约的编码建议 + 正例参考
- 漏洞排查 — 输入:已发现的安全问题描述或异常日志;执行:查阅规约定位违反条款;输出:规约定位 + 修复方案
边界条件处理
| 场景 | 处理方式 |
|---|
| 用户未提供代码 | 提示用户粘贴需要审查的代码或文件路径,说明本技能涵盖的安全审查范围(SQL注入、XSS、CSRF、权限控制、数据脱敏等) |
| 代码量过大(>500行) | 建议分批审查,优先审查高危模块:涉及用户输入、数据库操作、外部URL跳转、敏感数据处理的代码 |
| 非 Java / Web 代码 | 安全规约原则通用适用,但需提示用户部分语法层面的检查(如SQL参数绑定语法)可能因语言而异 |
| references 文件缺失 | 基于通用Web安全知识给出审查建议,同时提示用户检查 references/security-rules.md 是否完整 |
| 审查后未发现明确漏洞 | 输出安全加固建议(归入【推荐】级别),不强制认定违规 |
审查检查点
执行安全审查时,以下场景需先向用户确认,再执行后续操作:
| 场景 | 检查内容 |
|---|
| 发现高危漏洞 | 先概述漏洞等级和影响,确认用户需要修复方案后再展开详细建议 |
| 建议涉及架构改动 | 如修复方案需调整模块结构或引入新依赖,输出前确认用户接受范围 |
| 用户未指定关注领域 | 列出本次审查覆盖的安全领域范围,确认后再开始逐条审查 |
规约文件索引
references/
└── security-rules.md # 安全规约全文
规约等级说明
原文中的规约分为三个等级:
- 【强制】:必须遵守,违反会导致严重安全问题
- 【推荐】:建议遵守,提升整体安全水位
- 【参考】:供参考,根据具体情况决定是否采用
审查输出格式
审查代码安全性时,按以下结构输出:
- 【强制】违规项 — 高危安全漏洞,必须立即修复
- 【推荐】改进项 — 安全加固建议,存在被利用的风险
- 【参考】优化建议 — 提升安全水位的可选措施
- 修复建议 — 针对每个问题的具体修复方案