aws-samples / aws-samples/sample-aiml-security-assessment

feat: Multi-tab report structure (Security Findings, OWASP Top 10, FinServ, Service-wise)

Open
#38 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
HTML
Stars
43
Forks
20
Avg merge
2d 23h
Merged PRs (30d)
4

Description

## Summary

As the number of checks grows past 116, the single-page report becomes overwhelming for different stakeholder audiences. A tabbed layout would let security engineers, compliance teams, and executives each land on the view most relevant to them.

## Proposed Tab Structure

| Tab | Audience | Content |
|---|---|---|
| **Overview** | Executives | Current executive dashboard and priority recommendations |
| **Security Findings** | Security engineers | All findings with existing filters (current table) |
| **OWASP LLM Top 10** | AppSec / Developers | Findings mapped to OWASP LLM Top 10 categories |
| **FinServ / Compliance** | Risk & Compliance | Financial services and compliance-specific checks |
| **Service-wise** | Cloud engineers | Findings grouped by AWS service (Bedrock, SageMaker, AgentCore, etc.) |

## Files Likely Touched

- HTML report template in the `generate_consolidated_report` Lambda function — restructure into tabbed layout
- Existing check data will need an `owasp_category` field to populate the OWASP tab (see #34 for metadata groundwork)

## Acceptance Criteria

- [ ] Report renders with a tab bar; each tab shows a filtered/grouped subset of findings
- [ ] All existing filters (severity, status, account) continue to work within each tab
- [ ] Tabs degrade gracefully when a category has zero findings (show an empty state, not a broken layout)
- [ ] Dark/light mode toggle applies across all tabs
- [ ] CSV export structure is unchanged (tabs are UI-only)

## Dependencies

- #34 (metadata fields) — needed to populate OWASP and FinServ tab filters correctly
- #35 (NIST AI RMF / ISO 42001) — compliance tab benefits from framework mappings

Contributor guide

Open the contributing guide

Research direction

Start with the HTML report template in the generate_consolidated_report Lambda and review the metadata work in #34 and framework mappings in #35. Implement the tab structure while preserving severity, status, and account filters, dark/light mode, empty states, and the existing CSV export. Done means all acceptance criteria work across the proposed tabs.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, html
Domain
cloud, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.