From 58b46a9d84ad28763ca875b975abbbb386d0a503 Mon Sep 17 00:00:00 2001
From: seonghobae <8172694+seonghobae@users.noreply.github.com>
Date: Sun, 2 Aug 2026 14:08:48 +0000
Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A1=EF=B8=8F=20Sentinel:=20[security?=
=?UTF-8?q?=20improvement]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.jules/sentinel.md | 4 ++++
CHANGELOG.md | 1 +
index.html | 2 +-
tests/test_index_security.py | 30 ++++++++++++++++++++++++++++++
4 files changed, 36 insertions(+), 1 deletion(-)
create mode 100644 tests/test_index_security.py
diff --git a/.jules/sentinel.md b/.jules/sentinel.md
index 4f173bc..22e09ba 100644
--- a/.jules/sentinel.md
+++ b/.jules/sentinel.md
@@ -38,3 +38,7 @@
**Vulnerability:** Missing input validation on `setLanguage()` could allow invalid strings (like Prototype Pollution payloads or arbitrary text) to be applied to the DOM (`lang` attribute) and stored in `localStorage`.
**Learning:** The global `setLanguage` function assumed inputs would only come from predefined button clicks, skipping runtime validation.
**Prevention:** Always sanitize and validate function arguments at the application boundary, even if the primary caller is trusted, to enforce defense in depth.
+## 2026-08-02 - CSP `base-uri` 강화
+**Vulnerability:** `base-uri 'self'` 설정은 정적 사이트에서 불필요하게 `self` 출처의 base 태그 주입을 허용할 여지를 남깁니다.
+**Learning:** 애플리케이션에서 동적으로 경로를 해석할 때 기준(base) URL을 악의적으로 변경하여 리소스를 가로채는 Base Tag Injection 공격 위험을 줄이려면, `