Add wiki page: Executive-Dashboard-and-Reports
@@ -0,0 +1,215 @@
|
||||
# Executive Dashboard and Reports
|
||||
|
||||
Aegis provides real-time dashboards, historical snapshots, and professional report
|
||||
generation for all stakeholders — from technical leads to C-suite executives.
|
||||
|
||||
---
|
||||
|
||||
## Dashboard Endpoints
|
||||
|
||||
All dashboard endpoints require authentication but are accessible to all roles.
|
||||
|
||||
### KPIs
|
||||
|
||||
```http
|
||||
GET /api/v1/dashboard/kpis
|
||||
```
|
||||
|
||||
Returns the core metrics at a glance:
|
||||
```json
|
||||
{
|
||||
"total_techniques": 742,
|
||||
"covered_techniques": 387,
|
||||
"coverage_percent": 52.2,
|
||||
"validated_tests": 312,
|
||||
"active_campaigns": 3,
|
||||
"open_alerts": 7,
|
||||
"last_snapshot": "2024-03-15T08:00:00Z",
|
||||
"organization_score": 64.8
|
||||
}
|
||||
```
|
||||
|
||||
### Executive Summary
|
||||
|
||||
```http
|
||||
GET /api/v1/dashboard/executive
|
||||
```
|
||||
|
||||
Returns a narrative summary suitable for non-technical stakeholders:
|
||||
- Overall security posture statement
|
||||
- Coverage trend (improving/declining/stable)
|
||||
- Top 3 uncovered high-risk techniques
|
||||
- Recent key achievements (campaigns completed, techniques covered)
|
||||
- Open action items
|
||||
|
||||
### Coverage by Tactic
|
||||
|
||||
```http
|
||||
GET /api/v1/dashboard/coverage-by-tactic
|
||||
```
|
||||
|
||||
Returns per-tactic breakdown:
|
||||
```json
|
||||
[
|
||||
{
|
||||
"tactic_id": "TA0002",
|
||||
"tactic_name": "Execution",
|
||||
"total_techniques": 13,
|
||||
"validated": 8,
|
||||
"partial": 3,
|
||||
"not_covered": 2,
|
||||
"coverage_percent": 84.6,
|
||||
"score": 76.2
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
### Posture History
|
||||
|
||||
```http
|
||||
GET /api/v1/dashboard/posture-history?days=90
|
||||
```
|
||||
|
||||
Time-series data for trend charts (default: last 90 days):
|
||||
```json
|
||||
[
|
||||
{"date": "2024-01-01", "score": 48.2, "covered_percent": 45.1},
|
||||
{"date": "2024-02-01", "score": 52.7, "covered_percent": 48.8},
|
||||
{"date": "2024-03-01", "score": 64.8, "covered_percent": 52.2}
|
||||
]
|
||||
```
|
||||
|
||||
### Activity Feed
|
||||
|
||||
```http
|
||||
GET /api/v1/dashboard/activity?limit=20
|
||||
```
|
||||
|
||||
Recent actions across the platform:
|
||||
- Tests validated
|
||||
- Campaigns completed
|
||||
- New lessons learned added
|
||||
- Alerts fired
|
||||
- MITRE sync completed
|
||||
|
||||
---
|
||||
|
||||
## Snapshots
|
||||
|
||||
Snapshots capture a complete point-in-time record of coverage metrics. They enable
|
||||
trend analysis and before/after comparison.
|
||||
|
||||
### Creating a Snapshot
|
||||
|
||||
**Manual** (leads, admin):
|
||||
```http
|
||||
POST /api/v1/snapshots
|
||||
{"notes": "Pre-campaign baseline — March 2024"}
|
||||
```
|
||||
|
||||
**Automatic**: The system creates snapshots automatically:
|
||||
- After every campaign completion
|
||||
- After MITRE sync
|
||||
- On a scheduled basis (configurable)
|
||||
|
||||
### Listing Snapshots
|
||||
|
||||
```http
|
||||
GET /api/v1/snapshots?limit=10&offset=0
|
||||
```
|
||||
|
||||
### Coverage Evolution (Trend)
|
||||
|
||||
```http
|
||||
GET /api/v1/snapshots/evolution?limit=50
|
||||
```
|
||||
|
||||
Returns time-ordered list of snapshots with key metrics — ideal for plotting a
|
||||
trend line of coverage improvement over time.
|
||||
|
||||
### Comparing Two Snapshots
|
||||
|
||||
```http
|
||||
GET /api/v1/snapshots/compare?a=<snapshot_id_1>&b=<snapshot_id_2>
|
||||
```
|
||||
|
||||
Returns a diff showing:
|
||||
- Techniques newly covered since snapshot A
|
||||
- Techniques that lost coverage
|
||||
- Score delta
|
||||
- Test count delta
|
||||
|
||||
### Deleting a Snapshot
|
||||
|
||||
Only admins can delete snapshots:
|
||||
```http
|
||||
DELETE /api/v1/snapshots/{id}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Professional Report Generation
|
||||
|
||||
Aegis can generate publication-ready reports in PDF, DOCX, or HTML format.
|
||||
These are available to: **admin, red_lead, blue_lead, and viewer**.
|
||||
|
||||
### Available Reports
|
||||
|
||||
| Report | Endpoint | Description |
|
||||
|--------|----------|-------------|
|
||||
| Purple Team Campaign | GET /reports/generate/purple-campaign/{id} | Full campaign report with all tests |
|
||||
| Coverage Summary | GET /reports/generate/coverage-summary | Org-wide coverage status |
|
||||
| Executive Summary | GET /reports/generate/executive-summary | C-suite briefing, 2-3 pages |
|
||||
| Quarterly Summary | GET /reports/generate/quarterly-summary | Quarterly review with trends |
|
||||
| Technique Detail | GET /reports/generate/technique/{id} | Deep-dive on one technique |
|
||||
|
||||
### Format Selection
|
||||
|
||||
Append `?format=pdf`, `?format=docx`, or `?format=html` (default: html):
|
||||
```http
|
||||
GET /api/v1/reports/generate/executive-summary?format=pdf
|
||||
```
|
||||
|
||||
Response headers:
|
||||
```
|
||||
Content-Type: application/pdf
|
||||
Content-Disposition: attachment; filename="executive-summary-2024-03-15.pdf"
|
||||
```
|
||||
|
||||
### Report Content — Purple Team Campaign
|
||||
|
||||
Includes for each test in the campaign:
|
||||
- Test title, technique ID and name, objective
|
||||
- Execution timeline
|
||||
- Red team findings (tool, command, output)
|
||||
- Blue team detection result and response
|
||||
- Validation status
|
||||
- Evidence thumbnails
|
||||
- Remediation status
|
||||
|
||||
Plus campaign-level summary:
|
||||
- Detection rate (detected / total tests)
|
||||
- Coverage improvement delta
|
||||
- Top findings and recommendations
|
||||
- Executive narrative
|
||||
|
||||
### Report Content — Executive Summary
|
||||
|
||||
- Organization security posture score
|
||||
- Coverage percentage vs last quarter
|
||||
- Top 5 technique gaps by risk
|
||||
- Recent campaign outcomes
|
||||
- Key recommendations for next quarter
|
||||
- Glossary of terms
|
||||
|
||||
---
|
||||
|
||||
## Raw Data Exports
|
||||
|
||||
| Endpoint | Format | Description |
|
||||
|----------|--------|-------------|
|
||||
| GET /reports/coverage-summary | JSON | Coverage status per technique |
|
||||
| GET /reports/coverage-csv | CSV download | Coverage matrix for Excel/BI tools |
|
||||
| GET /reports/test-results | JSON | All test results with outcomes |
|
||||
| GET /reports/remediation-status | JSON | Remediation tracking per technique |
|
||||
|
||||
Reference in New Issue
Block a user