SuperAPI AI 工具集

forge-security-review

安全与审计

查看项目

更新于 10-15 13:53

技能介绍

用途

Forge Security Review 用于对 Atlassian Forge 应用执行白盒安全审查,并报告经过验证的发现,包含可利用性、影响、证据和修复指导。适用于用户要求审查 Forge 应用安全性、进行白盒安全审计、检查授权绕过与租户隔离问题,或对 Forge 代码库运行完整静态分析等场景。

主要能力

审查覆盖以下安全领域:

  • 认证与授权(AuthN/AuthZ)
  • 注入与输入验证
  • 租户隔离与跨租户泄露
  • 密钥与存储
  • 出站请求/远程/CSP 与清单权限
  • 公开入口点(web trigger)
  • 智能体及其他 Forge 安全风险

对确认可利用的发现按 CVSS v3.1 严重性和影响排序,并为每个确认发现提供:CVSS 向量与基础分数、严重性等级、可利用性与影响、文件证据与 source-to-sink 追踪、CWE 映射、可复现的 PoC/测试步骤(含具体命令)。同时包含假设和证据缺口。当存在漏洞时,不只报告扫描器计数。

使用方式

技能触发后按以下流程执行:

  1. 首先从技能目录运行静态分析:
    • scripts/run_static_analysis.sh <forge-project-root-directory>
    • Windows 使用 .ps1 脚本
  2. 在任何深度代码审查之前先读取 manifest.yml。
  3. 首先加载 assets/security-rules/_global-forge.mdc。
  4. 仅根据清单和代码信号加载相关类别索引规则。
  5. 仅当真实代码模式触发匹配的检测启发式时,才加载深层子规则。

规则路由工作流

阶段 1:侦察(强制)

先读取 manifest.yml 并提取:

  • permissions.scopes
  • permissions.external.fetch
  • permissions.content.scripts
  • modules(resolver/webtrigger/scheduledTrigger/rovo 等)
  • remotes
  • app.runtime.name

构建执行映射:

  • UI 模块 -> bridge 调用 -> resolvers/functions
  • 外部入口点(web triggers、events、schedules)
  • api.asUser() 与 api.asApp() 路径
  • 出站 fetch 目标

阶段 2:索引规则选择(两层加载)

始终首先加载:

  • assets/security-rules/_global-forge.mdc

然后仅加载相关类别索引规则:

信号 加载
任何有意义的 scope 使用、变更或 asApp() 使用 assets/security-rules/forge-authn-authz/_index-authn-authz.mdc
webtrigger 或 scheduledTrigger 模块 assets/security-rules/forge-webtrigger-entrypoints/_index-webtrigger-entrypoints.mdc
permissions.external.fetch 或 remotes assets/security-rules/forge-egress-remotes/_index-egress-remotes.mdc
SQL API 或不可信输入到达 resolver 汇聚点 assets/security-rules/forge-injection/_index-injection.mdc
多租户模式、模块/全局状态、缓存复用 assets/security-rules/forge-tenant-isolation/_index-tenant-isolation.mdc
凭据/令牌/密钥处理 assets/security-rules/forge-secrets-storage/_index-secrets-storage.mdc
不安全的 CSP 或可能的 scope/配置错误 assets/security-rules/forge-manifest-config/_index-manifest-config.mdc
Rovo 模块/操作 assets/security-rules/forge-rovo-agents/_index-rovo-agents.mdc
基线日志/错误/静态分析关注点 assets/security-rules/forge-auditing/_index-auditing.mdc
依赖/包风险审查 assets/security-rules/forge-misc/_index-misc.mdc

子规则策略:读取索引后,仅加载与代码中观察到的检测启发式匹配的子规则。不要预先加载某个类别中的所有子规则。

阶段 3:分析与验证

对每个已加载类别:

  • 枚举可达入口点。
  • 追踪 source -> validation/authz -> sink。
  • 用证据确认可利用性。
  • 对确认的发现按 CVSS v3.1 评分。

聚焦审查模式

如果用户要求窄范围审查(例如仅授权),加载:

  • 全局基线
  • 请求的类别索引
  • 该类别中仅匹配的子规则

仍应提及在范围外观察到的任何明显关键发现。

审查工作流

  • 构建执行映射:
    • UI Kit/Custom UI 入口点
    • Bridge 调用与 resolver 处理器
    • api.asUser() / api.asApp() 调用路径
    • 外部出站/远程与触发器入口点
  • 对每个发现,追踪 source -> validation/authz -> sink。
  • 在归类为确认漏洞之前验证可利用性。
  • 将不可利用的加固观察保留在单独的“需要验证”部分。
  • 为每个问题提供文件级证据和实用测试线索。

静态分析模式

如果用户要求完整扫描,从以下文件运行完整工作流:

  • assets/security-rules/forge-auditing/static-analysis-forge.mdc

预期工具(可用时):Semgrep、npm audit、Snyk、gitleaks。

输出要求

  • 提供 markdown 安全审计报告。
  • 按 CVSS v3.1 严重性和影响排序确认的可利用发现。
  • 为每个确认发现包含:CVSS 向量与基础分数、严重性等级、可利用性与影响、文件证据与 source-to-sink 追踪、CWE 映射、可复现的 PoC/测试步骤(含具体命令)。
  • 包含假设和证据缺口。
  • 当存在漏洞时,不只报告扫描器计数。

规则资产

审查规则打包在本技能下的 assets/security-rules/:

  • 全局基线:assets/security-rules/_global-forge.mdc
  • 类别索引:assets/security-rules/forge-*/_index-*.mdc
  • 类别深度检查:assets/security-rules/forge-*/*.mdc

限制

  • 除非用户明确要求修复,否则不修改应用代码。
  • 所有扫描输出和生成的产物写入 security-audit-artifacts/。
  • 默认使用清单驱动路由以减少 token 使用,不预先加载每个规则文件。
  • 静态分析预期工具(Semgrep、npm audit、Snyk、gitleaks)仅在可用时使用。

示例触发短语

  • “Review this Forge app for security”
  • “Do a white-box security audit of my Forge app”
  • “Check this app for authz bypass and tenant isolation issues”
  • “Run full static analysis for this Forge codebase”