{% extends "base.html" %}
{% block title %}{{ project }} — CPGuard{% endblock %}
{% block head %}
{% endblock %}
{% block content %}
보안 상태 — 배지를 누르면 아래 탐색기에서 해당 위험도만 봅니다
{{ latest.open_count }} 건 조치대상
/ 탐지 {{ latest.finding_count }}
{% for sev, n in counts.items %}{{ sev|upper }} {{ n }}{% endfor %}
{% if prev %}
|
이전 스캔 대비
신규 +{{ new_count }}
해결 −{{ resolved_count }}
{% if risk_delta > 0 %}▲ 위험 증가 (+{{ risk_delta }}){% elif risk_delta < 0 %}▼ 위험 감소 ({{ risk_delta }}){% else %}— 변화 없음{% endif %}
{% else %}
첫 스캔 — 다음 스캔부터 신규/해결을 비교합니다
{% endif %}
감사 완료 {{ audited }}/{{ latest.finding_count }}
감사 상태
취약 확정 {{ audit_summary.confirmed|default:0 }}
오탐 {{ audit_summary.false_positive|default:0 }}
조치완료 {{ audit_summary.fixed|default:0 }}
보류 {{ audit_summary.deferred|default:0 }}
미확인 {{ audit_summary.unaudited|default:0 }}
오탐·보류·조치완료는 조치대상에서 빠집니다
{% if latest.integrity_note %}
스캔 무결성: {{ latest.integrity_note }}
{% endif %}
{% if latest.language_stats %}
| 개발언어 | 파일 | 라인 |
탐지 | 밀도 |
{% for r in latest.language_stats %}
| {{ r.language }} |
{{ r.files }} |
{{ r.lines }} |
{{ r.issues }} |
{{ r.density }} |
{% endfor %}
{% endif %}
진단 제외 설정{% if setting %} · 경로 {{ setting.glob_list|length }} · 규칙 {{ setting.rule_list|length }}{% endif %}
최근 진단 수행 조건 · 규칙 조정 {{ tuned_specs|length }}건 · SCA {% if sca_done %}수행{% else %}미수행{% endif %}
사용자 규칙 조정 —
{% if tuned_specs %}동봉 규칙 위에 겹쳐 적용됨: {% for s in tuned_specs %}{{ s }}{% if not forloop.last %}, {% endif %}{% endfor %}
{% else %}없음. 오탐이 나는 규칙은 ~/.cpguard/specs/ 에 같은 id 의 yml 을 두면
sink·sanitizer 를 더하거나 위험도를 낮출 수 있습니다 (제외보다 정밀합니다).{% endif %}
오픈소스 컴포넌트(SCA) —
{% if sca_note %}{{ sca_note }}
{% else %}이번 진단에서는 수행하지 않았습니다. 업로드 화면에서 켤 수 있습니다
(패키지명·버전이 OSV.dev 로 전송됩니다).{% endif %}
{% if sca_done %}
직전 진단과 SCA 수행 여부가 다르면 오픈소스 항목은 신규/해결 비교에서 제외됩니다 —
점검하지 않은 것을 조치했다고 셀 수 없기 때문입니다.
{% endif %}