You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- POST /controls/detail/{id}/evidence-records/auto (admin·security) — 휘발성 라이브 증적
(Fleet 자산 수·Zabbix 경보/모니터링·크로스매핑)을 한국어 요약 본문으로 조립해 수기 증적처럼
영속. 심사 대비 "이 날 이만큼의 증적" 시점 증거를 수기 타이핑 없이 박제.
- 증적 레코드에 source(manual|auto) 구분 — schema/011 자가치유 ALTER + postgres load/save 반영
- UI: 수기 증적 섹션에 "⚡ 실증적 자동 기록" 버튼 + auto 배지(자동), 본문 pre-wrap 렌더
- CSV 내보내기에 kind=auto 표기
- 전체 163 passed
- 🎯 **Risk Assessment (R-series)** — Per-CVE **Risk = Impact (asset importance H/M/L) × Likelihood (severity)** as a **score (1–9)** on a 3×3 matrix (score-forward), with treatment decision (mitigate/accept/transfer/avoid) · residual risk · review date. **Admin-only assessment-basis (provenance)** panel. A single **risk-acceptance threshold (DoA)** auto-classifies risks at or below it as **auto-acceptable**. Based on ISMS-P risk management / ISO 27001 6.1.2·8.8
26
-
- 📚 **Control catalog (Phase 2)** — ISMS-P 101 + ISO 27001:2022 93 = **194 criteria** (KO/EN) as a tree in the **Compliance tab**. Edit each control's **implementation status (implemented/partial/not-implemented/N-A) · owner · plan · due date** → persisted to `control_status` (`schema/009`, survives restarts) + change history. **Admins edit the catalog itself** (add/edit/delete controls) — an overlay (`schema/011`) kept separate from the base (`controls/*.yaml`) so it survives re-sync. **Regulation-text NLP import** (`POST /controls/import-nlp`) — precise structuring via Claude when `MORI_ANTHROPIC_API_KEY` is set, clause-level heuristic otherwise → saved as draft controls. Per control, **document manual evidence** (`control_evidence`: title, body, collector, date, reference) and **download the evidence pack as CSV or PDF** (live + documented, merged). Editing = admin; evidence documentation/view = admin·security
26
+
- 📚 **Control catalog (Phase 2)** — ISMS-P 101 + ISO 27001:2022 93 = **194 criteria** (KO/EN) as a tree in the **Compliance tab**. Edit each control's **implementation status (implemented/partial/not-implemented/N-A) · owner · plan · due date** → persisted to `control_status` (`schema/009`, survives restarts) + change history. **Admins edit the catalog itself** (add/edit/delete controls) — an overlay (`schema/011`) kept separate from the base (`controls/*.yaml`) so it survives re-sync. **Regulation-text NLP import** (`POST /controls/import-nlp`) — precise structuring via Claude when `MORI_ANTHROPIC_API_KEY` is set, clause-level heuristic otherwise → saved as draft controls. Per control, **document manual evidence** (`control_evidence`: title, body, collector, date, reference) or **⚡ auto-snapshot the live evidence** into a dated record (`POST …/evidence-records/auto`, `source=auto`), and **download the evidence pack as CSV or PDF** (live + documented, merged). Editing = admin; evidence documentation/view = admin·security
27
27
- 🔐 **Role-aware screens** — Risk assessment & control catalog are **admin·security only**; infra/helpdesk see only **their servers' vulnerabilities & remediation rate**. **My servers** is trimmed to `hostname·importance·status·IP`; **double-click a row** opens a detail modal that buckets open items into **exception-expired / overdue / other risks** + **Zabbix/Grafana/Fleet deep-links** (per asset kind). Asset tables have **team & 'my assets only' filters**. The Trivy table shows a **risk score (1–9)** instead of severity counts. The dashboard is a **role-aware security hero + 24h/12h infra status (Zabbix/Wazuh deep links)**, with **panel editing** for per-user widget selection (persisted)
28
28
- 🌐 **Multi-language UI** — Korean / English toggle on every page (login, dashboard, admin console); moved from a fixed top-right widget into the **account menu (👤)**, persisted in a cookie + localStorage and switches instantly without a reload
29
29
- 👤 **User profile + My Servers** — Save name · department · assigned servers to your account, and view only your assets in a dedicated **⭐ My Servers** view (profile-menu shortcut)
- 🎯 **위험성 평가 (R-series)** — 취약점(CVE)별 **위험도 = 영향도(자산 중요도 상/중/하) × 발생가능성(심각도)** 를 3×3 매트릭스로 **점수(1~9)** 산정(라벨보다 점수 우선), 위험처리 결정(조치/수용/이관/회피)·잔여위험·재평가일 기록. **어드민 전용 산정 근거(provenance)** 패널. **위험 수용 기준(DoA)** — admin이 임계 점수를 입력하면 그 이하 위험은 **기본 수용가능**으로 자동 분류. ISMS-P 위험관리 / ISO 27001 6.1.2·8.8 기반
26
-
- 📚 **통제 카탈로그 (Phase 2)** — ISMS-P 101 + ISO 27001:2022 93 = **194개 인증기준**(한/영) 트리를 **컴플라이언스 탭**에 표시. 통제별 **이행 상태(이행/부분이행/미이행/해당없음)·담당자·개선계획·기한을 편집**하면 `control_status`(`schema/009`)에 **영속(재시작 유지)** + 변경 이력 기록. **admin은 카탈로그 정본을 직접 편집**(통제 추가/수정/삭제) — base(`controls/*.yaml`)와 분리된 오버레이(`schema/011`)에 쌓여 재싱크에도 유지. **법령/고시 텍스트 NLP 임포트**(`POST /controls/import-nlp`) — `MORI_ANTHROPIC_API_KEY`가 있으면 Claude로 정밀 구조화, 없으면 조항 단위 휴리스틱 → 통제 초안(draft) 저장. 통제별 **수기 증적 문서화**(`control_evidence`, 제목·내용·수집자·수집일·참조)와 **증적 팩 CSV/PDF 선택 다운로드**(라이브+수기 합본). 편집=admin, 증적 문서화·열람=admin·security
26
+
- 📚 **통제 카탈로그 (Phase 2)** — ISMS-P 101 + ISO 27001:2022 93 = **194개 인증기준**(한/영) 트리를 **컴플라이언스 탭**에 표시. 통제별 **이행 상태(이행/부분이행/미이행/해당없음)·담당자·개선계획·기한을 편집**하면 `control_status`(`schema/009`)에 **영속(재시작 유지)** + 변경 이력 기록. **admin은 카탈로그 정본을 직접 편집**(통제 추가/수정/삭제) — base(`controls/*.yaml`)와 분리된 오버레이(`schema/011`)에 쌓여 재싱크에도 유지. **법령/고시 텍스트 NLP 임포트**(`POST /controls/import-nlp`) — `MORI_ANTHROPIC_API_KEY`가 있으면 Claude로 정밀 구조화, 없으면 조항 단위 휴리스틱 → 통제 초안(draft) 저장. 통제별 **수기 증적 문서화**(`control_evidence`, 제목·내용·수집자·수집일·참조) 또는 **⚡실증적 자동 스냅샷**(라이브 집계를 날짜 찍힌 증적으로 원클릭 생성, `POST …/evidence-records/auto`, `source=auto`)와 **증적 팩 CSV/PDF 선택 다운로드**(라이브+수기 합본). 편집=admin, 증적 문서화·열람=admin·security
27
27
- 🔐 **역할별 화면** — 위험성 평가·통제 카탈로그는 **admin·security 전용**, 인프라·헬프데스크는 **내 담당 서버 취약점·조치율**만 열람. **내 담당 서버**는 `호스트명·중요도·상태·IP`로 간소화, 행 **더블클릭 → 상세 모달**에서 미조치를 **예외 만료·조치기한 초과·기타 위험** 3버킷으로 표시 + **Zabbix/Grafana/Fleet 딥링크**(자산 종류별). 자산 표엔 **팀별·'내 자산만' 필터**. 취약점(Trivy) 표는 심각도 대신 **위험점수(1~9)** 표기. 대시보드는 **역할별 보안 히어로 + 24h/12h 인프라 현황(Zabbix/Wazuh 딥링크)** 로 구성, **패널 편집**으로 개인별 위젯 선택·영속화
28
28
- 🌐 **다국어 UI** — 로그인·대시보드·어드민 콘솔 전 페이지 한국어/영어 토글 (우상단 고정 위젯 → **계정 메뉴(👤)**로 이동, 쿠키·localStorage 저장, 새로고침 없이 즉시 전환)
29
29
- 👤 **사용자 프로필 + 내 서버** — 이름·부서·담당 서버를 계정에 저장하고, 담당 자산만 모아 보는 **⭐ 내 서버** 뷰(프로필 메뉴 바로가기) 제공
"dash.ctl.ev_need_ttl": "Enter a title", "dash.ctl.ev_del_confirm": "Delete this evidence record?",
905
+
"dash.ctl.ev_auto": "auto", "dash.ctl.ev_auto_btn": "Auto-capture live evidence",
906
+
"dash.ctl.ev_auto_tip": "Snapshot the current live evidence into a dated record",
907
+
"dash.ctl.ev_auto_run": "Creating snapshot…",
902
908
"dash.ctl.nlp_ttl": "Regulation text → control drafts",
903
909
"dash.ctl.nlp_help": "Paste regulation text to convert & save it as draft controls. Precise structuring with a Claude API key; clause-level heuristic otherwise.",
904
910
"dash.ctl.nlp_fw": "Framework (e.g. PIPA)", "dash.ctl.nlp_ph": "Paste the full regulation/notice text…",
0 commit comments