forge-app-builder
Plan, build, scaffold, or safely extend Atlassian Forge apps using current official documentation. Use for fresh Forge apps,…
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
Claude Code
$ npx -y skills add atlassian/forge-skills --skill forge-security-review --agent claude-code
Codex
$ npx skills add atlassian/forge-skills --skill forge-security-review -a codex -y
Cursor
$ npx skills add atlassian/forge-skills --skill forge-security-review -a cursor -y
Gemini CLI
$ npx skills add atlassian/forge-skills --skill forge-security-review -a gemini-cli -y
GitHub Copilot
$ npx skills add atlassian/forge-skills --skill forge-security-review -a github-copilot -y
OpenCode
$ npx skills add atlassian/forge-skills --skill forge-security-review -a opencode -y
Windsurf
$ npx skills add atlassian/forge-skills --skill forge-security-review -a windsurf -y
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
Runs a Forge-focused white-box security review and reports validated findings with exploitability, impact, evidence, and remediation guidance.
Use manifest-driven routing by default to reduce token usage. Do not load every rule file up front.
The review rules are packaged with this skill under `assets/`:
When this skill is triggered:
1. Run the deterministic layer first, from this skill directory:
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:
7. Do not modify app code unless the user explicitly requests fixes. 8. Write all scan outputs and generated artifacts to `security-audit-artifacts/`.
Read `manifest.yml` first and extract:
Build an execution map:
Always load first:
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:
Atlassian Forge lets you build and deploy apps directly on the Atlassian platform - issue panels, Confluence macros, dashboard gadgets, and more.
Plan, build, scaffold, or safely extend Atlassian Forge apps using current official documentation. Use for fresh Forge apps,…
Performs a lightweight pre-release readiness review of Atlassian Forge apps across manifest/module wiring, architecture, runtime…
Guides building and deploying Atlassian Forge Teamwork Graph connector apps that ingest external data into Atlassian's Teamwork…
Optimizes Atlassian Forge apps to reduce platform consumption and avoid unnecessary costs using Atlassian's "Optimise Forge…
Diagnoses and fixes issues in Atlassian Forge apps. Use this skill whenever a Forge app has errors, crashes, shows blank UI,…
Guide a first-time Forge builder through building Forge Guru, a Rovo Agent that answers Forge questions. Use for Forge…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.