PHL-Hardening

๋ณด์•ˆ ํ•˜๋“œ๋‹ Generator

๋Œ€์ƒ ๋ชจ๋“ˆ/๋ ˆํฌ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ทจ์•ฝ์  ๋ถ„์„ + ๋ณด์•ˆ ๊ฐ•ํ™” ์‹คํ–‰ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋Œ€์ƒ ์ •๋ณด

์ ๊ฒ€ ํ•ญ๋ชฉ ์„ ํƒ

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ (์„ ํƒ)

์ƒ์„ฑ๋œ ํ”„๋กฌํ”„ํŠธ โ€” Claude Code์— ๋ถ™์—ฌ๋„ฃ๊ธฐ

Name:    PHL-Hardening
Intent:  ์ทจ์•ฝ์ ๊ณผ ์•ˆ์ •์„ฑ ๋ฆฌ์Šคํฌ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค

Procedure:
  Step 1: ์œ„ํ˜‘ ํ‘œ๋ฉด ๋ถ„์„ (์™ธ๋ถ€ ์ž…๋ ฅ/์ถœ๋ ฅ, ์ธ์ฆ ๊ฒฝ๊ณ„, ๋ฏผ๊ฐ ๋ฐ์ดํ„ฐ, ์˜์กด์„ฑ)
  Step 2: ์ž…๋ ฅ ๊ฒ€์ฆ (ํƒ€์ž…ยท๊ธธ์ดยทํ™”์ดํŠธ๋ฆฌ์ŠคํŠธยทํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ”์ธ๋”ฉยทXSS ์ด์Šค์ผ€์ดํ”„)
  Step 3: ์ธ์ฆ/์ธ๊ฐ€ (์šฐํšŒ ๊ฒฝ๋กœยท๊ถŒํ•œ ์ฒดํฌยท์„ธ์…˜ ๋งŒ๋ฃŒยทCORS)
  Step 4: ๋น„๋ฐ€ํ‚ค ์ฒ˜๋ฆฌ (ํ•˜๋“œ์ฝ”๋”ฉ ๊ฒ€์ถœยทํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ด๋™ยท.gitignoreยท๋กœ๊ทธ ๋…ธ์ถœ)
  Step 5: ์•ˆ์ •์„ฑ (Rate limitยทํƒ€์ž„์•„์›ƒยท๋ฆฌ์†Œ์Šค ํ•ด์ œยทfail-closed)
  Step 6: ์˜์กด์„ฑ ์ ๊ฒ€ (์•Œ๋ ค์ง„ ์ทจ์•ฝ์ ยท๋ถˆํ•„์š” ์˜์กด์„ฑยทlockfile)

Commit Format:
  PHL-Hardening: <module> - <summary>
  - ์ž…๋ ฅ ๊ฒ€์ฆ: [๋ณ€๊ฒฝ ๋‚ด์šฉ]
  - ์ธ์ฆ/์ธ๊ฐ€: [๋ณ€๊ฒฝ ๋‚ด์šฉ]
  - ๋น„๋ฐ€ํ‚ค ์ฒ˜๋ฆฌ: [๋ณ€๊ฒฝ ๋‚ด์šฉ]
  - ์•ˆ์ •์„ฑ: [๋ณ€๊ฒฝ ๋‚ด์šฉ]

Priority: ๋ณด์•ˆ > ๊ธฐ๋Šฅ (์ถฉ๋Œ ์‹œ ๋ณด์•ˆ ์šฐ์„ )
ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋จ