보안 대시보드¶
/observability/security/dashboard admin devops developer
조직의 모든 스택 · 모든 앱의 보안 스캔 결과를 한 화면에서 봅니다. 사이드바의
관측성 › 보안 › 보안 대시보드에 있고, /observability/security 로 들어와도
이 화면으로 옵니다.

두 탭 — 앱과 설치 OSS¶
성격이 다른 두 결과를 탭으로 가르고 숫자를 합치지 않습니다.
| 탭 | 무엇 | 성격 |
|---|---|---|
| 앱 | 파이프라인의 보안 단계 넷 — 시크릿 · 의존성 · SAST · 이미지 | 게이트 — 배포를 막는다 |
| 설치 OSS | 스택이 설치한 GitLab · Harbor · Argo CD 같은 OSS 이미지의 취약점 | 보고 — 설치 · 배포를 막지 않는다 |
설치 OSS 이미지 하나가 CRITICAL 수십 건을 갖는 일이 흔해서, 합치면 앱 쪽 숫자가 묻힙니다. 고칠 사람도 다릅니다 — 앱은 개발자가, 설치 OSS 는 스택 운영자가 업그레이드로 고칩니다(설치 OSS CVE 대응).
설치 OSS 탭은 admin · devops 에게만 보입니다. developer 에게는 탭과 다섯 번째 KPI 카드가 없고, 화면이 그 API 를 부르지도 않습니다.
쓰는 법¶
- 위쪽 클러스터 · 스택 에서 범위를 좁힙니다. 기본은
전체— 조직 전체입니다. 스택이 없는 앱(직접 배포 · 스택이 지워진 앱)은스택 없음으로 고릅니다. - 앱 이름 검색 으로 앱을 찾습니다.
- 문제 있는 것만 은 기본으로 켜져 있습니다. 끄면 통과한 앱과 보안 단계가 없는
앱도 보입니다. 표 아래
문제 없는 앱 N개를 숨겼습니다의 모두 보기 도 같습니다. - 행을 누르면 오른쪽에 단계별 요약이 열립니다.
KPI 카드는 범위 필터(클러스터 · 스택 · 검색)만 따릅니다. 문제 있는 것만 을 켜고 꺼도 카드 숫자는 그대로입니다.
KPI 카드¶
카드는 취약점 건수가 아니라 조치해야 할 대상 수를 셉니다. 같은 베이스 이미지의 CVE 가 앱마다 겹쳐 세지고, 이미지 스캔과 의존성 스캔은 앱 의존성 구간이 겹치기 때문입니다. 건수는 표의 칸에서 봅니다.
| 카드 | 세는 것 | 할 일 |
|---|---|---|
| 차단된 앱 | 보안 단계 하나라도 차단 인 앱 / 보안 단계가 있는 앱 |
배포가 멈춰 있다 — 막힌 단계를 고친다 |
| 시크릿 탐지 앱 | 시크릿 탐지가 차단 또는 경고 인 앱. 경고 정책이어도 센다 |
즉시 폐기 · 회전 |
| CRITICAL 보유 앱 | 이미지 또는 의존성 스캔에 CRITICAL 이 있는 앱(스택 정책 기준) | 의존성 · 베이스 이미지 갱신 |
| 판정 불가 앱 | 단계 하나라도 판정 불가 또는 기록 없음 인 앱 |
스캐너 · 러너 · 리포트 경로 점검 |
| 설치 OSS 조치 대상 | 수정판 있는 CRITICAL 을 가진 설치 이미지 수(A + B 등급). 외부 노출(A) 수와 스캔하지 않는 스택 수를 함께 적는다 | OSS 업그레이드 |
\"정책 기준\" 이란
스택의 스캔 정책이 수정판 없는 취약점을 빼도록(기본값) 돼 있으면, 건수도 수정판이 있는 것만 셉니다. 게이트가 본 것과 화면의 숫자가 같아야 하기 때문입니다.
앱 탭 읽는 법¶
행은 앱(파이프라인) 하나이고, 열은 파이프라인 단계 순서대로 시크릿 → 의존성 →
SAST → 이미지 입니다. 열 머리의 SAST 4/9 는 앱 9개 중 4개에 그 단계가 있다는
뜻입니다.
스택이 여럿이면 앱을 스택별로 묶고, 묶음 머리에 클러스터와 차단 · 시크릿 · CRITICAL · 판정 불가 수를 적습니다. 문제가 없는 묶음은 접혀서 열립니다. 스택 하나를 고르면 묶음 없이 평평한 표가 됩니다.
칸의 상태¶
| 상태 | 뜻 |
|---|---|
통과 |
게이트를 지났다 |
경고 |
정책이 경고로 통과시켰다 |
차단 |
게이트가 막았다 |
판정 불가 |
스캐너 장애나 리포트 누락 — 통과가 아니다 |
기록 없음 |
단계는 있는데 main 의 결과가 아직 없다 |
— (미적용) |
파이프라인에 그 단계가 없다. 시크릿 탐지는 스택 정책이 off 여도 |
대상 없음 |
의존성 스캔이 검사할 락파일을 찾지 못하고 통과했다 — 초록으로 보이지 않는다 |
칸 안의 숫자는 시크릿이 탐지 건수, 의존성 · 이미지가 C3 H5(CRITICAL · HIGH),
SAST 가 취약 · 핫스팟 수입니다. 취약점 DB 가 30일을 넘으면 DB 34일 배지가 붙습니다.
칸은 그 단계의 가장 최근 결과입니다. 앞 단계가 막으면 뒤 단계는 돌지 않으므로
칸마다 실행이 다를 수 있습니다 — 최근 실행이 아닌 칸에는 #41 처럼 실행 번호가
흐리게 붙습니다.
행 순서¶
위험한 앱이 위로 옵니다.
- 시크릿이 탐지됐다(차단 · 경고) — 커밋을 지워도 이미 유출이다
- 차단된 단계가 있다
- 판정 불가 · 기록 없음
- 경고
- 모두 통과
- 보안 단계가 없다
같은 순위 안에서는 CRITICAL 이 많은 앱, 최근에 돈 앱, 이름 순입니다. 문제 있는 것만 은 1~4 만 보입니다.
상세 패널¶
행을 누르면 오른쪽에 단계별 판정 · 실행 번호 · 건수와 리포트(CI 산출물) · SonarQube 링크가 나옵니다. 시크릿이 탐지됐으면 폐기 · 회전 경고가 먼저 보입니다. 비밀값은 어디에도 나오지 않습니다 — 리포트는 CI 에서부터 값을 가립니다.
상세는 이 화면에 다시 만들지 않았습니다. 실행 기록 열기 가 CI/CD 목록의 그 앱 실행 기록 탭을 바로 엽니다. 실행 기록에는 이미지 스캔 · SAST 옆에 의존성 · 시크릿 탐지 요약도 함께 나옵니다.
설치 OSS 탭¶

