Skip to content

/forge-security-review

Performs a white-box security review of Atlassian Forge apps using structured, Forge-specific security rules and evidence-driven reporting. Use when the user asks for a Forge security review, security audit, vuln assessment, pentest-style code review, authz review, tenant

From plugin
forge-skills
277 skills2 MCP

Claude Code

$ npx -y skills add atlassian/forge-skills --skill forge-security-review --agent claude-code

SKILL.md

forge-security-review.SKILL.md
name: forge-security-review
description: >
  Performs a white-box security review of Atlassian Forge apps using structured, Forge-specific
  security rules and evidence-driven reporting. Use when the user asks for a Forge security
  review, security audit, vuln assessment, pentest-style code review, authz review, tenant
  isolation analysis, web trigger hardening, or static analysis execution for a Forge app.
license: Apache-2.0
metadata:
  labels: "forge,security,review,audit,atlassian"
  maintainer: atlassian-developer
  namespace: cloud

Forge Security Review

Runs a Forge-focused white-box security review and reports validated findings with exploitability, impact, evidence, and remediation guidance.

Token-Efficient Default

Use manifest-driven routing by default to reduce token usage. Do not load every rule file up front.

Rule Assets

The review rules are packaged with this skill under `assets/`:

  • Global baseline: `assets/security-rules/_global-forge.mdc`
  • Category indexes: `assets/security-rules/forge-*/_index-*.mdc`
  • Category deep checks: `assets/security-rules/forge-*/*.mdc`
  • Deterministic OpenGrep rules: `assets/opengrep-rules/forge-security-rules.yaml` (44 rules). Each rule's `metadata.skill_rule` names the `.mdc` file to apply to its hits.

Execution Mandate

When this skill is triggered:

1. Run the deterministic layer first, from this skill directory:

  • `scripts/run_static_analysis.sh <forge-project-root-directory>` (macOS, Linux)
  • `scripts/run_static_analysis.ps1 <forge-project-root-directory>` (Windows)

The script runs FSRT and OpenGrep (with the packaged Forge rule packs) and writes everything under `<forge-project-root>/security-audit-artifacts/`: `static-analysis-summary.json`, `fsrt/report.json`, `opengrep/results.json` and `opengrep/results.sarif`, plus a log per tool. Read the summary before anything else. A non-zero exit, or a tool whose status is `not_run`, means that tool did NOT analyse the project: record it as a coverage gap and never treat its missing findings as a clean result. 2. Read `manifest.yml` first before any deep code review. 3. Load `assets/security-rules/_global-forge.mdc` first. 4. Load only relevant category index rules based on manifest and code signals. 5. Load deep subrules only when the matching detection heuristics are triggered by real code patterns or by deterministic findings that point at them. 6. Perform an evidence-based security review across:

  • AuthN/AuthZ
  • Injection and input validation
  • Tenant isolation and cross-tenant leakage
  • Secrets and storage
  • Egress/remotes/CSP and manifest permissions
  • Public entry points (web triggers)
  • Agent and miscellaneous Forge security risks

7. Do not modify app code unless the user explicitly requests fixes. 8. Write all scan outputs and generated artifacts to `security-audit-artifacts/`.

Rule Routing Workflow

Phase 1: Reconnaissance (Mandatory)

Read `manifest.yml` first and extract:

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

Build an execution map:

  • UI modules -> bridge calls -> resolvers/functions
  • External entry points (web triggers, events, schedules)
  • `api.asUser()` vs `api.asApp()` paths
  • Outbound fetch destinations

Phase 2: Index Rule Selection (Two-Tier Loading)

Always load first:

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

Then load only relevant category index rules:

| Signal | Load | | --------------------------------------------------------- | -------------------------------------------------------------------------------------- | | Any meaningful scope usage, mutations, or `asApp()` usage | `assets/security-rules/forge-authn-authz/_index-authn-authz.mdc` | | Any module with `access: anonymous` or `unlicensedAccess` | `assets/security-rules/forge-authn-authz/_index-authn-authz.mdc`, and check every storage write reachable from that module | | `webtrigger` or `scheduledTrigger` modules | `assets/security-rules/forge-webtrigger-entrypoints/_index-webtrigger-entrypoints.mdc` | | `apiRoute` or `endpoint` modules | `assets/security-rules/forge-webtrigger-entrypoints/_index-webtrigger-entrypoints.mdc` (externally reachable endpoints; review authn/authz manually) | | `permissions.external.fetch` or `remotes` | `assets/security-rules/forge-egress-remotes/_index-egress-remotes.mdc` (a remote backend is not locally assessable; say so) | | SQL APIs or untrusted input reaching resolver sinks | `assets/security-rules/forge-injection/_index-injection.mdc` | | Multi-tenant patterns, module/global state, cache reuse | `assets/security-rules/forge-tenant-isolation/_index-tenant-isolation.mdc` | | Credentials/tokens/secrets handling | `assets/security-rules/forge-secrets-storage/_index-secrets-storage.mdc` | | Unsafe CSP or likely scope/config misconfiguration | `assets/security-rules/forge-manifest-config/_index-manifest-config.mdc` | | Rovo modules/actions | `assets/security-rules/forge-rovo-agents/_index-rovo-agents.mdc` | | Baseline logging/error/static analysis concerns | `assets/security-rules/forge-auditing/_index-auditing.mdc` | | Dependency/package risk review | `assets/security-rules/forge-misc/_index-misc.mdc` |

Subrule policy:

  • After reading an index, load only the subrules that match the detection heuristics observed in code.
  • Do not pre-load every subrule in a category.
  • Every OpenGrep finding names
Read more
@atlassian
Ships withforge-skills

Atlassian Forge lets you build and deploy apps directly on the Atlassian platform - issue panels, Confluence macros, dashboard gadgets, and more.

Stars on GitHub

Momentum

stars in total
27
Star history of atlassian/forge-skills on GitHub, a chart by star-history.com

Other skills on forge-skills.

forge-app-builder
Auto-invoked

forge-app-builder

Plan, build, scaffold, or safely extend Atlassian Forge apps using current official documentation. Use for fresh Forge apps,…

forge-app-review
Auto-invoked

forge-app-review

Performs a lightweight pre-release readiness review of Atlassian Forge apps across manifest/module wiring, architecture, runtime…

forge-connector
Auto-invoked

forge-connector

Guides building and deploying Atlassian Forge Teamwork Graph connector apps that ingest external data into Atlassian's Teamwork…

forge-cost-optimizer
Auto-invoked

forge-cost-optimizer

Optimizes Atlassian Forge apps to reduce platform consumption and avoid unnecessary costs using Atlassian's "Optimise Forge…

forge-debugger
Auto-invoked

forge-debugger

Diagnoses and fixes issues in Atlassian Forge apps. Use this skill whenever a Forge app has errors, crashes, shows blank UI,…

forge-onboarding
Auto-invoked

forge-onboarding

Guide a first-time Forge builder through building Forge Guru, a Rovo Agent that answers Forge questions. Use for Forge…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about forge-security-review.

Which coding agents can use forge-security-review?
forge-security-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.