0.구조

web_vuln_dashboard/
│
├── app.py
├── config.py
├── requirements.txt
│
├── data/
│   ├── manual_results.csv
│   └── auto_results.json
│
├── utils/
│   ├── __init__.py
│   ├── loader.py
│   ├── comparator.py
│   └── metrics.py
│
└── ui/
    ├── __init__.py
    └── dashboard_ui.py

1. 프로젝트 흐름 카드

① 데이터 생성
EC2 취약 웹앱
→ ② 수집
수동 진단 / Python 자동 진단
→ ③ 연결
check_id 기준 병합
→ ④ 분석
일치·오탐·미탐 계산
→ ⑤ 시각화
Streamlit 대시보드

2. 핵심 요약 카드

총 진단 항목: 6개 수동 취약: 6개 자동 취약: 5개 결과 일치율: 83.3% 오탐: 0개 미탐: 1개

3. 그래프

1. 수동 vs 자동 취약점 수 비교 막대그래프
2. 일치 / 오탐 / 미탐 / 판단불가 분포 도넛 차트
3. High / Medium / Low 위험도 분포 파이 차트
구분 색상
일치 파랑 또는 초록
오탐 노랑
미탐 빨강
판단불가 회색
High 빨강
Medium 노랑
Low 하늘색(파랑에서 다운down)

image.png

색이 반대되도록 구성해 바로 취약한 부분이 어디인지 확인 할 수 있도록.?

4. 상세 진단 결과 테이블

표 컬럼

AI 설명이나 대응 방안은 별도 상세 보기로

check_id
category
item
manual_result
auto_result
comparison
risk
manual_evidence
evidence

5. 항목별 상세 보기

AI 설명은 테이블에 길게 넣지 말고 st.expander() 로 빼기

+)취약 비율 색상 기준

image.png

image.png

취약 비율 상태 색상
0~10% 양호 파랑
10~30% 보통 하늘색
30~50% 주의 노랑
50% 이상 위험 빨강
일치율 상태 색상
90% 이상 우수 파랑
75~89% 양호 하늘색
50~74% 주의 노랑
50% 미만 낮음 빨강