App Store
The Faction App Store is your central hub for discovering, installing, and managing extensions. Introduced in version 1.2, the App Store makes it easy to extend Faction’s capabilities without writing code.Accessing the App Store
Navigate to the App Store dashboard from the Faction main menu. The dashboard displays:- Installed Extensions - Extensions currently active in your Faction instance
- Available Extensions - Official and community extensions you can install
- Extension Status - Whether each extension is enabled and configured
- Execution Order - The sequence in which extensions are executed
Installing Extensions
To install an extension:From the Official Repository
- Browse the available extensions in the App Store dashboard
- Click on an extension to view its details
- Click Install to add it to your Faction instance
- Configure the extension with required parameters (see Configuration below)
- Enable the extension for the event types you want it to handle
Manual Installation
If you have a custom extension JAR file:- Navigate to the App Store dashboard
- Click Upload Extension
- Select your JAR file (must be a valid Faction extension)
- Faction validates the extension and extracts metadata
- Configure and enable the extension
Configuring Extensions
Most extensions require configuration before they can be used:Configuration Parameters
Each extension defines its own configuration schema. Common parameters include:- API Keys - Authentication tokens for external services
- URLs - Endpoints for external APIs or webhooks
- Project IDs - Identifiers for external systems (Jira project keys, etc.)
- Custom Fields - Extension-specific settings
Setting Configuration Values
- Click the Configure button next to an installed extension
- Fill in the required parameters
- Click Save Configuration
- Enable the extension for specific event types
Example: Jira Extension Configuration
Managing Extension Order
One of the most powerful features of the App Store is the ability to chain extensions together. Extensions execute in order, and each extension can modify the data that flows to the next.Reordering Extensions
To change extension execution order:- In the App Store dashboard, locate the Execution Order section
- Drag and drop extensions to reorder them
- Click Save Order
- Changes take effect immediately
Why Order Matters
Consider this workflow:- Data Enrichment Extension - Adds threat intelligence data to vulnerabilities
- Validation Extension - Validates that all required fields are populated
- Jira Extension - Creates tickets with the enriched data
Chained Workflow Example
Here’s a real-world example of chaining extensions: Scenario: Automatically create Jira tickets with custom priority mapping-
CVSS Calculator Extension (Order: 1)
- Calculates CVSS scores for each vulnerability
- Adds CVSS data to custom fields
-
Priority Mapper Extension (Order: 2)
- Reads CVSS scores from previous extension
- Maps to company-specific priority levels
- Updates vulnerability severity
-
Jira Integration Extension (Order: 3)
- Creates Jira tickets with mapped priorities
- Assigns based on severity level
- Links related vulnerabilities
Enabling and Disabling Extensions
Extensions can be enabled or disabled for specific event types:Event Type Controls
Each extension can be independently enabled for:- Inventory Events - Application inventory searches
- Assessment Events - Assessment lifecycle changes
- Vulnerability Events - Vulnerability creation and updates
- Verification Events - Retest and verification workflows
- Report Events - Report generation
Disabling an Extension
To temporarily disable an extension:- Navigate to the App Store dashboard
- Find the extension you want to disable
- Toggle the Enabled switch to off
- The extension will stop executing but remains configured
Uninstalling an Extension
To completely remove an extension:- Click the Delete icon next to the extension
- Confirm the removal
- The extension and its configuration are permanently deleted
Official Extensions
Faction provides several official, supported extensions:Jira Integration
Automatically create and update Jira issues based on vulnerability findings. Features:- Creates issues when assessments are completed
- Updates issues when vulnerabilities change
- Supports custom field mapping
- Configurable priority and severity mapping
- Links related vulnerabilities
Custom Charts Extension
Generate bar charts, pie charts, and other visualizations for your reports. Features:- Vulnerability severity distribution charts
- Trend analysis over time
- Compliance status visualizations
- Customizable chart styles and colors
Slack Notifications
Send real-time notifications to Slack channels when key events occur. Features:- Assessment completion notifications
- Critical vulnerability alerts
- Retest status updates
- Customizable message templates
Submitting Your Extension
Built a useful extension? Submit it to the official App Store for the community to use.Submission Requirements
Before submitting, ensure your extension:- Is built using the FactionExtender library (v2.7 or higher)
- Includes comprehensive documentation
- Has been tested in a production environment
- Follows Java best practices and security guidelines
- Includes proper error handling and logging
- Does not contain hardcoded credentials or secrets
Submission Process
- Host on GitHub - Your extension must be in a public GitHub repository
-
Create Documentation - Include a README.md with:
- What the extension does
- Installation instructions
- Configuration parameters
- Usage examples
- Screenshots (if applicable)
- Requirements and dependencies
-
Email Submission - Send to [email protected] with:
- Link to your GitHub repository
- Brief description (2-3 sentences)
- Your contact information
- Any special requirements or dependencies
-
Review Process:
- The Faction team reviews code quality and security
- You may receive feedback for improvements
- Approved extensions are forked for stability
- Your extension is published to the App Store
- Attribution - You’ll be credited as the author on the extension listing
Extension Logs
Extensions can log messages that appear in the Faction logs. To view extension logs:- Navigate to Settings > System Logs
- Filter by extension name
- View execution logs, errors, and debug messages
Troubleshooting
Extension Not Executing
- Verify the extension is enabled for the correct event type
- Check that configuration parameters are valid
- Review logs for error messages
- Ensure the extension JAR is valid and properly formatted
Configuration Errors
- Validate JSON syntax in configuration
- Ensure all required parameters are provided
- Check that API keys and credentials are correct
- Test external API connectivity
Ordering Issues
- Review the execution order in the App Store
- Ensure extensions that depend on each other are properly ordered
- Check logs to see which extension is failing
Next Steps
Extension Development
Build your own custom extensions
API Reference
Explore the FactionExtender API
