Overview
Assessments are the core entity in Faction, representing penetration tests, security reviews, and other security evaluation activities. Each assessment tracks the entire lifecycle from initial scheduling through peer review and final report generation.Assessment Lifecycle
Assessments in Faction progress through several workflow states managed by theAssessment class (src/com/fuse/dao/Assessment.java:90):
Workflow States
Theworkflow field (Assessment.java:90) tracks the peer review process:
- 0: Initial state / Accepted Edits
- 1: In Peer Review (
isInPr()- line 594) - 2: Peer Review Complete (
isPrComplete()- line 586) - 3: Edits Accepted (
isAcceptedEdits()- line 576) - 4: Finalized (
isFinalized()- line 568)
Assessment Types
Assessments can be configured with different types (AssessmentType class) that determine scoring systems:
Supported Scoring Systems
Native Ranking
Faction’s built-in risk ranking system using Likelihood, Impact, and Overall scores
CVSS 3.1
Common Vulnerability Scoring System version 3.1 for standardized severity ratings
CVSS 4.0
Latest CVSS version 4.0 with enhanced metrics and scoring
Team Collaboration
Assessments support multiple team members in different roles:- Engagement Manager (
engagementfield): User responsible for client communications - Assessors (
assessorlist): Multiple testers can collaborate on the same assessment - Remediation Contact (
remediationfield): Developer or security team contact for vulnerability fixes
Custom Fields
Assessments support custom fields for organization-specific data collection:Field Types
Custom fields support different types:- Variables (type < 3): Simple text or data fields included in reports
- Forms (type = 3): Structured questionnaires or checklists
Assessment Data
Key information tracked for each assessment:| Field | Description | Source Reference |
|---|---|---|
| Name | Assessment identifier | Assessment.java:41 |
| Summary | Executive summary of findings | Assessment.java:39 |
| Risk Analysis | Overall risk posture analysis | Assessment.java:40 |
| Start/End Dates | Testing window | Assessment.java:49-50 |
| Completion Date | When testing finished | Assessment.java:51 |
| Application ID | Target system identifier | Assessment.java:48 |
| Distribution List | Report recipients | Assessment.java:59 |
| Access Notes | Credentials and access info | Assessment.java:60 |
Notebooks and Notes
Faction provides a notebook system for organizing testing notes:- Name: Note identifier
- Content: Testing observations and findings
- Created/Updated timestamps: Audit trail
- Created/Updated by: User tracking
The notebook system replaced the deprecated single
Notes field (Assessment.java:235), providing better organization for complex assessments.Checklists and Questionnaires
Assessments can include structured checklists:Document Management
Each assessment maintains associated files and images:- Images: Screenshots and evidence (Assessment.java:81)
- Attached Files: Supporting documentation
- Final Report: Generated DOCX report (Assessment.java:66)
- Retest Report: Validation testing report (Assessment.java:70)
Concurrent Editing Protection
Faction includes locking mechanisms to prevent conflicts during multi-user editing:- Lock status (enabled/disabled)
- User who holds the lock
- Lock acquisition timestamp
Campaign Organization
Assessments can be grouped into campaigns for managing related testing activities:- Related assessments across time
- Retesting efforts
- Program-level metrics
Next Steps
Vulnerabilities
Track and manage security findings within assessments
Peer Review
Submit assessments for quality assurance review
Reporting
Generate professional security reports
Collaboration
Real-time teamwork features
