> For the complete documentation index, see [llms.txt](https://support.attackforge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.attackforge.com/app/modules/reporting/overview.md).

# Overview

## Overview

ReportGen is AttackForge's custom reporting engine. It creates custom DOCX reports on demand from your templates. A template is a Word document with tags in it. ReportGen fills the tags with a project's data, such as its vulnerabilities, scope and test cases, and keeps the formatting you applied in Word.

Run it in AttackForge, build and debug templates in the browser tool, or generate reports in your own code with the CLI or Library.

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FE7tewzKqkW5hK5EWdWxb%2Freporting-module-at-a-glance.svg?alt=media&amp;token=98b44e54-9bda-4f78-9aa9-1c158bb75def" alt=""><figcaption></figcaption></figure>

You can make any kind of report. For example:

* Pentest reports
* Retesting reports
* Executive reports
* Testing summary reports
* Application and Infrastructure reports
* Mobile testing reports
* Red Team and Purple Team reports
* Configuration Audit reports
* Compliance reports

{% hint style="info" %}
There's no limit on the number of templates you can create and upload, or on the number of reports you can make available on your projects.
{% endhint %}

## Why it matters

* **Your brand, your format.** Reports look exactly how you design them in Word.
* **One template, every project.** Build a template once, and every project can use it.
* **A report for every audience.** Executive, technical, retest and compliance reports can all come from the same project data.
* **Always up to date.** Reports are built from live project data each time they're generated, so there's no copying and pasting.

## Who uses it

| Who                                  | To                                                                  |
| ------------------------------------ | ------------------------------------------------------------------- |
| **Report template authors**          | Build and test templates in ReportGen, then upload them             |
| **Administrators**                   | Upload templates, and control who can see and use them              |
| **Testers and Project Coordinators** | Generate reports for their projects                                 |
| **Clients and stakeholders**         | Download the reports made available to them                         |
| **Developers and integration teams** | Generate reports programmatically with the ReportGen CLI or Library |

## Generate a report

Any user can generate custom reports on demand, from the project dashboard or the reporting section of their projects. Each person only sees the reports that have been made available to them.

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FayGOtfi014kxsumkNGAB%2FScreenshot%202026-11-10%20at%204.26.22%E2%80%AFpm.png?alt=media&amp;token=165f9ea7-6964-4f65-bd4e-5a06f481af6b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2Fg6BsFhdda6i60CXhMV6l%2FScreenshot%202026-11-10%20at%204.27.00%E2%80%AFpm.png?alt=media&amp;token=7b38a3ab-e29d-416f-88ab-75266a56b814" alt=""><figcaption></figcaption></figure>

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2Fplm9ufVTiisYUBKZrXcC%2FScreenshot%202026-11-10%20at%204.27.27%E2%80%AFpm.png?alt=media&amp;token=4a4f05b7-a780-4cd6-a26d-1db306dd7300" alt=""><figcaption></figcaption></figure>

### Manage report templates

### Upload a template

Click `Add Template` to upload a new template.

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2F3VZm0xSWennZ9YbyJVB3%2FScreenshot%202026-11-10%20at%204.28.17%E2%80%AFpm.png?alt=media&amp;token=4de36e52-1d6a-4cb3-a27d-9d1fe7964eb3" alt=""><figcaption></figcaption></figure>

### Control who can use a template

Each template can have access controls, so only the right people can see and use it. You can give access to roles, groups and users. For example, keep an internal QA report for your testers, or a compliance report for auditors. See [Concepts and Access](https://support.attackforge.com/app/getting-started/concepts-and-access).

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FrOYys8KWxdlPRUoYZw9W%2FScreenshot%202026-11-10%20at%204.28.49%E2%80%AFpm.png?alt=media&amp;token=8479eae8-3a1c-401d-a85e-6eae4a6579aa" alt=""><figcaption></figcaption></figure>

### Create a report for one or more projects

To create a report for one or more projects at once, click `Create Report` on the template you want.

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FwlY9lC4ywRR1Mnyu5GrT%2FScreenshot%202026-11-10%20at%204.29.35%E2%80%AFpm.png?alt=media&amp;token=fb41a3c8-ea51-4ee4-a7f0-14313152f52f" alt=""><figcaption></figcaption></figure>

## Build templates with ReportGen

Guidance, help, examples and tips for building templates are on the [ReportGen GitHub support site](https://github.com/AttackForge/ReportGen). There's also a [tutorial video](https://youtu.be/W3nKWOQBJGU) for first-time users.

ReportGen comes in three forms:

| Tool                     | Use it to                                                                             | Get it                                                                                            |
| ------------------------ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Offline browser tool** | Build and debug templates, then upload them to AttackForge and use them straight away | Download it from AttackForge, or use the [online version](https://attackforge.com/reportgen.html) |
| **CLI tool**             | Generate reports programmatically from the command line                               | [@attackforge/reportgen-cli](https://www.npmjs.com/package/@attackforge/reportgen-cli) on npm     |
| **Library package**      | Import ReportGen into your own code and scripts to generate reports programmatically  | [@attackforge/reportgen-node](https://www.npmjs.com/package/@attackforge/reportgen-node) on npm   |

### Offline browser tool

Use the browser tool to build and debug your templates. When a template is ready, upload it to AttackForge and use it immediately. Its home page links to templates you can download and change, and to help on filters, functions, styles, tables, charts, options and examples.

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FuVoFnQXSrkcfBEjaFlYT%2FScreenshot%202026-11-10%20at%204.31.06%E2%80%AFpm.png?alt=media&amp;token=9c35abc6-96ab-494c-8a75-f377445cd815" alt=""><figcaption></figcaption></figure>

### CLI tool

The ReportGen CLI generates reports programmatically, from a template and a project's JSON export. For example:

```bash
> npx @attackforge/reportgen-cli
Usage: reportgen [--output=output_file.docx] [--product=product] [--template=template_file.docx] [input_file.json]
Options:
--output=output_file.docx
--product=community|core|enterprise
--template=template_file.docx
```

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FoIUp6cqjN1hEcibOh2Ed%2FScreenshot%202026-11-10%20at%204.33.50%E2%80%AFpm.png?alt=media&amp;token=54edd07c-9775-45fd-9a1c-384d6f20da67" alt=""><figcaption></figcaption></figure>

### Library package

The ReportGen Library lets you import ReportGen into your own code and scripts, to generate reports as part of your own automation.

<figure><img src="https://372186556-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8s1QY2Q6YTHB4a6DMu%2Fuploads%2FJ585SWc7J0REJpBUfp8A%2FScreenshot%202026-11-10%20at%204.33.18%E2%80%AFpm.png?alt=media&amp;token=20dcbba1-db7b-4791-a3eb-fec3c4792f37" alt=""><figcaption></figcaption></figure>

### What a template looks like

This template loops through every unique vulnerability, and prints each one's title on a new line:

```
{#vulnerabilities}
{title}
{/}
```

ReportGen keeps the formatting you apply to tags in Word. To make each title bold, make the `{title}` tag bold. See the [ReportGen GitHub support site](https://github.com/AttackForge/ReportGen) for more.

{% hint style="info" %}
**Important:** for an up-to-date reference of reporting tags, we recommend using the `$help` function. See [ReportGen issue #18](https://github.com/AttackForge/ReportGen/issues/18).
{% endhint %}

For example, `{$help[Label][scope]}` prints all the data available at that point in your template to the ReportGen browser console. Put it inside a loop, such as `{#vulnerabilities}`, to see the data for each item.

### Example report templates

To get started quickly, download one of these templates and change it to suit you. Each comes with an example report, so you can see the result, and test data, so you can try the template in ReportGen.

| Template                                     | Template file                                                                                                                 | Example report                                                                                                             | Test data                                                                                                                      |
| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Pentest Report**                           | [DOCX (v3.4)](https://attackforge.com/attackforge-core-enterprise/report-templates/af-pentest-report-v3-4-template.docx)      | [DOCX](https://attackforge.com/attackforge-core-enterprise/report-templates/af-pentest-report-v3-4-example.docx)           | [JSON](https://attackforge.com/attackforge-core-enterprise/report-templates/af-pentest-report-test-data.json)                  |
| **Red Team Report**                          | [DOCX (v3.0)](https://attackforge.com/attackforge-core-enterprise/report-templates/af-red-team-report-v3-0-template.docx)     | [DOCX](https://attackforge.com/attackforge-core-enterprise/report-templates/af-red-team-report-v3-0-example.docx)          | [JSON](https://attackforge.com/attackforge-core-enterprise/report-templates/af-red-team-report-test-data.json)                 |
| **Exec Summary PowerPoint-Style Slide Deck** | [DOCX](https://attackforge.com/attackforge-core-enterprise/report-templates/af-pentest-exec-summary-slide-deck-template.docx) | [PDF](https://attackforge.com/attackforge-core-enterprise/report-templates/af-pentest-exec-summary-slide-deck-example.pdf) | [JSON](https://attackforge.com/attackforge-core-enterprise/report-templates/af-pentest-exec-summary-slide-deck-test-data.json) |

More templates, help, examples and tips are on the [ReportGen GitHub support site](https://github.com/AttackForge/ReportGen).

## Tips

* **Start simple.** Get used to how tags and loops work before adding logic, styles, charts and tables.
* **Start from an existing template.** Download one from ReportGen and change it to suit you.
* **Use the help function** to see the data available at any point in your template, in the browser console.
* **Make one template for each audience**, such as executive, technical and retest reports.
* **Use template access controls** so each person only sees the reports meant for them.
* **Automate with the CLI or Library** when reports need to be generated as part of a pipeline.
* **Start from an example template**, such as the Pentest Report, and try it with its test data before you change it.

## FAQ

**What format are reports in?** DOCX.

**How many templates can I have?** As many as you like. There's no limit on templates, or on the reports you make available on your projects.

**Who can generate reports?** Any user, from the project dashboard or the reporting section of their projects. They only see the reports made available to them.

**Can I stop some people seeing a template?** Yes. Each template can have access controls for roles, groups and users.

**Can I create a report for several projects at once?** Yes. Click `Create Report` on the template you want.

**Where can I learn to build templates?** On the [ReportGen GitHub support site](https://github.com/AttackForge/ReportGen), which has guidance, examples, tips and a tutorial video.

**Can I generate reports outside AttackForge?** Yes, with the ReportGen CLI or Library, using a template and a project's JSON export.

## Related pages

* [Reporting (getting started)](https://support.attackforge.com/app/getting-started/reporting)
* [Concepts and Access](https://support.attackforge.com/app/getting-started/concepts-and-access)
* [Projects](https://support.attackforge.com/app/modules/projects)
* [Writeups](https://support.attackforge.com/app/modules/vulnerability-library)
* [ReportGen on GitHub](https://github.com/AttackForge/ReportGen)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://support.attackforge.com/app/modules/reporting/overview.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