스택 한 줄에 설치 이미지 수, 등급별 이미지 수, 수정판 있는 CRITICAL · HIGH, 가장 심각한 이미지, 마지막 스캔과 취약점 DB 나이가 나옵니다. 등급은 설치 OSS CVE 대응의 등급을 이미지 단위로 센 것입니다.
| 열 | 세는 이미지 |
|---|---|
| A | 수정판 있는 CRITICAL 이 있고 클러스터 밖에 노출된 이미지 |
| B | 수정판 있는 CRITICAL 이 있는 내부 이미지 |
| C | 수정판 있는 CRITICAL 은 없고 수정판 있는 HIGH 가 있는 이미지 |
- 스캐너(Trivy)를 고르지 않은 스택은
스캔 안 함 · 스캐너 미설치로, 0 이 아니라—로 보입니다. - 에어갭 스택은
에어갭표시와 함께 DB 나이를 반입 기준으로 적습니다. 반입 뒤에 공개된 CVE 는 다음 번들을 반입해야 보입니다. - 행을 누르면 스택 목록의 그 스택 이미지 취약점 탭이 열립니다.
결과는 어디서 오나¶
| 결과 | 들어오는 길 | 갱신 |
|---|---|---|
| 앱 4종 | 실행 기록 동기화가 CI 산출물(리포트)을 읽어 남긴다 | 10분 주기 + CI/CD 실행 기록 화면을 열 때 |
| 설치 OSS | 스택 Trivy 서버로 설치 이미지를 스캔한다 | 설치 직후 + 24시간 주기 |
- 앱 결과는
main기준입니다. 다른 브랜치의 실행은 읽지 않습니다. - 의존성 · 시크릿 탐지 결과는 이 화면과 함께 저장되기 시작했습니다. 그전 실행은
기록 없음으로 보입니다 — 다음 실행부터 채워집니다.
호출하는 API¶
GET /api/v1/observability/security/apps?cluster_id=&stack_id=&q=&problem_only=true
GET /api/v1/observability/security/stacks?cluster_id=&stack_id= # admin · devops
stack_id=none 은 스택 없는 앱입니다. 조직은 로그인 주체에서 정합니다.
/security/stacks 는 관측성 그룹 안에서 유일하게 역할을 보는 경로로, developer
는 403 을 받습니다(권한 표).