mcpField
F
forge-security-review

forge-security-review

github.com/atlassianSecurity27394 installsUpdated 1w ago
Repository

About forge-security-review

This skill performs white-box security reviews of Forge apps, validating exploitability and documenting evidence, impact, and remediation. It is for developers and security reviewers, and routes checks through a manifest-driven set of rules.

Key features

  1. 01Run static analysis first
  2. 02Select review rules from the manifest
  3. 03Trace entry points to sensitive operations
  4. 04Validate exploitability and score findings
  5. 05Produce an evidence-based audit report

Use cases

  1. 01Review authorization and tenant isolation in Forge apps
  2. 02Check egress, secret handling, and injection risks
  3. 03Run a full security scan of a Forge codebase

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/atlassian/forge-skills --skill forge-security-review

After installing, type/forge-security-reviewin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

assets/security-rules/
_global-forge.mdc
assets/security-rules/forge-auditing/
_index-auditing.mdc
static-analysis-forge.mdc
assets/security-rules/forge-authn-authz/
_index-authn-authz.mdc
asapp-privilege-escalation.mdc
display-conditions-bypass.mdc
missing-resolver-authz.mdc
prefer-context-authz.mdc
assets/security-rules/forge-egress-remotes/
_index-egress-remotes.mdc
data-egress-redirects.mdc
wildcard-permissions.mdc
assets/security-rules/forge-injection/
_index-injection.mdc
prototype-pollution.mdc
rce-code-execution.mdc
sql-injection.mdc
ssrf.mdc
xss.mdc
assets/security-rules/forge-manifest-config/
_index-manifest-config.mdc
content-security-policy.mdc
egress-url-entries.mdc
permission-scopes.mdc
assets/security-rules/forge-misc/
_index-misc.mdc
software-composition.mdc
assets/security-rules/forge-rovo-agents/
_index-rovo-agents.mdc
agent-privilege-escalation.mdc
assets/security-rules/forge-secrets-storage/
_index-secrets-storage.mdc
hardcoded-secrets.mdc
assets/security-rules/forge-tenant-isolation/
_index-tenant-isolation.mdc
global-state-warmstart.mdc
assets/security-rules/forge-webtrigger-entrypoints/
_index-webtrigger-entrypoints.mdc

Details

From the project README

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/security-rules/:

  • Global baseline: assets/security-rules/_global-forge.mdc
  • Category indexes: assets/security-rules/forge-*/_index-*.mdc
  • Category deep checks: assets/security-rules/forge-*/*.mdc

Execution Mandate

When this skill is triggered:

  1. Run static analysis first from this skill directory:
  • scripts/run_static_analysis.sh <forge-project-root-directory>
  • use .ps1 script for windows
  1. Read manifest.yml first before any deep code review.
  2. Load assets/security-rules/_global-forge.mdc first.
  3. Load only relevant category index rules based on manifest and code signals.
  4. Load deep subrules only when the matching detection heuristics are triggered by real code patterns.
  5. 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
  6. Do not modify app code unless the user explicitly requests fixes.
  7. 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:

SignalLoad
Any meaningful scope usage, mutations, or asApp() usageassets/security-rules/forge-authn-authz/_index-authn-authz.mdc
webtrigger or scheduledTrigger modulesassets/security-rules/forge-webtrigger-entrypoints/_index-webtrigger-entrypoints.mdc
permissions.external.fetch or remotesassets/security-rules/forge-egress-remotes/_index-egress-remotes.mdc
SQL APIs or untrusted input reaching resolver sinksassets/security-rules/forge-injection/_index-injection.mdc
Multi-tenant patterns, module/global state, cache reuseassets/security-rules/forge-tenant-isolation/_index-tenant-isolation.mdc
Credentials/tokens/secrets handlingassets/security-rules/forge-secrets-storage/_index-secrets-storage.mdc
Unsafe CSP or likely scope/config misconfigurationassets/security-rules/forge-manifest-config/_index-manifest-config.mdc
Rovo modules/actionsassets/security-rules/forge-rovo-agents/_index-rovo-agents.mdc
Baseline logging/error/static analysis concernsassets/security-rules/forge-auditing/_index-auditing.mdc
Dependency/package risk reviewassets/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.
Phase 3: Analysis and Verification

For each loaded category:

  1. Enumerate reachable entry points.
  2. Trace source -> validation/authz -> sink.
  3. Confirm exploitability with evidence.
  4. Score confirmed findings with CVSS v3.1.

Focused Review Mode

If the user asks for a narrow review (for example, only authz), load:

  • Global baseline
  • Requested category index
  • Only matching subrules in that category

Still mention any obvious critical findings observed outside scope.

Review Workflow

  1. Build an execution map:
    • UI Kit/Custom UI entry points
    • Bridge invocations and resolver handlers
    • api.asUser() / api.asApp() call paths
    • External egress/remotes and trigger entry points
  2. For each finding, trace source -> validation/authz -> sink.
  3. Validate exploitability before classifying as a confirmed vulnerability.
  4. Keep non-exploitable hardening observations in a separate "needs validation" section.
  5. Provide file-level evidence and practical test leads for each issue.

Static Analysis Mode

If the user asks for a full scan, run the complete workflow from:

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

Expected tools (when available): Semgrep, npm audit, Snyk, gitleaks.

Output Requirements

  • Provide a markdown security audit report.
  • Order confirmed exploitable findings by CVSS v3.1 severity and impact.
  • Include for each confirmed finding:
    • CVSS vector and base score
    • Severity band
    • Exploitability and impact
    • File evidence and source-to-sink trace
    • CWE mapping
    • Reproducible PoC/test steps with concrete commands
  • Include assumptions and evidence gaps.
  • Do not report scanner counts only when vulnerabilities exist.

Example Trigger Phrases

  • "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"

Comments

Markdown supported