Supabase报告比较Skill supabase-report-compare

这个技能用于比较两个安全审计报告,以跟踪漏洞修复进度、识别新漏洞并提供详细分析和推荐。包含关键词:安全审计、报告比较、漏洞管理、Supabase、DevOps、网络安全。

安全审计 0 次安装 0 次浏览 更新于 3/18/2026

name: supabase-报告-比较 description: 比较两个安全审计报告,以跟踪修复进度并识别新漏洞。

报告比较

此技能比较两个安全审计报告,以跟踪随时间变化的进度。

何时使用此技能

  • 修复漏洞后,验证修复效果
  • 用于定期安全审查
  • 跟踪安全态势随时间变化
  • 识别回归(新漏洞)

先决条件

  • 两个Markdown格式的审计报告
  • 报告应来自同一项目

使用方式

基本比较

比较安全报告 old-report.md 和 new-report.md

使用特定路径

比较 reports/audit-v1.md 与 reports/audit-v2.md

输出格式

═══════════════════════════════════════════════════════════
 安全审计比较
═══════════════════════════════════════════════════════════

 先前审计:2025年1月15日
 当前审计:2025年1月31日
 间隔天数:16天

 ─────────────────────────────────────────────────────────
 分数比较
 ─────────────────────────────────────────────────────────

 先前分数:35/100 (等级:D)
 当前分数:72/100 (等级:C)
 改进:+37 分 ⬆️

 ┌────────────────────────────────────────────────────────┐
 │ 分数进度                                               │
 │                                                        │
 │  100 ┤                                                 │
 │   80 ┤                              ████████ 72       │
 │   60 ┤                              ████████          │
 │   40 ┤ ████████ 35                  ████████          │
 │   20 ┤ ████████                     ████████          │
 │    0 ┴─────────────────────────────────────────────── │
 │        1月15日                     1月31日            │
 └────────────────────────────────────────────────────────┘

 ─────────────────────────────────────────────────────────
 发现总结
 ─────────────────────────────────────────────────────────

 | 状态      | P0  | P1  | P2  | 总计 |
 |-------------|-----|-----|-----|-------|
 | 先前       | 3   | 4   | 5   | 12    |
 | 当前       | 0   | 2   | 4   | 6     |
 | 已修复     | 3   | 2   | 2   | 7     |
 | 新发现     | 0   | 0   | 1   | 1     |

 ─────────────────────────────────────────────────────────
 已修复漏洞 ✅
 ─────────────────────────────────────────────────────────

 P0(关键) - 全部已修复!🎉

 ✅ P0-001:服务角色密钥暴露
    状态:已修复
    解决方案:密钥轮换,从客户端代码中移除
    修复日期:2025年1月16日

 ✅ P0-002:数据库备份公开可访问
    状态:已修复
    解决方案:存储桶设为私有,文件删除
    修复日期:2025年1月16日

 ✅ P0-003:管理员函数权限提升
    状态:已修复
    解决方案:添加管理员角色验证
    修复日期:2025年1月17日

 P1(高) - 4个中已修复2个

 ✅ P1-001:电子邮件确认禁用
    状态:已修复
    解决方案:现在需要电子邮件确认
    修复日期:2025年1月20日

 ✅ P1-002:get-user-data函数中的IDOR
    状态:已修复
    解决方案:添加用户所有权验证
    修复日期:2025年1月18日

 P2(中) - 5个中已修复2个

 ✅ P2-001:弱密码策略
    状态:已修复
    解决方案:最小长度增加至10
    修复日期:2025年1月22日

 ✅ P2-003:接受一次性电子邮件
    状态:已修复
    解决方案:添加电子邮件验证
    修复日期:2025年1月25日

 ─────────────────────────────────────────────────────────
 剩余漏洞 ⚠️
 ─────────────────────────────────────────────────────────

 P1(高) - 2个剩余

 🟠 P1-003:通过时序攻击的用户枚举
    状态:未解决(16天)
    优先级:本周处理
    备注:先前报告中存在,尚未修复

 🟠 P1-004:管理员频道公开可访问
    状态:未解决(16天)
    优先级:本周处理

 P2(中) - 3个剩余

 🟡 P2-002:通配符CORS来源
    状态:未解决(16天)

 🟡 P2-004:详细错误消息
    状态:未解决(16天)

 🟡 P2-005:函数上未强制执行速率限制
    状态:未解决(16天)

 ─────────────────────────────────────────────────────────
 新漏洞 🆕
 ─────────────────────────────────────────────────────────

 P2(中) - 1个新问题

 🆕 P2-006:新存储桶无RLS
    严重性:🟡 P2
    组件:存储
    描述:新创建的“user-uploads”存储桶没有RLS策略。目前为空,但在生产使用前需要策略。
    首次发现:2025年1月31日

 ─────────────────────────────────────────────────────────
 进度分析
 ─────────────────────────────────────────────────────────

 修复率:58%(12个中修复7个)

 按严重性:
 ├── P0(关键):100% 已修复 ✅
 ├── P1(高):50% 已修复
 └── P2(中):40% 已修复

 平均修复时间:
 ├── P0:1.3天(优秀)
 ├── P1:3.5天(良好)
 └── P2:5.5天(可接受)

 回归:引入1个新问题
             (较低严重性,可接受)

 ─────────────────────────────────────────────────────────
 推荐
 ─────────────────────────────────────────────────────────

 1. 继续进度
    修复所有P0问题的好工作!现在专注于剩余P1问题:
    - 用户枚举时序攻击
    - 管理员广播频道

 2. 处理新问题
    在生产使用前,为“user-uploads”存储桶配置RLS。

 3. 安排后续
    建议在14天内进行另一次审计,以验证剩余修复。

 ─────────────────────────────────────────────────────────
 趋势分析
 ─────────────────────────────────────────────────────────

 如果您有3个或更多报告,可进行趋势分析:

 | 日期       | 分数 | P0 | P1 | P2 | 总计 |
 |------------|-------|----|----|----| ------|
 | 2024-12-01 | 28    | 4  | 5  | 6  | 15    |
 | 2025-01-15 | 35    | 3  | 4  | 5  | 12    |
 | 2025-01-31 | 72    | 0  | 2  | 4  | 6     |

 趋势:改进中 ⬆️

