FACTION is an open-source penetration testing report generation and assessment collaboration framework from OWASP, built for security consultancies, red teams, and internal assessment groups that need to turn raw findings into tracked, peer-reviewed client deliverables.
What it is
FACTION is a self-hostable application that packages an entire security assessment workflow into one system. It lives in the OWASP project ecosystem as OWASP Faction, is written in Java, and is released under the GPL-2.0 licence. The application provides automated generation of penetration testing and security assessment reports, structured peer review with change tracking, real-time collaboration between assessors through a web application and a Burp Suite extension, and organisation-wide management of assessment teams and their progress.
The concrete problem it addresses is the fragmentation of report production. Assessment findings normally get written up by hand in word processors, reviewed over email or chat, versioned badly, and then tracked separately in spreadsheets once the client starts remediating. FACTION replaces that manual assembly line with a single system: findings are captured against reusable vulnerability templates, assembled into customisable DOCX report templates for different assessment types and retests, reviewed and revised in place, and carried forward into remediation tracking with custom SLA warnings and alerts.
Key capabilities
- Automated generation of penetration testing and security assessment reports.
- Peer review and track-changes workflow on reports before they leave the team.
- Customisable DOCX report templates tailored to different assessment types and retests.
- Over 75 prepopulated vulnerability templates, loaded from Templates > Default Vulnerabilities via "Update from Faction".
- Real-time assessor collaboration through the web application and the Burp Suite extension at
factionsecurity/Faction-Burp.
- Full REST API for integration with other tools, plus custom plugins modelled on Burp Extender and custom report variables.
- LDAP and OAuth 2.0 authentication, SMTP integration, and SLA warnings and alerts for remediation tracking.
Who uses it and how
- Security consultancies and internal assessment teams that need consistent report output across multiple assessors and multiple concurrent engagements.
- Assessors working in Burp Suite, who push findings into FACTION through the companion extension instead of re-keying them into a document later.
- Delivery managers and team leads who manage assessment teams and track progress across the organisation from one place.
- Remediation owners on the client side, who are tracked against custom SLA warnings and alerts after the report is delivered.
- Organisations with existing identity infrastructure, which can attach FACTION to their directory through LDAP or OAuth 2.0 and route notifications through their own SMTP server.
- Developers extending the platform with custom plugins and report variables rather than forking the application.
Getting started
Clone the repository and run docker-compose up --build; the containers expose the instance at http://127.0.0.1:8080, and on first boot FACTION prompts for creation of an admin account. Building the WAR file directly requires Java JDK11 and Maven.
How it compares
No paid commercial products are listed in the facts for this entry, so direct comparison is not possible here; FACTION stands alone in this registry on that basis. The nearest named tool is Burp Suite, and FACTION integrates with it through the Faction-Burp extension rather than competing with it. Distribution is governed by the GPL-2.0 licence, and the software is deployed and operated by the adopting organisation rather than delivered as a hosted service.
When to use it — and when not to
A self-hoster must operate MongoDB alongside the application container, and MongoDB requires a CPU with AVX support, which is a known obstacle on some virtualised, Oracle VirtualBox, and Kubernetes environments. Java JDK11 and Maven are needed for source builds, and SMTP, LDAP, or OAuth 2.0 are needed to get mail and directory login working. Note the version situation: this repository holds FACTION 1.X, and OWASP Faction 2.0 has been released in a separate repository and will replace it, so new adopters should evaluate the 2.0 line before committing to a 1.X deployment.
project readme (upstream, from github) — read inline
OWASP - FACTION PenTesting Report Generation and Collaboration Framework


OWASP Faction 2.0 Has been released! 🎉
Faction 2.0 is a major update and will begin replacing this version. You can run it here
OWASP Faction 1.X Info
Faction is now an OWASP Project! You can find more information here

Sponsors
Premium Sponsors
Become a Sponsor ❤️
If you like the project and would like to see it advance then consider being a sponsor. All sponsors get access to the Faction discord server and will have bug reports prioritized. Just click the sponsor links at the top of this repo or contact us at info[at]factionsecurity.com
Community, Getting Involved, and Updates
Join the OWASP Slack Community and and follow #project-faction! Be sure to follow us on BlueSky and our Blog to get the latest updates.
Contributing
Please see our contributing guidelines for details and standards on contributing before considering or submitting a pull request.
Introduction
FACTION is your entire assessment workflow in a box. With FACTION you can:
- Automate pen testing and security assessment Reports
- Peer review and track changes for reports
- Create customized DOCX templates for different assessment types and retests
- Real-time collaboration with assessors via the web app and Burp Suite Extensions
- Customizable vulnerability templates with over 75 prepopulated
- Easily manage assessment teams and track progress across your organization
- Track vulnerability remediation efforts with custom SLA warnings and alerts
- Full Rest API to integrate with other tools
Other Features:
- LDAP Integration
- OAUTH2.0 Integration
- SMTP integration
- Extendable with Custom Plugins similar to Burp Extender.
- Custom Report Variables
Want to see it in action? -> Faction YouTube Channel
Quick Setup
Requirements
- Java JDK11
- Maven (for building the project)
- (Optional for VM). Mongo DB requires a CPU with AVX support. You may run into this issue if using Oracle Virtual Box or Kubernetes
Run the following commands to build the war file and deploy it to the docker container.
git clone git@github.com:factionsecurity/faction.git
cd faction
docker-compose up --build
Once the containers are up you can navigate to http://127.0.0.1:8080 to access your FACTION instance.
On the first boot, it will ask you to create an admin account.
Import the Vulnerability Templates
- Navigate to Templates -> Default Vulnerabilities
- Click Update from Faction.
Customize reports
You can find out more information about creating your own custom report templates here:
Custom Security Report Templates - Faction Security
Burp Suite Extension
Burp Suite Extensions
Manuals and Tutorials
Manual
Don't want to host it yourself?
We can provide hosting for your instance. All instances are single tenants so you don't have to worry about sharing infrastructure with untrusted parties. Navigate to https://www.factionsecurity.com to learn more.
Screenshots
Vulnerability Templates

Assessment Scheduling

Peer Review and Track Changes

Remediation/Retest Queue

Schedule Retests

Assessor Retest Interface

Vulnerability Status Tracking

1.2 Release Updates
Faction 1.2 introduces the App Store! The Faction App Store will make it easier for developers to extend faction. Faction Extensions can be used to trigger custom code when certain events happen in your workflow like sending all vulnerbilities to Jira when the assessment is complete or update a tracking system when retests pass or fail. More information can be found in the documentation site.
⭐️ Jira Integration and AppStore Dashboard

Note you can reorder extensions so that updates for one can affect updates to the next.
⭐️ Extensions for Custom Graphics
Extensions will also allow custom bar charts to your reports:

Generated report with graphics:
