Reporters reference¶
This page is generated from the reporter plugins in the ASH source code by scripts/generate_reporter_docs.py. Edits made to this file by hand are overwritten the next time it is generated.
Built-in reporters¶
| Reporter | File extension | Enabled by default | Primary use case | Standard |
|---|---|---|---|---|
CSV (csv) |
.csv |
yes | Spreadsheet analysis, filtering | RFC 4180 |
CycloneDX (cyclonedx) |
.cdx.json |
yes | Software bill of materials (SBOM) | CycloneDX 1.6 |
Flat JSON (flat-json) |
.flat.json |
yes | Programmatic consumption, dashboards | ASH-native |
GitHub GHAS (github-ghas) |
.ghas.sarif |
yes | GitHub Advanced Security code scanning upload | OASIS SARIF 2.1.0 |
GitLab CycloneDX (gitlab-cyclonedx) |
.gl-dependency-scanning-report.cdx.json |
yes | GitLab dependency scanning | GitLab dependency scanning report |
GitLab SAST (gitlab-sast) |
.gl-sast-report.json |
yes | GitLab Security Dashboard | GitLab SAST report |
HTML (html) |
.html |
yes | Interactive browser-based reports | -- |
JUnit XML (junitxml) |
.junit.xml |
yes | CI/CD test result reporting | JUnit XML |
Markdown (markdown) |
.summary.md |
yes | Pull request comments, documentation | CommonMark |
OCSF (ocsf) |
.ocsf.json |
yes | Security data lakes, SIEM ingestion | OCSF 1.0 |
SARIF (sarif) |
.sarif |
yes | IDE integration, GitHub/GitLab code scanning | OASIS SARIF 2.1.0 |
SPDX (spdx) |
.spdx.json |
no | License compliance, SBOM | SPDX 2.3 |
Text (text) |
.summary.txt |
yes | Console output, logs | -- |
Unused suppressions (unused-suppressions) |
.unused-suppressions.json |
yes | Suppression hygiene: rules that matched nothing this scan | ASH-native |
YAML (yaml) |
.yaml |
no | Human-readable structured data | -- |
Of the 15 built-in reporters, 13 are enabled by default: csv, cyclonedx, flat-json, github-ghas, gitlab-cyclonedx, gitlab-sast, html, junitxml, markdown, ocsf, sarif, text, and unused-suppressions. spdx and yaml are available but disabled by default.
A default written as from NAME, else value is read from that environment variable when ASH starts; value applies when the variable is not set.
Reporters in plugin modules¶
These are loaded only when the configuration's ash_plugin_modules names their module.
| Reporter | File extension | Enabled by default | Provided by |
|---|---|---|---|
aws-security-hub |
.aws-security-hub.asff.json |
no | plugin module ash_aws_plugins |
bedrock-summary-reporter |
.bedrock.summary.md |
no | plugin module ash_aws_plugins |
cloudwatch-logs |
.cwlog.json |
no | plugin module ash_aws_plugins |
s3 |
.s3.json |
no | plugin module ash_aws_plugins |
csv¶
Formats results as CSV.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.csv_reporter.CsvReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.csv - Runs with
--python-only: yes
This plugin has no options.
cyclonedx¶
Formats results as CycloneDX.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.cyclonedx_reporter.CycloneDXReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.cdx.json - Runs with
--python-only: yes
This plugin has no options.
flat-json¶
Formats results as a flattened JSON array of findings.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.flatjson_reporter.FlatJSONReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.flat.json - Runs with
--python-only: yes
Options, under reporters.flat-json.options. An option not listed here refuses the configuration.
github-ghas¶
Produces a SARIF report optimized for GitHub Advanced Security Code Scanning.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.github_ghas_reporter.GHASReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.ghas.sarif - Runs with
--python-only: yes
Options, under reporters.github-ghas.options. An option not listed here refuses the configuration.
gitlab-cyclonedx¶
Enriches CycloneDX SBOM with GitLab dependency scanning properties.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.gitlab_cyclonedx_reporter.GitLabCycloneDXReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.gl-dependency-scanning-report.cdx.json - Runs with
--python-only: yes
Options, under reporters.gitlab-cyclonedx.options. An option not listed here refuses the configuration.
gitlab-sast¶
Formats vulnerability findings report as GitLab SAST format.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.gitlab_sast_reporter.GitLabSASTReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.gl-sast-report.json - Runs with
--python-only: yes
Options, under reporters.gitlab-sast.options. An option not listed here refuses the configuration.
html¶
Formats results as HTML.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.html_reporter.HtmlReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.html - Runs with
--python-only: yes
This plugin has no options.
junitxml¶
Formats results as JUnitXML.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.junitxml_reporter.JunitXmlReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.junit.xml - Runs with
--python-only: yes
Options, under reporters.junitxml.options. An option not listed here refuses the configuration.
| Option | Type | Default | Description |
|---|---|---|---|
respect_severity_threshold |
boolean | true |
No description in the code. |
markdown¶
A triage-first report shared by files, CI summaries, and GitHub comments.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.markdown_reporter.MarkdownReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.summary.md - Runs with
--python-only: yes
Options, under reporters.markdown.options. An option not listed here refuses the configuration.
ocsf¶
Formats results as an array of Open Cybersecurity Schema Framework (OCSF) VulnerabilityFinding objects.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.ocsf_reporter.OcsfReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.ocsf.json - Runs with
--python-only: yes
This plugin has no options.
sarif¶
Formats results as SARIF.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.sarif_reporter.SarifReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.sarif - Runs with
--python-only: yes
This plugin has no options.
spdx¶
Formats results as an SPDX 2.3 JSON document.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.spdx_reporter.SpdxReporter - Provided by: built in, loaded on every scan
- Enabled by default: no
- File extension:
.spdx.json - Runs with
--python-only: yes
This plugin has no options.
text¶
Formats results as a human-readable plain text document.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.text_reporter.TextReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.summary.txt - Runs with
--python-only: yes
Options, under reporters.text.options. An option not listed here refuses the configuration.
unused-suppressions¶
Identifies and reports suppressions that were not applied to any findings.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.unused_suppressions_reporter.UnusedSuppressionsReporter - Provided by: built in, loaded on every scan
- Enabled by default: yes
- File extension:
.unused-suppressions.json - Runs with
--python-only: yes - Also writes, with the default options:
reports/ash.unused-suppressions.md
Options, under reporters.unused-suppressions.options. An option not listed here refuses the configuration.
| Option | Type | Default | Description |
|---|---|---|---|
output_format |
string | both |
No description in the code. The comment on its line in the code: "json", "markdown", or "both". |
yaml¶
Formats results as YAML.
- Class:
automated_security_helper.plugin_modules.ash_builtin.reporters.yaml_reporter.YamlReporter - Provided by: built in, loaded on every scan
- Enabled by default: no
- File extension:
.yaml - Runs with
--python-only: yes
This plugin has no options.
aws-security-hub¶
Sends security findings to AWS Security Hub in ASFF format.
- Class:
automated_security_helper.plugin_modules.ash_aws_plugins.security_hub_reporter.SecurityHubReporter - Provided by: plugin module
ash_aws_plugins, loaded whenash_plugin_modulesnamesautomated_security_helper.plugin_modules.ash_aws_plugins - Enabled by default: no
- File extension:
.aws-security-hub.asff.json - Runs with
--python-only: yes
Options, under reporters.aws-security-hub.options. An option not listed here refuses the configuration.
bedrock-summary-reporter¶
Generates a summary of security findings using Amazon Bedrock.
- Class:
automated_security_helper.plugin_modules.ash_aws_plugins.bedrock_summary_reporter.BedrockSummaryReporter - Provided by: plugin module
ash_aws_plugins, loaded whenash_plugin_modulesnamesautomated_security_helper.plugin_modules.ash_aws_plugins - Enabled by default: no
- File extension:
.bedrock.summary.md - Runs with
--python-only: yes
Options, under reporters.bedrock-summary-reporter.options. An option not listed here refuses the configuration.
cloudwatch-logs¶
Formats results and publishes to CloudWatch Logs.
- Class:
automated_security_helper.plugin_modules.ash_aws_plugins.cloudwatch_logs_reporter.CloudWatchLogsReporter - Provided by: plugin module
ash_aws_plugins, loaded whenash_plugin_modulesnamesautomated_security_helper.plugin_modules.ash_aws_plugins - Enabled by default: no
- File extension:
.cwlog.json - Runs with
--python-only: yes
Options, under reporters.cloudwatch-logs.options. An option not listed here refuses the configuration.
s3¶
Formats results and uploads to an S3 bucket.
- Class:
automated_security_helper.plugin_modules.ash_aws_plugins.s3_reporter.S3Reporter - Provided by: plugin module
ash_aws_plugins, loaded whenash_plugin_modulesnamesautomated_security_helper.plugin_modules.ash_aws_plugins - Enabled by default: no
- File extension:
.s3.json - Runs with
--python-only: yes
Options, under reporters.s3.options. An option not listed here refuses the configuration.