═══════════════════════════════════════════════════════════

比较逻辑

发现匹配

通过以下方式匹配报告中的发现:

  1. ID匹配 — 相同的P0-001、P1-002等。
  2. 组件 + 标题匹配 — 相同的问题描述
  3. 位置匹配 — 相同的文件/行/端点

状态确定

先前 当前 状态
存在 不存在 已修复 ✅
存在 存在 剩余 ⚠️
不存在 存在 新 🆕
不存在 不存在 不适用

分数计算

变化 = 当前分数 - 先前分数

正向变化 = 改进 ⬆️
负向变化 = 回归 ⬇️
无变化 = 稳定 ➡️

上下文输出

{
  "comparison": {
    "previous_date": "2025-01-15",
    "current_date": "2025-01-31",
    "previous_score": 35,
    "current_score": 72,
    "score_change": 37,
    "findings": {
      "previous_total": 12,
      "current_total": 6,
      "fixed": 7,
      "remaining": 5,
      "new": 1
    },
    "by_severity": {
      "P0": { "previous": 3, "current": 0, "fixed": 3, "new": 0 },
      "P1": { "previous": 4, "current": 2, "fixed": 2, "new": 0 },
      "P2": { "previous": 5, "current": 4, "fixed": 2, "new": 1 }
    },
    "remediation_rate": 0.58,
    "trend": "improving"
  }
}

报告输出

比较生成 supabase-audit-comparison.md

# 安全审计比较报告

## 总结

| 指标 | 先前 | 当前 | 变化 |
|--------|----------|---------|--------|
| 分数 | 35/100 | 72/100 | +37 ⬆️ |
| P0 问题 | 3 | 0 | -3 ✅ |
| P1 问题 | 4 | 2 | -2 ✅ |
| P2 问题 | 5 | 4 | -1 ✅ |
| 总计 | 12 | 6 | -6 ✅ |

## 已修复问题(7)

[已修复问题的详细列表...]

## 剩余问题(5)

[剩余问题的详细列表...]

## 新问题(1)

[新问题的详细列表...]

## 推荐

[基于比较的行动项目...]

多报告比较

对于3个或更多报告的趋势分析:

比较趋势 reports/audit-*.md

输出包括:

  • 分数趋势图
  • 随时间变化的问题数量
  • 平均修复时间
  • 识别重复出现的问题

最佳实践

命名约定

reports/
├── supabase-audit-2024-12-01.md
├── supabase-audit-2025-01-15.md
├── supabase-audit-2025-01-31.md
└── supabase-audit-comparison-2025-01-31.md

定期审计

频率 目的
修复后 验证修复效果
每月 捕捉回归
发布前 生产前检查
事件后 事件后审查

跟踪进度

  1. 将所有报告保存在版本控制中
  2. 链接到问题追踪器(GitHub、Jira)
  3. 包含在冲刺规划中
  4. 向利益相关者报告

相关技能

  • supabase-report — 生成要比较的报告
  • supabase-pentest — 运行全面审计
  • supabase-help — 快速参考