T11 优化与维护 ⭐⭐⭐⭐ ⏱ 约 60 分钟

安全审查

Security Review

💡 适用场景: 安全审查、漏洞检查

📄 T11: Security Review(安全审查) 其他

⭐⭐⭐⭐ 中高级 | 识别安全漏洞,实施防护措施

💡 核心概念 核心概念

常见的安全威胁(OWASP Top 10):

  1. 注入攻击 (SQL、Command等)
  2. 认证破坏 (弱密码、会话管理不当)
  3. 敏感数据泄露 (数据未加密、日志泄露)
  4. XML外部实体 (XXE攻击)
  5. 访问控制缺陷 (权限检查不严)
  6. 安全配置缺陷 (默认密码、调试模式开启)
  7. XSS跨站脚本
  8. 不安全反序列化
  9. 使用有已知漏洞的组件
  10. 不充分的日志和监控

最佳实践 最佳实践

🎯 原则1: 输入验证

  • 验证所有用户输入
  • 使用白名单而非黑名单
  • 设置输入长度限制

🎯 原则2: 防御注入

  • 使用参数化查询(PreparedStatement)
  • 对特殊字符进行转义
  • 使用ORM框架自动处理

🎯 原则3: 敏感数据保护

  • 加密敏感数据(密码、API key)
  • HTTPS传输
  • 不在日志中记录敏感信息
  • 访问控制和审计

🎯 原则4: 安全配置

  • 关闭不需要的功能
  • 更改默认密码
  • 及时更新依赖包
  • 定期安全扫描

📄 常见安全审查场景 其他

场景1: 代码安全审查

Prompt:

请对这段代码进行安全审查。

代码:
```python
@app.route('/search')
def search():
    query = request.args.get('q')
    sql = f"SELECT * FROM products WHERE name LIKE '{query}%'"
    results = db.execute(sql)
    return render_template('results.html', products=results)

检查重点:

  1. SQL注入漏洞
  2. 输入验证
  3. 输出转义
  4. 认证/授权
  5. 日志和监控

请给出:

  1. 发现的漏洞
  2. 攻击方式示例
  3. 修复代码

### 场景2: API安全设计

**Prompt:**

我正在设计一个API,需要确保安全。

需要考虑的安全问题:

  1. 认证方式(什么是最安全的?)
  2. 令牌过期(多长时间合适?)
  3. CORS配置(怎样防止跨域攻击?)
  4. 速率限制(怎样实现?)
  5. HTTPS/TLS
  6. 日志敏感信息

请提供:

  1. API认证方案
  2. 安全最佳实践
  3. 代码示例

### 场景3: 依赖安全扫描

**Prompt:**

我的项目使用了这些依赖,请检查是否有已知漏洞。

dependencies:

  • Spring Boot 2.6.0
  • Jackson 2.13.0
  • Log4j 2.14.0
  • ... [其他依赖]

问题:

  1. 这些版本有已知漏洞吗?
  2. 应该升级到哪个版本?
  3. 升级时需要注意什么?

---

📄 安全工具和框架 其他

工具 用途 特点
OWASP ZAP Web应用安全扫描 免费自动化工具
Burp Suite 渗透测试 专业强大
Snyk 依赖漏洞扫描 集成CI/CD
Sonarqube 代码质量和安全 综合分析

📋 安全审查检查清单 检查清单

📄 🎓 下一步 其他

  • 发现安全bug → T03: Bug Diagnosis
  • 修复后需要测试 → T05/T06: Testing

💬 Prompt 模板 (3)

安全审查 - Prompt 1
详情
检查重点:
1. SQL注入漏洞
2. 输入验证
3. 输出转义
4. 认证/授权
5. 日志和监控

请给出:
1. 发现的漏洞
2. 攻击方式示例
3. 修复代码
安全审查 - Prompt 2
详情
我正在设计一个API,需要确保安全。

需要考虑的安全问题:
1. 认证方式(什么是最安全的?)
2. 令牌过期(多长时间合适?)
3. CORS配置(怎样防止跨域攻击?)
4. 速率限制(怎样实现?)
5. HTTPS/TLS
6. 日志敏感信息

请提供:
1. API认证方案
2. 安全最佳实践
3. 代码示例
安全审查 - Prompt 3
详情
我的项目使用了这些依赖,请检查是否有已知漏洞。

dependencies:
- Spring Boot 2.6.0
- Jackson 2.13.0
- Log4j 2.14.0
- ... [其他依赖]

问题:
1. 这些版本有已知漏洞吗?
2. 应该升级到哪个版本?
3. 升级时需要注意什么?