You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Output format: terminal, json, markdown, or sarif.
actionscope scan . -f sarif
--output-file
-o
none
Write output to a file. Terminal mode writes Markdown when this is used.
actionscope scan . -f json -o scan.json
--fail-on
none
none
Enable CI gating at critical, high, medium, or low. With no confidence or new-only option, this preserves aggregate-risk behavior.
actionscope scan . --fail-on high
--new-only
none
False
Apply --fail-on only to findings not already eligible under the loaded baseline. This includes new findings and existing findings that cross the configured severity or confidence threshold. Implies --load-state.
actionscope scan . --fail-on high --new-only
--min-confidence
none
none
Gate only findings at or above high, medium, or low confidence. Requires --fail-on.
actionscope scan . --fail-on high --min-confidence high
--require-baseline
none
False
Exit with code 2 when --new-only cannot load an exact version-2 baseline.
actionscope scan . --fail-on high --new-only --require-baseline
--aws-verify
none
False
Fetch live AWS IAM role policies with read-only IAM API calls. Requires actionscope[aws] and AWS credentials.
actionscope scan . --aws-verify
--no-color
none
False
Disable terminal color output.
actionscope scan . --no-color
--quiet
-q
False
Suppress terminal output, useful with --output-file.
actionscope scan . -q -o report.md
--save-state
none
False
Save compact scan state to .actionscope/last_scan.json.
Limit JSON policy candidates outside common policy directories. Set to 0 for unlimited.
actionscope scan . --max-policy-files 2000
Common Scan Examples
# Human-readable output
actionscope scan .# CI JSON output
actionscope scan . --output-format json --output-file actionscope.json
# GitHub Code Scanning SARIF
actionscope scan . --output-format sarif --output-file actionscope.sarif
# Fail CI on high or critical findings
actionscope scan . --fail-on high
# Recommended: fail only on new, high-confidence findings
actionscope scan . --load-state --fail-on high --new-only \
--min-confidence high
# Compare with the previous scan
actionscope scan . --load-state --save-state
# Inspect external reusable workflows referenced by jobs.<id>.uses.# This example assumes GITHUB_TOKEN is already configured in the environment.
actionscope scan . --github-token "$GITHUB_TOKEN"# Guarantee that ambient credentials cannot trigger API calls
actionscope scan . --offline
actionscope config init [OPTIONS]
Create a validated starter .actionscope.yml with examples for IAM action
overrides, hard blocks, custom escalation paths, suppressions, and deploy-job
calibration.
Fetch GitHub Actions malware advisories and write a merged local cache. This is
the only command that refreshes advisory data; normal scans never update it in
the background.
The updater always preserves the bundled curated entries. GitHub's global
malware advisory endpoint is the primary feed. The OpenSSF malicious-packages
repository is probed conditionally and skipped cleanly while it has no stable
GitHub Actions feed.
Saved JSON result from actionscope scan --output-format json.
actionscope report scan.json
Options
Flag
Short
Default
Description
Example
--from-json
none
none
Alternate way to provide the saved JSON file.
actionscope report --from-json scan.json
--format
-f
markdown
Render as markdown, terminal, json, or sarif.
actionscope report scan.json -f terminal
actionscope gate JSON_FILE [OPTIONS]
Evaluate CI policy against a saved ActionScope JSON report without rescanning.
This is the command used by the Marketplace Action after producing its single
JSON scan.
actionscope gate scan.json --fail-on high
actionscope gate scan.json --fail-on high --new-only --min-confidence high
Flag
Default
Description
Example
--fail-on
required
Severity threshold: critical, high, medium, or low.
actionscope gate scan.json --fail-on high
--min-confidence
high
Minimum confidence for a finding to block.
actionscope gate scan.json --fail-on high --min-confidence medium
--new-only
False
Gate findings that are absent from the exact baseline or newly cross the configured severity/confidence policy.
actionscope gate scan.json --fail-on high --new-only
--require-baseline
False
Exit 2 instead of 0 when a new-only gate has no exact baseline. Requires --new-only.
actionscope gate scan.json --fail-on high --new-only --require-baseline
--write-back
False
Store the gate decision in the JSON report for later rendering.
actionscope gate scan.json --fail-on high --write-back
actionscope corpus scan MANIFEST [OPTIONS]
Scan many repositories, each pinned to a commit SHA, and write per-repository
and per-credential-binding tables for empirical studies. Repository identities
are anonymized by default. See Corpus Scans for the manifest
format, output schema, and anonymization model.
actionscope corpus scan manifest.csv --output-dir results/
actionscope corpus scan manifest.csv --output-dir results/ --resume
Arguments
Argument
Description
MANIFEST
CSV or JSON file with repo_url and commit (full 40-character SHA) per row, plus an optional path subdirectory.
Options
Flag
Short
Default
Description
Example
--output-dir
-o
required
Directory for the result tables. Must be new or empty unless resuming.
actionscope corpus scan m.csv -o results/
--jobs
-j
4
Repositories to fetch and scan in parallel (1–64).
actionscope corpus scan m.csv -o results/ -j 8
--fetch-timeout
none
300
Seconds allowed to fetch one repository. A slower fetch is recorded as fetch_timeout.
actionscope corpus scan m.csv -o results/ --fetch-timeout 600
--scan-timeout
none
300
Seconds allowed to scan one repository. A slower scan is recorded as scan_timeout.
actionscope corpus scan m.csv -o results/ --scan-timeout 120
--resume
none
False
Continue an interrupted run in the same output directory. Scanned entries are kept; every other entry is retried. The manifest and ActionScope version must match the original run.
actionscope corpus scan m.csv -o results/ --resume
--no-anonymize
none
False
Put repository URLs, commits, paths, and workflow, job, and step names in the shareable tables. Intended for owners scanning their own repositories. Role ARNs are never written.
actionscope corpus scan m.csv -o results/ --no-anonymize
--quiet
-q
False
Suppress per-repository progress lines and the final summary.
actionscope corpus scan m.csv -o results/ -q
Planned Commands
The roadmap issues below are open, but these commands are not implemented in
the current release:
Command
Status
Tracking issue
actionscope trend
Planned
GitHub issue: historical risk tracking and trend reporting
actionscope pin
Not implemented; current support is scan --resolve-pins
GitHub issue: auto-pin resolver follow-ups
Exit Codes
Code
Meaning
0
Scan or gate completed without a blocking finding. This also covers a new-only gate with no baseline unless --require-baseline is set.
1
At least one finding matched the configured gate policy.
2
CLI usage error, report-file read error, or required baseline unavailable.
Environment Variables
Variable
Used by
Description
GITHUB_TOKEN
--resolve-pins, reusable workflow inspection
Authenticates GitHub API calls for tag resolution and access to external reusable workflow YAML.
ACTIONSCOPE_COMPROMISED_DB_CACHE
scan, update-db
Override the compromised-action cache path. Primarily useful for CI and tests.