Skip to content

Latest commit

ย 

History

History
559 lines (479 loc) ยท 21.8 KB

File metadata and controls

559 lines (479 loc) ยท 21.8 KB

K-SecGuide โ€” Claude Code ๋งˆ์Šคํ„ฐ ํ”„๋กฌํ”„ํŠธ

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ฃผ์š”์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜์‹œ์„ค ์ทจ์•ฝ์  ๋ถ„์„ยทํ‰๊ฐ€ ๊ฐ€์ด๋“œ(๊ด€๋ฆฌ/๋ฌผ๋ฆฌ/๊ธฐ์ˆ )๋ฅผ GitHub Pages๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ํ”„๋กœ์ ํŠธ. ๋ณด์•ˆ ์‹ค๋ฌด์ž๊ฐ€ PDF 1,205ํŽ˜์ด์ง€๋ฅผ ๋’ค์ ์ด๋Š” ๋Œ€์‹  ์›น์—์„œ ์ฆ‰์‹œ ๊ฒ€์ƒ‰ยท์ฐธ์กฐยท๋ฒ•๋ น๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ.


โš ๏ธ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•  ์›์น™

1. ๊ณต๊ณต๋ˆ„๋ฆฌ ์ œ4์œ ํ˜• ์ค€์ˆ˜ (์ตœ์šฐ์„ )

  • ๋ณธ ๊ณต๊ณต์ €์ž‘๋ฌผ์€ ๊ณต๊ณต๋ˆ„๋ฆฌ "์ถœ์ฒ˜ํ‘œ์‹œ+์ƒ์—…์ ์ด์šฉ๊ธˆ์ง€+๋ณ€๊ฒฝ๊ธˆ์ง€" ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ถœ์ฒ˜: ํ•œ๊ตญ์ธํ„ฐ๋„ท์ง„ํฅ์›(KISA)
  • ๋ฌธ์„œ๋ช…: "2026 ์ฃผ์š”์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜์‹œ์„ค ๊ด€๋ฆฌยท๋ฌผ๋ฆฌ์  ์ทจ์•ฝ์  ๋ถ„์„ยทํ‰๊ฐ€ ๋ฐฉ๋ฒ• ์•ˆ๋‚ด์„œ" / "2026 ์ฃผ์š”์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜์‹œ์„ค ๊ธฐ์ˆ ์  ์ทจ์•ฝ์  ๋ถ„์„ยทํ‰๊ฐ€ ๋ฐฉ๋ฒ• ์ƒ์„ธ๊ฐ€์ด๋“œ"
  • ๋ชจ๋“  ํŽ˜์ด์ง€ Footer์— ๊ณต๊ณต๋ˆ„๋ฆฌ ๋งˆํฌ + ์ถœ์ฒ˜ ํ‘œ๊ธฐ ํ•„์ˆ˜
  • ์›๋ฌธ ๋‚ด์šฉ ๋ณ€๊ฒฝ ๊ธˆ์ง€ โ€” ๊ทธ๋Œ€๋กœ ๊ฒŒ์žฌ (์˜คํƒˆ์ž ์ˆ˜์ •๋„ ํ•˜์ง€ ์•Š์Œ)
  • ์ƒ์—…์  ์ด์šฉ ๊ธˆ์ง€ โ€” ์‚ฌ์ดํŠธ์— ๊ด‘๊ณ ยท์œ ๋ฃŒํ™” ๋ถˆ๊ฐ€
  • ๊ณต๊ณต๋ˆ„๋ฆฌ ๋กœ๊ณ  ์ด๋ฏธ์ง€: /assets/images/gonggong-nuri.png ์— ๋ฐฐ์น˜

2. ํ™˜๊ฐ(Hallucination) ๋ฐฉ์ง€

  • PDF ์›๋ฌธ์— ์—†๋Š” ๋‚ด์šฉ์„ ์ ˆ๋Œ€ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค
  • ํ•ญ๋ชฉ์ฝ”๋“œ, ํ•ญ๋ชฉ๋ช…, ์ ๊ฒ€๋‚ด์šฉ, ํŒ๋‹จ๊ธฐ์ค€, ๊ด€๊ณ„๋ฒ•๊ทœ ๋“ฑ์€ ๋ฐ˜๋“œ์‹œ PDF ํŒŒ์‹ฑ ๊ฒฐ๊ณผ์—์„œ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค
  • ๋ฒ•๋ น ์กฐ๋ฌธ ๋‚ด์šฉ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ„๋„ ์ œ๊ณตํ•œ ๋ฒ•๋ น ๋ฐ์ดํ„ฐ์—์„œ๋งŒ ๊ฐ€์ ธ์˜จ๋‹ค
  • ๋ถˆํ™•์‹คํ•œ ๋‚ด์šฉ์€ ๋นˆ์นธ/TBD๋กœ ๋‚จ๊ธฐ๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™•์ธ์„ ์š”์ฒญํ•œ๋‹ค

2-1. ํฌ๋กœ์Šค๋ ˆํผ๋Ÿฐ์Šค(๊ด€๋ฆฌโ†”๊ธฐ์ˆ  ๋งคํ•‘) ์ž‘์„ฑ ๊ทœ์น™

  • Claude๊ฐ€ ์–‘์ชฝ PDF์˜ ํ•ญ๋ชฉ๋ช…ยท์„ธ๋ถ€์„ค๋ช…ยท์ ๊ฒ€๋‚ด์šฉ ํ…์ŠคํŠธ๋ฅผ ๊ทผ๊ฑฐ๋กœ ์ดˆ์•ˆ์„ ์ƒ์„ฑํ•œ๋‹ค
  • ๊ฐ ๋งคํ•‘์—๋Š” ๋ฐ˜๋“œ์‹œ ์•„๋ž˜ 3๊ฐ€์ง€๋ฅผ ํ•จ๊ป˜ ๊ธฐ๋กํ•œ๋‹ค: (1) ๊ทผ๊ฑฐ: ์–ด๋–ค ํ…์ŠคํŠธ๋ฅผ ๋ณด๊ณ  ์—ฐ๊ฒฐํ–ˆ๋Š”์ง€ (์–‘์ชฝ ํ•ญ๋ชฉ์˜ ๊ตฌ์ฒด์  ๋ฌธ๊ตฌ ์ธ์šฉ) (2) ํ™•์‹ ๋„: "๋†’์Œ" / "์ค‘๊ฐ„" / "๋‚ฎ์Œ" (3) ๋งคํ•‘์œ ํ˜•: "์ง์ ‘๊ตฌํ˜„" (๊ธฐ์ˆ ํ•ญ๋ชฉ์ด ๊ด€๋ฆฌํ•ญ๋ชฉ์˜ ์ง์ ‘์  ๊ตฌํ˜„์ˆ˜๋‹จ) / "๊ด€๋ จ" (๋„๋ฉ”์ธ์€ ๊ฐ™์ง€๋งŒ 1:1 ๋Œ€์‘์€ ์•„๋‹˜) / "๊ฐ„์ ‘" (๋„“์€ ๋งฅ๋ฝ์—์„œ ์—ฐ๊ด€)
  • ํ™•์‹ ๋„ "๋‚ฎ์Œ" ํ•ญ๋ชฉ์€ ์‚ฌ์ดํŠธ์— ๋ฐ”๋กœ ๋ฐ˜์˜ํ•˜์ง€ ์•Š๊ณ  ๋ณ„๋„ ๊ฒ€ํ†  ๋ชฉ๋ก์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค
  • ์ดˆ์•ˆ ์ƒ์„ฑ ํ›„ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉ์ž ๊ฒ€์ˆ˜๋ฅผ ๊ฑฐ์ณ ํ™•์ •ํ•œ๋‹ค
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •/์‚ญ์ œ/์ถ”๊ฐ€ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ตœ์ข…๋ณธ์ด ๋œ๋‹ค

3. ๋‹จ๊ณ„์  ์ž‘์—…

  • ํ•œ ๋ฒˆ์— ์ „์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค
  • ๊ฐ ๋‹จ๊ณ„ ์™„๋ฃŒ ํ›„ ์‚ฌ์šฉ์ž ๊ฒ€์ˆ˜๋ฅผ ๋ฐ›๊ณ  ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ„๋‹ค
  • ๊ฐ ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑํ•œ ํŒŒ์ผ ๋ชฉ๋ก๊ณผ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ๋ณด๊ณ ํ•œ๋‹ค

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ: ๋กœ์ปฌ ๊ฐœ๋ฐœํ™˜๊ฒฝ ์—†์Œ. ๋ธŒ๋ผ์šฐ์ €(github.dev)๋งŒ ์‚ฌ์šฉ.
  • ์ž‘์—… ๋ฐฉ์‹: Claude Code๊ฐ€ GitHub ๋ ˆํฌ์— ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑยท์ปค๋ฐ‹ยทํ‘ธ์‹œํ•œ๋‹ค.
  • ๊ฒ€์ˆ˜ ๋ฐฉ์‹: ์‚ฌ์šฉ์ž๊ฐ€ GitHub์—์„œ ๋ธŒ๋žœ์น˜/PR ํ™•์ธ ํ›„ main์— mergeํ•œ๋‹ค.
  • PDF ์œ„์น˜: ๋ ˆํฌ์˜ source-pdf/ ํด๋”์— ์žˆ์Œ. Claude Code๋Š” ์—ฌ๊ธฐ์„œ ์ฝ๋Š”๋‹ค.
  • ๋ฏธ๋ฆฌ๋ณด๊ธฐ: merge ํ›„ GitHub Pages ์ž๋™ ๋นŒ๋“œ (1~2๋ถ„) โ†’ ๋ฐฐํฌ URL์—์„œ ํ™•์ธ.

์›๋ณธ ๋ฌธ์„œ ๊ตฌ์กฐ

๋ฌธ์„œ 1: ๊ด€๋ฆฌยท๋ฌผ๋ฆฌ์  ์ทจ์•ฝ์  ๋ถ„์„ยทํ‰๊ฐ€ ๋ฐฉ๋ฒ• ์•ˆ๋‚ด์„œ (332p)

  • ํŒŒ์ผ ์œ„์น˜: source-pdf/๊ด€๋ฆฌ_๋ฌผ๋ฆฌ์ _์•ˆ๋‚ด์„œ.pdf (๋ ˆํฌ ๋‚ด)
  • ๊ด€๋ฆฌ์  ํ•ญ๋ชฉ: A-1 ~ A-118 (118๊ฐœ)
  • ๋ฌผ๋ฆฌ์  ํ•ญ๋ชฉ: P-1 ~ P-18 (18๊ฐœ)
  • ํ•ฉ๊ณ„: 136๊ฐœ ํ•ญ๋ชฉ
  • 13๊ฐœ ๊ด€๋ฆฌ ๋„๋ฉ”์ธ + 1๊ฐœ ๋ฌผ๋ฆฌ ๋„๋ฉ”์ธ:
    1. ์ •๋ณด๋ณดํ˜ธ ์ •์ฑ… (A-1~7)
    2. ์ •๋ณด๋ณดํ˜ธ ์กฐ์ง (A-8~9)
    3. ์ž์‚ฐ๋ถ„๋ฅ˜ (A-10~14)
    4. ์œ„ํ—˜๊ด€๋ฆฌ (A-15~22)
    5. ๊ฐ์‚ฌ (A-23~26)
    6. ์ธ์ ๋ณด์•ˆ (A-27~34)
    7. ์™ธ๋ถ€์ž๋ณด์•ˆ (A-35~46)
    8. ๊ต์œก ๋ฐ ํ›ˆ๋ จ (A-47~52)
    9. ์ธ์ฆ ๋ฐ ๊ถŒํ•œ๊ด€๋ฆฌ (A-53~59)
    10. ์ ‘๊ทผํ†ต์ œ (A-60~77)
    11. ์šด์˜๊ด€๋ฆฌ (A-78~102)
    12. ๋ณด์•ˆ๊ด€๋ฆฌ (A-103~113)
    13. ์‚ฌ๊ณ ๋Œ€์‘ / ์—…๋ฌด์—ฐ์†์„ฑ (A-114~118)
    14. ๋ฌผ๋ฆฌ๋ณด์•ˆ (P-1~18)
  • ๊ฐ ํ•ญ๋ชฉ ๊ตฌ์กฐ: ํ•ญ๋ชฉ๋ฒˆํ˜ธ, ํ•ญ๋ชฉ๋ช…, ๊ด€๋ จ์กฐ์ง, ์„ธ๋ถ€์„ค๋ช…, ๊ณ ๋ ค์‚ฌํ•ญ, ๊ด€๊ณ„๋ฒ•๊ทœ(๊ณตํ†ต/๊ณต๊ณต/๊ธˆ์œต/ICT), ํ™•์ธ๋Œ€์ƒ
  • ๋ถ€๋ก: ์ฐธ๊ณ ์ž๋ฃŒ 15๊ฑด + ์„œ์‹์˜ˆ์‹œ 43๊ฑด

๋ฌธ์„œ 2: ๊ธฐ์ˆ ์  ์ทจ์•ฝ์  ๋ถ„์„ยทํ‰๊ฐ€ ๋ฐฉ๋ฒ• ์ƒ์„ธ๊ฐ€์ด๋“œ (873p)

  • ํŒŒ์ผ ์œ„์น˜: source-pdf/๊ธฐ์ˆ ์ _์ƒ์„ธ๊ฐ€์ด๋“œ.pdf (๋ ˆํฌ ๋‚ด)
  • 11๊ฐœ ํ”Œ๋žซํผ, 363๊ฐœ ํ•ญ๋ชฉ:
    1. UNIX ์„œ๋ฒ„: U-01 ~ U-67 (67๊ฐœ) โ€” ๊ณ„์ •๊ด€๋ฆฌ/ํŒŒ์ผ๋””๋ ‰ํ† ๋ฆฌ/์„œ๋น„์Šค/ํŒจ์น˜/๋กœ๊ทธ
    2. Windows ์„œ๋ฒ„: W-01 ~ W-64 (64๊ฐœ) โ€” ๊ณ„์ •๊ด€๋ฆฌ/์„œ๋น„์Šค/ํŒจ์น˜/๋กœ๊ทธ/๋ณด์•ˆ๊ด€๋ฆฌ
    3. ์›น ์„œ๋น„์Šค(๋ณด์•ˆ์„ค์ •): WEB-01 ~ WEB-26 (26๊ฐœ)
    4. ๋ณด์•ˆ ์žฅ๋น„: S-01 ~ S-23 (23๊ฐœ)
    5. ๋„คํŠธ์›Œํฌ ์žฅ๋น„: N-01 ~ N-38 (38๊ฐœ)
    6. ์ œ์–ด์‹œ์Šคํ…œ: C-01 ~ C-51 (51๊ฐœ)
    7. PC: PC-01 ~ PC-18 (18๊ฐœ)
    8. DBMS: D-01 ~ D-26 (26๊ฐœ)
    9. ์ด๋™ํ†ต์‹ : M-01 ~ M-04 (4๊ฐœ)
    10. ์›น(Web App): ์•ฝ์–ด์ฝ”๋“œ 21์ข… (CI, SI, DI, EP, IL, XS, CF, SF, BF, IA, IN, PR, PV, FU, FD, IS, SN, CC, AE, AU, WM)
    11. ๊ฐ€์ƒํ™” ์žฅ๋น„: HV-01 ~ HV-25 (25๊ฐœ)
  • ๊ฐ ํ•ญ๋ชฉ ๊ตฌ์กฐ: ํ•ญ๋ชฉ์ฝ”๋“œ, ์ค‘์š”๋„(์ƒ/์ค‘/ํ•˜), ๋ถ„๋ฅ˜, ํ•ญ๋ชฉ๋ช…, ์ ๊ฒ€๋‚ด์šฉ, ์ ๊ฒ€๋ชฉ์ , ๋ณด์•ˆ์œ„ํ˜‘, ์ฐธ๊ณ , ํŒ๋‹จ๊ธฐ์ค€(์–‘ํ˜ธ/์ทจ์•ฝ), ์กฐ์น˜๋ฐฉ๋ฒ•, ์กฐ์น˜์‹œ์˜ํ–ฅ, ์ ๊ฒ€๋ฐ์กฐ์น˜์‚ฌ๋ก€(OS๋ณ„ ์ปค๋งจ๋“œ)
  • ๊ด€๊ณ„๋ฒ•๊ทœ ์—†์Œ (๊ธฐ์ˆ  ์‹ค๋ฌด ์ค‘์‹ฌ)

๊ด€๊ณ„ ๋ฒ•๊ทœ (๊ด€๋ฆฌยท๋ฌผ๋ฆฌ์  ์•ˆ๋‚ด์„œ์—์„œ ์ฐธ์กฐํ•˜๋Š” 14๊ฐœ ๋ฒ•๋ น)

๊ณตํ†ต (5๊ฐœ)

  1. ์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜ ๋ณดํ˜ธ๋ฒ• โ€” ์ œ5,6,7,9,10,11,12,13,15,27์กฐ
  2. ์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜ ๋ณดํ˜ธ๋ฒ• ์‹œํ–‰๋ น โ€” ์ œ9์กฐ
  3. ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฒ• โ€” ์ œ21,24์˜2,26,28,29,31,32์˜2,34์กฐ
  4. ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฒ• ์‹œํ–‰๋ น โ€” ์ œ16,30,39์กฐ
  5. ๊ฐœ์ธ์ •๋ณด์˜ ์•ˆ์ „์„ฑ ํ™•๋ณด์กฐ์น˜ ๊ธฐ์ค€ โ€” ์ œ4~11,13์กฐ

๊ณต๊ณต๊ธฐ๊ด€ (2๊ฐœ)

  1. ๊ตญ๊ฐ€ ์ •๋ณด๋ณด์•ˆ ๊ธฐ๋ณธ์ง€์นจ โ€” 44๊ฐœ ์กฐ๋ฌธ (์ œ4~102์กฐ ์ค‘ ๋‹ค์ˆ˜)
  2. ๋ณด์•ˆ์—…๋ฌด๊ทœ์ • โ€” ์ œ22์กฐ

๊ธˆ์œตํšŒ์‚ฌ (3๊ฐœ)

  1. ์ „์ž๊ธˆ์œต๊ฑฐ๋ž˜๋ฒ• โ€” ์ œ21,21์˜2,21์˜3,21์˜5,21์˜6์กฐ
  2. ์ „์ž๊ธˆ์œต๊ฐ๋…๊ทœ์ • โ€” 25๊ฐœ ์กฐ๋ฌธ + [๋ณ„ํ‘œ2]
  3. ์‹ ์šฉ์ •๋ณด์—…๊ฐ๋…๊ทœ์ • โ€” ์ œ20์กฐ

ICT๊ธฐ์—… (3๊ฐœ)

  1. ์ •๋ณดํ†ต์‹ ๋ง๋ฒ• โ€” ์ œ45,45์˜3,46,47์˜4,48์˜2~4,50์˜3,52์กฐ
  2. ISMS-P ์ธ์ฆ ๊ณ ์‹œ โ€” [๋ณ„ํ‘œ7] ์ „์ฒด
  3. ์ •๋ณด๋ณดํ˜ธ์‚ฐ์—…์ง„ํฅ๋ฒ•

๊ธฐํƒ€ (1๊ฐœ)

  1. ์ „์ž์ •๋ถ€๋ฒ• โ€” ์ œ35์กฐ

๊ธฐ์ˆ  ์Šคํƒ

  • ํ”„๋ ˆ์ž„์›Œํฌ: Jekyll (GitHub Pages ๋„ค์ดํ‹ฐ๋ธŒ ๋นŒ๋“œ)
  • ํ…Œ๋งˆ: just-the-docs (๋ฌธ์„œ ์‚ฌ์ดํŠธ ์ตœ์ ํ™”)
  • ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ: _data/ ํด๋”์— YAML ํŒŒ์ผ๋กœ ๊ตฌ์กฐํ™”
  • ๊ฒ€์ƒ‰: just-the-docs ๋‚ด์žฅ ๊ฒ€์ƒ‰ + lunr.js
  • ์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ…: Rouge (๊ธฐ์ˆ ์  ๊ฐ€์ด๋“œ ์ ๊ฒ€ ์ปค๋งจ๋“œ์šฉ)
  • PDF ํŒŒ์‹ฑ: Python + pymupdf(fitz)
  • ํ˜ธ์ŠคํŒ…: GitHub Pages
  • ๋ผ์ด์„ ์Šค: ์‚ฌ์ดํŠธ ๊ตฌ์กฐ/์ฝ”๋“œ๋Š” MIT, ์›๋ฌธ ์ฝ˜ํ…์ธ ๋Š” ๊ณต๊ณต๋ˆ„๋ฆฌ ์ œ4์œ ํ˜•

๋‹จ๊ณ„๋ณ„ ์‹คํ–‰ ๊ณ„ํš

๊ฐ Step๋งˆ๋‹ค Claude Code๊ฐ€ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ž‘์—… ํ›„ ํ‘ธ์‹œํ•œ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ GitHub์—์„œ ํ™•์ธ ํ›„ main์— mergeํ•˜๋ฉด ๋‹ค์Œ Step์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

Step 1: ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์…‹์—…

๋ธŒ๋žœ์น˜: step-1-init

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. Jekyll ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ์ƒ์„ฑ (just-the-docs ํ…Œ๋งˆ)
2. _config.yml ์„ค์ • (ํ•œ๊ตญ์–ด, ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ตฌ์กฐ, ๊ฒ€์ƒ‰ ์„ค์ •)
3. ๋ฉ”์ธ ํŽ˜์ด์ง€(index.md) ์ƒ์„ฑ
4. ๊ณต๊ณต๋ˆ„๋ฆฌ Footer ํฌํ•จํ•œ ๋ ˆ์ด์•„์›ƒ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
5. .gitignore, README.md, LICENSE ์ƒ์„ฑ
6. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

์ƒ์„ฑํ•  ํŒŒ์ผ:
- _config.yml
- Gemfile
- index.md
- _includes/footer_custom.html (๊ณต๊ณต๋ˆ„๋ฆฌ ํ‘œ์‹œ)
- README.md
- LICENSE
- .gitignore

โ€ป ๊ณต๊ณต๋ˆ„๋ฆฌ ๋กœ๊ณ  ์ด๋ฏธ์ง€(assets/images/gonggong-nuri.png)๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ„๋„ ์—…๋กœ๋“œ
โ€ป merge ํ›„ GitHub Pages URL์—์„œ ๋ฉ”์ธ ํŽ˜์ด์ง€ ๋œจ๋Š”์ง€ ํ™•์ธ

Step 2: PDF ํŒŒ์‹ฑ + ๋ฐ์ดํ„ฐ ์ถ”์ถœ

๋ธŒ๋žœ์น˜: step-2-parse

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. source-pdf/ ํด๋”์˜ PDF ์ฝ๊ธฐ (pymupdf/fitz ์‚ฌ์šฉ)
2. ๊ด€๋ฆฌยท๋ฌผ๋ฆฌ์  ์•ˆ๋‚ด์„œ ํŒŒ์‹ฑ โ†’ _data/admin_physical.yml
3. ๊ธฐ์ˆ ์  ์ƒ์„ธ๊ฐ€์ด๋“œ ํŒŒ์‹ฑ โ†’ _data/technical/ ํ•˜์œ„ ํ”Œ๋žซํผ๋ณ„ YAML
4. ๊ด€๊ณ„๋ฒ•๊ทœ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ถ”์ถœ โ†’ _data/law_references.yml
5. ํŒŒ์‹ฑ ๊ฒฐ๊ณผ ๊ฒ€์ฆ (ํ•ญ๋ชฉ ์ˆ˜ ์นด์šดํŠธ, ๋ˆ„๋ฝ ์ฒดํฌ)
6. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

์ฃผ์˜์‚ฌํ•ญ:
- PDF ํŒŒ์‹ฑ ์Šคํฌ๋ฆฝํŠธ๋Š” ./scripts/ ํด๋”์— ๋ณด๊ด€
- ํ™˜๊ฐ ๋ฐฉ์ง€: PDF ํ…์ŠคํŠธ๋ฅผ ๊ทธ๋Œ€๋กœ ์ถ”์ถœ, ๊ฐ€๊ณตยท์š”์•ฝํ•˜์ง€ ์•Š์Œ
- ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์œผ๋ฏ€๋กœ ํ”Œ๋žซํผ๋ณ„๋กœ ๋‚˜๋ˆ ์„œ ์ปค๋ฐ‹ ๊ฐ€๋Šฅ

์ƒ์„ฑํ•  ํŒŒ์ผ:
- scripts/parse_admin_physical.py
- scripts/parse_technical.py
- scripts/validate_data.py
- _data/admin_physical.yml (136๊ฐœ ํ•ญ๋ชฉ)
- _data/technical/unix.yml (67๊ฐœ)
- _data/technical/windows.yml (64๊ฐœ)
- _data/technical/web_security.yml (26๊ฐœ)
- _data/technical/security_device.yml (23๊ฐœ)
- _data/technical/network.yml (38๊ฐœ)
- _data/technical/control_system.yml (51๊ฐœ)
- _data/technical/pc.yml (18๊ฐœ)
- _data/technical/dbms.yml (26๊ฐœ)
- _data/technical/mobile.yml (4๊ฐœ)
- _data/technical/webapp.yml (21๊ฐœ)
- _data/technical/virtualization.yml (25๊ฐœ)
- _data/law_references.yml

Step 2 ํŒŒ์‹ฑ ์ƒ์„ธ ๊ฐ€์ด๋“œ (์‹ค์ธก ๊ธฐ๋ฐ˜)

์•„๋ž˜๋Š” ์‹ค์ œ PDF๋ฅผ ์—ด์–ด์„œ ํ™•์ธํ•œ ํŒŒ์‹ฑ ํ•จ์ •๊ณผ ํŒจํ„ด์ด๋‹ค. ํŒŒ์‹ฑ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ ์‹œ ๋ฐ˜๋“œ์‹œ ์ด ์ •๋ณด๋ฅผ ์ฐธ๊ณ ํ•  ๊ฒƒ.

๋ฌธ์„œ1: ๊ด€๋ฆฌยท๋ฌผ๋ฆฌ์  ์•ˆ๋‚ด์„œ ํŒŒ์‹ฑ ๊ทœ์น™

ํ•ญ๋ชฉ ์‹œ์ž‘ ํŒจํ„ด (์ค„ ๋‹จ์œ„): ํ•ญ๋ชฉ ์ƒ์„ธ ๋‚ด์šฉ์€ p.17p.242 ๋ฒ”์œ„์— ์žˆ๋‹ค (p.116์€ ๋ชฉ์ฐจ/๊ฐœ์š”). ํ•ญ๋ชฉ ์ฝ”๋“œ๊ฐ€ ๋‹จ๋… ์ค„๋กœ ๋“ฑ์žฅํ•˜๋ฉด ํ•ญ๋ชฉ ์‹œ์ž‘์ด๋‹ค.

์ค„0: 'A-1' ๋˜๋Š” 'P-1' (ํ•ญ๋ชฉ์ฝ”๋“œ, ๋‹จ๋… ์ค„)
์ค„1: '๊ด€๋ฆฌ์  ๋ถ„์•ผ > N. ๋„๋ฉ”์ธ๋ช…' (๋ถ„๋ฅ˜ ๊ฒฝ๋กœ)
์ค„2: 'ํ•ญ๋ชฉ๋ช… ํ…์ŠคํŠธ' (์ ๊ฒ€ ํ•ญ๋ชฉ ์„ค๋ช…)
์ค„3: '๊ด€๋ จ ์กฐ์ง'
์ค„4: '์กฐ์ง๋ช…'
์ค„5: '์„ธ๋ถ€ ์„ค๋ช…'
...

๋‹จ, ๋„๋ฉ”์ธ ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ(A-1, A-8, A-10 ๋“ฑ)์€ ์•ž์— ๋„๋ฉ”์ธ ๋ฒˆํ˜ธ+์ด๋ฆ„์ด ์ถ”๊ฐ€๋จ:

์ค„0: '01' (๋„๋ฉ”์ธ ๋ฒˆํ˜ธ)
์ค„1: '์ •๋ณด๋ณดํ˜ธ ์ •์ฑ…' (๋„๋ฉ”์ธ ์ด๋ฆ„)
์ค„2: 'A-1' (ํ•ญ๋ชฉ์ฝ”๋“œ)
...

ํ•ญ๋ชฉ์ฝ”๋“œ ๋“ฑ์žฅ ์œ„์น˜ (์ค‘๋ณต ์ฃผ์˜):

  • p.10~16 (๋ชฉ์ฐจ ํŽ˜์ด์ง€): ์ „์ฒด ํ•ญ๋ชฉ ์ฝ”๋“œ๊ฐ€ ๋ชฉ๋ก์œผ๋กœ ๋‚˜์—ด๋จ โ†’ ํŒŒ์‹ฑ ๋Œ€์ƒ ์•„๋‹˜
  • p.17~242 (๋ณธ๋ฌธ): ์‹ค์ œ ํ•ญ๋ชฉ ์ƒ์„ธ ๋‚ด์šฉ โ†’ ํŒŒ์‹ฑ ๋Œ€์ƒ
  • ํ•˜๋‚˜์˜ ์ฝ”๋“œ๊ฐ€ ๋ชฉ์ฐจ(1ํšŒ) + ๋ณธ๋ฌธ(1ํšŒ) = ์ด 2ํšŒ ๋“ฑ์žฅ
  • ํŒŒ์‹ฑ ์‹œ p.17 ์ดํ›„ ํŽ˜์ด์ง€๋งŒ ๋Œ€์ƒ์œผ๋กœ ํ•  ๊ฒƒ

ํ•ญ๋ชฉ-ํŽ˜์ด์ง€ ๋งคํ•‘ (์‹ค์ธก):

  • A-1: p.17, A-2: p.19, A-3: p.20 ... A-118: p.213
  • P-1: p.217, P-2: p.219 ... P-18: p.242
  • ๋Œ€๋ถ€๋ถ„ ํ•ญ๋ชฉ์€ 1~2ํŽ˜์ด์ง€, ์ผ๋ถ€(์ ‘๊ทผํ†ต์ œ ๋“ฑ)๋Š” 3ํŽ˜์ด์ง€ ์ด์ƒ

๊ด€๊ณ„๋ฒ•๊ทœ ์„น์…˜ ํŒจํ„ด: ํ•ญ๋ชฉ ๋‚ด์—์„œ '๊ด€๊ณ„ ๋ฒ•๊ทœ'๋ผ๋Š” ์ค„ ์ดํ›„์— ์—…์ข… ๊ตฌ๋ถ„์ด ๋‚˜์˜จ๋‹ค:

'๊ด€๊ณ„ ๋ฒ•๊ทœ'
'๊ณตํ†ต'
'์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜ ๋ณดํ˜ธ๋ฒ• ์ œ10์กฐ(๋ณดํ˜ธ์ง€์นจ)'
'๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฒ• ์ œ29์กฐ(์•ˆ์ „์กฐ์น˜์˜๋ฌด)'
'๊ณต๊ณต๊ธฐ๊ด€'
'๊ตญ๊ฐ€ ์ •๋ณด๋ณด์•ˆ ๊ธฐ๋ณธ์ง€์นจ ์ œ4์กฐ(์ฑ…๋ฌด), ์ œ5์กฐ(์ •๋ณด๋ณด์•ˆ๋‹ด๋‹น๊ด€ ์šด์˜)'
'๊ธˆ์œตํšŒ์‚ฌ'
'์ „์ž๊ธˆ์œต๊ฑฐ๋ž˜๋ฒ• ์ œ21์กฐ(์•ˆ์ „์„ฑ์˜ ํ™•๋ณด์˜๋ฌด)'
'ICT๊ธฐ์—…'
'์ •๋ณด๋ณดํ˜ธ ๋ฐ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ ๊ด€๋ฆฌ์ฒด๊ณ„ ์ธ์ฆ ๋“ฑ์— ๊ด€ํ•œ ๊ณ ์‹œ [๋ณ„ํ‘œ7] ...'
'ํ™•์ธ ๋Œ€์ƒ(์˜ˆ์‹œ)'  โ† ๊ด€๊ณ„๋ฒ•๊ทœ ์ข…๋ฃŒ, ํ™•์ธ๋Œ€์ƒ ์‹œ์ž‘

์—…์ข… ๊ตฌ๋ถ„ ํ‚ค์›Œ๋“œ: '๊ณตํ†ต', '๊ณต๊ณต๊ธฐ๊ด€', '๊ธˆ์œตํšŒ์‚ฌ', 'ICT๊ธฐ์—…' ๊ด€๊ณ„๋ฒ•๊ทœ ์ข…๋ฃŒ ํ‚ค์›Œ๋“œ: 'ํ™•์ธ ๋Œ€์ƒ' ๋˜๋Š” 'ํ™•์ธ๋Œ€์ƒ'

๋…ธ์ด์ฆˆ ํ•„ํ„ฐ๋ง:

  • A-128 โ†’ ARIA-128 (์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๋ณธ๋ฌธ ๋‚ด ๋“ฑ์žฅ. ์ œ์™ธํ•  ๊ฒƒ
  • A-256 โ†’ AES-256 (์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜) ๋ณธ๋ฌธ ๋‚ด ๋“ฑ์žฅ. ์ œ์™ธํ•  ๊ฒƒ
  • ์œ ํšจ ๋ฒ”์œ„: A-1A-118, P-1P-18๋งŒ ์ธ์ •
  • ์ •๊ทœ์‹: ^[AP]-\d{1,3}$ (๋‹จ๋… ์ค„) + ๋ฒ”์œ„ ๊ฒ€์ฆ

๋ถ€๋ก ์˜์—ญ:

  • p.243269: ์ฐธ๊ณ ์ž๋ฃŒ (์ œ1ํ˜ธ์ œ15ํ˜ธ)
  • p.270332: ์„œ์‹ ์˜ˆ์‹œ (์ œ1ํ˜ธ์ œ43ํ˜ธ)
  • ๋ถ€๋ก์€ ๋ณ„๋„ ํŒŒ์‹ฑ (ํ•ญ๋ชฉ ํŒŒ์‹ฑ๊ณผ ๋ถ„๋ฆฌ)
๋ฌธ์„œ2: ๊ธฐ์ˆ ์  ์ƒ์„ธ๊ฐ€์ด๋“œ ํŒŒ์‹ฑ ๊ทœ์น™

ํ•ญ๋ชฉ ์‹œ์ž‘ ํŒจํ„ด (๋ชจ๋“  ํ”Œ๋žซํผ ๊ณตํ†ต):

์ค„0: 'ํ•ญ๋ชฉ์ฝ”๋“œ' (๋‹จ๋… ์ค„, ์˜ˆ: 'U-01', 'W-01', 'HV-01', 'CI')
์ค„1: '(์ƒ)' ๋˜๋Š” '(์ค‘)' ๋˜๋Š” '(ํ•˜)' (์ค‘์š”๋„, ๋‹จ๋… ์ค„)
์ค„2: 'ํ”Œ๋žซํผ > N. ๋„๋ฉ”์ธ๋ช…' (๋ถ„๋ฅ˜, ์˜ˆ: 'UNIX > 1. ๊ณ„์ • ๊ด€๋ฆฌ')
์ค„3: 'ํ•ญ๋ชฉ๋ช… ํ…์ŠคํŠธ'
์ค„4: '๊ฐœ์š”'
์ค„5: '์ ๊ฒ€ ๋‚ด์šฉ'
์ค„6: ์ ๊ฒ€๋‚ด์šฉ ํ…์ŠคํŠธ...

์ด 3์ค„ ์—ฐ์† ํŒจํ„ด(์ฝ”๋“œ โ†’ ์ค‘์š”๋„ โ†’ ๋ถ„๋ฅ˜)์ด ํ•ญ๋ชฉ ์‹œ์ž‘์˜ ํ™•์‹คํ•œ ์‹œ๊ทธ๋„์ด๋‹ค.

ํ•ญ๋ชฉ์ฝ”๋“œ ๋“ฑ์žฅ ์œ„์น˜ (์ค‘๋ณต ์ฃผ์˜): ๊ฐ ์ฝ”๋“œ๊ฐ€ 2๋ฒˆ ๋“ฑ์žฅํ•œ๋‹ค:

  • 1๋ฒˆ์งธ: ์ฑ•ํ„ฐ ์•ž๋ถ€๋ถ„ ๋ชฉ๋ก ํŽ˜์ด์ง€ (์˜ˆ: p.8~11 UNIX ๋ชฉ๋ก)
  • 2๋ฒˆ์งธ: ๋ณธ๋ฌธ ์ƒ์„ธ ํŽ˜์ด์ง€ (์˜ˆ: p.12 U-01 ์ƒ์„ธ) ํŒŒ์‹ฑ ์‹œ '(์ƒ)/(์ค‘)/(ํ•˜)'๊ฐ€ ๋ฐ”๋กœ ๋‹ค์Œ ์ค„์— ์˜ค๋Š” ๊ฒฝ์šฐ๋งŒ ํ•ญ๋ชฉ ์‹œ์ž‘์œผ๋กœ ์ธ์‹ํ•  ๊ฒƒ.

ํ”Œ๋žซํผ๋ณ„ ์ฝ”๋“œ ์ฒด๊ณ„์™€ ํŽ˜์ด์ง€ ๋ฒ”์œ„:

ํ”Œ๋žซํผ ์ฝ”๋“œ ๋ฒ”์œ„ ๋ชฉ๋ก ํŽ˜์ด์ง€ ๋ณธ๋ฌธ ์‹œ์ž‘
UNIX ์„œ๋ฒ„ U-01~U-67 p.7~171 p.8~11 p.12
Windows ์„œ๋ฒ„ W-01~W-64 p.172~270 p.173~176 p.177
์›น ์„œ๋น„์Šค WEB-01~WEB-26 p.271~352 p.272~273 p.274
๋ณด์•ˆ ์žฅ๋น„ S-01~S-23 p.353~386 p.354~355 p.356
๋„คํŠธ์›Œํฌ ์žฅ๋น„ N-01~N-38 p.387~466 p.388~390 p.391
์ œ์–ด์‹œ์Šคํ…œ C-01~C-51 p.467~551 p.468~471 p.472
PC PC-01~PC-18 p.552~592 p.553~554 p.555
DBMS D-01~D-26 p.593~669 p.594~595 p.596
์ด๋™ํ†ต์‹  M-01~M-04 p.670~675 p.671 p.672
์›น(Web App) ์•ฝ์–ด 21์ข… p.676~786 p.678 p.679
๊ฐ€์ƒํ™” ์žฅ๋น„ HV-01~HV-25 p.787~873 p.788~789 p.790

์›น(Web App) ํŠน์ˆ˜ ์ฒ˜๋ฆฌ:

  • ํ•ญ๋ชฉ์ฝ”๋“œ๊ฐ€ ๋ฒˆํ˜ธ๊ฐ€ ์•„๋‹Œ ์•ฝ์–ด: CI, SI, DI, EP, IL, XS, CF, SF, BF, IA, IN, PR, PV, FU, FD, IS, SN, CC, AE, AU, WM
  • ๊ฐ ์•ฝ์–ด๊ฐ€ 2~3๋ฒˆ ๋“ฑ์žฅ (๋ชฉ๋ก + ๋ณธ๋ฌธ ์‹œ์ž‘ + ๋ณธ๋ฌธ ๋‚ด ๋ฐ˜๋ณต์ฐธ์กฐ ๊ฐ€๋Šฅ)
  • CC(์ฟ ํ‚ค๋ณ€์กฐ)๋Š” 3๋ฒˆ ๋“ฑ์žฅ ํ™•์ธ๋จ โ€” ํ•ญ๋ชฉ ์‹œ์ž‘์€ '(์ƒ)'์ด ๋ฐ”๋กœ ๋‹ค์Œ์— ์˜ค๋Š” ๊ณณ
  • ํ•ญ๋ชฉ๋ช…์€ ์ค„2๊ฐ€ ์•„๋‹ˆ๋ผ ์ค„3์— ์žˆ์Œ (์ค„2๋Š” 'Web Application(์›น)'):
    'CI'
    '(์ƒ)'
    'Web Application(์›น)'     โ† ํ”Œ๋žซํผ๋ช… (ํ•ญ๋ชฉ๋ช… ์•„๋‹˜)
    '1. ์ฝ”๋“œ ์ธ์ ์…˜ (Code Injection)'  โ† ์ด๊ฒŒ ํ•ญ๋ชฉ๋ช…
    

๋…ธ์ด์ฆˆ ํ•„ํ„ฐ๋ง:

  • S-1 โ†’ ๋ณธ๋ฌธ ํ…์ŠคํŠธ ๋‚ด ๋…ธ์ด์ฆˆ. ์œ ํšจ ๋ณด์•ˆ์žฅ๋น„ ์ฝ”๋“œ๋Š” S-01~S-23 (2์ž๋ฆฌ ํŒจ๋”ฉ)
  • S-256 โ†’ AES-256 ๊ด€๋ จ ํ…์ŠคํŠธ ๋…ธ์ด์ฆˆ. ์ œ์™ธํ•  ๊ฒƒ
  • ๊ฐ ํ”Œ๋žซํผ๋ณ„ ์œ ํšจ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ๋ฒˆํ˜ธ๋Š” ๋ชจ๋‘ ๋…ธ์ด์ฆˆ

ํ•ญ๋ชฉ ๋‚ด ๊ณตํ†ต ์„น์…˜ ํ‚ค์›Œ๋“œ (์ˆœ์„œ๋Œ€๋กœ):

  1. '๊ฐœ์š”' โ†’ '์ ๊ฒ€ ๋‚ด์šฉ' โ†’ '์ ๊ฒ€ ๋ชฉ์ ' โ†’ '๋ณด์•ˆ ์œ„ํ˜‘' โ†’ '์ฐธ๊ณ '
  2. '์ ๊ฒ€ ๋Œ€์ƒ ๋ฐ ํŒ๋‹จ ๊ธฐ์ค€' โ†’ '๋Œ€์ƒ' โ†’ 'ํŒ๋‹จ ๊ธฐ์ค€' (์–‘ํ˜ธ/์ทจ์•ฝ)
  3. '์กฐ์น˜ ๋ฐฉ๋ฒ•'
  4. '์กฐ์น˜ ์‹œ ์˜ํ–ฅ'
  5. '์ ๊ฒ€ ๋ฐ ์กฐ์น˜ ์‚ฌ๋ก€' (OS๋ณ„ ์ปค๋งจ๋“œ, ์ฝ”๋“œ๋ธ”๋ก์œผ๋กœ ์ฒ˜๋ฆฌ)

Step 3: ๊ด€๋ฆฌยท๋ฌผ๋ฆฌ์  ๋ถ„์•ผ ํŽ˜์ด์ง€ ์ƒ์„ฑ

๋ธŒ๋žœ์น˜: step-3-admin-physical

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. ๊ด€๋ฆฌ ๋„๋ฉ”์ธ๋ณ„ ํŽ˜์ด์ง€ 13๊ฐœ ์ƒ์„ฑ (Markdown + Liquid ํ…œํ”Œ๋ฆฟ)
2. ๋ฌผ๋ฆฌ ๋„๋ฉ”์ธ ํŽ˜์ด์ง€ 1๊ฐœ ์ƒ์„ฑ
3. ๊ฐ ํŽ˜์ด์ง€๋Š” _data/admin_physical.yml์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ๋ Œ๋”๋ง
4. ๊ด€๊ณ„๋ฒ•๊ทœ ๋งํฌ๋Š” ๊ตญ๊ฐ€๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ URL๋กœ ์—ฐ๊ฒฐ
5. ๋„ค๋น„๊ฒŒ์ด์…˜ ๊ตฌ์กฐ ์„ค์ •
6. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

ํŽ˜์ด์ง€ ๊ตฌ์กฐ (๊ฐ ํ•ญ๋ชฉ):
- ํ•ญ๋ชฉ๋ฒˆํ˜ธ + ํ•ญ๋ชฉ๋ช… (ํ—ค๋”ฉ)
- ๊ด€๋ จ ์กฐ์ง
- ์„ธ๋ถ€ ์„ค๋ช…
- ๊ณ ๋ ค ์‚ฌํ•ญ
- ๊ด€๊ณ„ ๋ฒ•๊ทœ (๊ณตํ†ต/๊ณต๊ณต/๊ธˆ์œต/ICT ๊ตฌ๋ถ„, ๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ ๋งํฌ)
- ํ™•์ธ ๋Œ€์ƒ (์ฒดํฌ๋ฆฌ์ŠคํŠธ)

์ƒ์„ฑํ•  ํŒŒ์ผ:
- docs/admin/01-policy.md ~ docs/admin/13-incident.md (13๊ฐœ)
- docs/physical/01-physical-security.md (1๊ฐœ)

Step 4: ๊ธฐ์ˆ ์  ๋ถ„์•ผ ํŽ˜์ด์ง€ ์ƒ์„ฑ

๋ธŒ๋žœ์น˜: step-4-technical

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. ํ”Œ๋žซํผ๋ณ„ ํŽ˜์ด์ง€ 11๊ฐœ ์ƒ์„ฑ
2. ๊ฐ ํŽ˜์ด์ง€๋Š” _data/technical/*.yml์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ๋ Œ๋”๋ง
3. ์ ๊ฒ€ ์ปค๋งจ๋“œ๋Š” ์ฝ”๋“œ๋ธ”๋ก์œผ๋กœ ํ‘œ์‹œ (์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ… + ๋ณต์‚ฌ ๋ฒ„ํŠผ)
4. ์ค‘์š”๋„(์ƒ/์ค‘/ํ•˜) ๋ฑƒ์ง€ ํ‘œ์‹œ
5. ํŒ๋‹จ๊ธฐ์ค€(์–‘ํ˜ธ/์ทจ์•ฝ) ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ ํ‘œ์‹œ
6. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

ํŽ˜์ด์ง€ ๊ตฌ์กฐ (๊ฐ ํ•ญ๋ชฉ):
- ํ•ญ๋ชฉ์ฝ”๋“œ + ์ค‘์š”๋„ ๋ฑƒ์ง€ + ํ•ญ๋ชฉ๋ช… (ํ—ค๋”ฉ)
- ์ ๊ฒ€ ๋‚ด์šฉ / ์ ๊ฒ€ ๋ชฉ์  / ๋ณด์•ˆ ์œ„ํ˜‘
- ํŒ๋‹จ ๊ธฐ์ค€ (์–‘ํ˜ธ/์ทจ์•ฝ ์กฐ๊ฑด)
- ์กฐ์น˜ ๋ฐฉ๋ฒ•
- ์กฐ์น˜ ์‹œ ์˜ํ–ฅ
- ์ ๊ฒ€ ๋ฐ ์กฐ์น˜ ์‚ฌ๋ก€ (OS๋ณ„, ์ฝ”๋“œ๋ธ”๋ก)

์ƒ์„ฑํ•  ํŒŒ์ผ:
- docs/technical/01-unix.md ~ docs/technical/11-virtualization.md (11๊ฐœ)

Step 5: ํฌ๋กœ์Šค๋ ˆํผ๋Ÿฐ์Šค(๊ด€๋ฆฌโ†”๊ธฐ์ˆ ) ์ดˆ์•ˆ ์ƒ์„ฑ

๋ธŒ๋žœ์น˜: step-5-cross-ref

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. _data/ YAML ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งคํ•‘ ์ดˆ์•ˆ ์ƒ์„ฑ
2. ๋งคํ•‘ ๋กœ์ง:
   - ๊ด€๋ฆฌ ํ•ญ๋ชฉ์˜ "ํ•ญ๋ชฉ๋ช… + ์„ธ๋ถ€์„ค๋ช… + ๊ณ ๋ ค์‚ฌํ•ญ" ํ…์ŠคํŠธ์™€
   - ๊ธฐ์ˆ  ํ•ญ๋ชฉ์˜ "ํ•ญ๋ชฉ๋ช… + ์ ๊ฒ€๋‚ด์šฉ + ์ ๊ฒ€๋ชฉ์ " ํ…์ŠคํŠธ๋ฅผ ๋Œ€์กฐ
   - ๋„๋ฉ”์ธ ํ‚ค์›Œ๋“œ ๋งค์นญ (๊ณ„์ •๊ด€๋ฆฌโ†”๊ณ„์ •๊ด€๋ฆฌ, ์ ‘๊ทผํ†ต์ œโ†”์ ‘๊ทผํ†ต์ œ ๋“ฑ)
3. ๊ฐ ๋งคํ•‘์— ๋ฐ˜๋“œ์‹œ ๊ธฐ๋ก:
   - ๊ทผ๊ฑฐ: ์–‘์ชฝ ํ…์ŠคํŠธ์—์„œ ์—ฐ๊ฒฐ ํŒ๋‹จ์˜ ๊ทผ๊ฑฐ๊ฐ€ ๋œ ๊ตฌ์ฒด์  ๋ฌธ๊ตฌ
   - ํ™•์‹ ๋„: ๋†’์Œ/์ค‘๊ฐ„/๋‚ฎ์Œ
   - ๋งคํ•‘์œ ํ˜•: ์ง์ ‘๊ตฌํ˜„/๊ด€๋ จ/๊ฐ„์ ‘
4. ๊ฒฐ๊ณผ๋ฌผ์„ 3๊ฐœ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ:
   - cross_ref_confirmed.yml โ€” ํ™•์‹ ๋„ "๋†’์Œ" (๋ฐ”๋กœ ์‚ฌ์ดํŠธ ๋ฐ˜์˜ ๊ฐ€๋Šฅ)
   - cross_ref_review.yml โ€” ํ™•์‹ ๋„ "์ค‘๊ฐ„" (์‚ฌ์šฉ์ž ๊ฒ€ํ†  ํ•„์š”)
   - cross_ref_uncertain.yml โ€” ํ™•์‹ ๋„ "๋‚ฎ์Œ" (์‚ฌ์šฉ์ž ํŒ๋‹จ ๋Œ€๊ธฐ)
5. ๊ฒ€์ˆ˜์šฉ ๋ฆฌํฌํŠธ ์ƒ์„ฑ: ๋งคํ•‘ ํ†ต๊ณ„, ๋ฏธ๋งคํ•‘ ํ•ญ๋ชฉ ๋ชฉ๋ก
6. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

โ€ป ์ด Step์€ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉ์ž ๊ฒ€์ˆ˜ ํ›„ ํ™•์ •ํ•œ๋‹ค
โ€ป ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •/์‚ญ์ œ/์ถ”๊ฐ€ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ตœ์ข…๋ณธ์ด ๋œ๋‹ค
โ€ป ๊ฒ€์ˆ˜ ์™„๋ฃŒ ์ „๊นŒ์ง€ ์‚ฌ์ดํŠธ์—๋Š” ํ™•์‹ ๋„ "๋†’์Œ"๋งŒ ๋ฐ˜์˜ํ•œ๋‹ค

์ƒ์„ฑํ•  ํŒŒ์ผ:
- _data/cross_ref_confirmed.yml (ํ™•์‹ ๋„ ๋†’์Œ)
- _data/cross_ref_review.yml (ํ™•์‹ ๋„ ์ค‘๊ฐ„ โ€” ๊ฒ€ํ† ์šฉ)
- _data/cross_ref_uncertain.yml (ํ™•์‹ ๋„ ๋‚ฎ์Œ โ€” ๊ฒ€ํ† ์šฉ)
- scripts/generate_cross_reference.py (๋งคํ•‘ ์ƒ์„ฑ ์Šคํฌ๋ฆฝํŠธ)
- cross_ref_review_report.md (๊ฒ€์ˆ˜์šฉ ๋ฆฌํฌํŠธ)

Step 6: ๋ฒ•๋ น ๋งคํ•‘ ํŽ˜์ด์ง€ ์ƒ์„ฑ

๋ธŒ๋žœ์น˜: step-6-laws

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. source-pdf/laws/ ํด๋”์˜ ๋ฒ•๋ น PDF ํŒŒ์‹ฑ
2. ๋ฒ•๋ น๋ณ„ ์—ญ์ธ๋ฑ์Šค ํŽ˜์ด์ง€ (๋ฒ•๋ น โ†’ ๊ด€๋ จ ์ ๊ฒ€ํ•ญ๋ชฉ ๋ชฉ๋ก)
3. ์—…์ข…๋ณ„ ๋ณด๊ธฐ ํŽ˜์ด์ง€ (๊ณตํ†ต/๊ณต๊ณต/๊ธˆ์œต/ICT)
4. ๋ฒ•๋ น ๋งํฌ๋Š” ๊ตญ๊ฐ€๋ฒ•๋ น์ •๋ณด์„ผํ„ฐ ํผ๋งˆ๋งํฌ
5. ๊ฐ ๋ฒ•๋ น ํŽ˜์ด์ง€์— "์ตœ์ข…ํ™•์ธ์ผ" ํ‘œ์‹œ
6. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

โ€ป source-pdf/laws/์— ์žˆ๋Š” ๋ฒ•๋ น ํŒŒ์ผ๋งŒ ์‚ฌ์šฉ. ์—†๋Š” ๋ฒ•๋ น์€ TBD๋กœ ๋‚จ๊น€.
โ€ป ๋Œ€๋ถ€๋ถ„ PDF(pymupdf), ๊ตญ๊ฐ€์ •๋ณด๋ณด์•ˆ๊ธฐ๋ณธ์ง€์นจ๋งŒ HWP(python-hwp ๋˜๋Š” olefile๋กœ ํŒŒ์‹ฑ).
โ€ป ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ•๋ น ํŒŒ์ผ์„ ์ถ”๊ฐ€ ์—…๋กœ๋“œํ•˜๋ฉด ์ดํ›„ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ.

์ƒ์„ฑํ•  ํŒŒ์ผ:
- docs/laws/index.md (๋ฒ•๋ น ๋งคํ•‘ ๊ฐœ์š”)
- docs/laws/by-law.md (๋ฒ•๋ น๋ณ„ ๋ณด๊ธฐ)
- docs/laws/by-sector.md (์—…์ข…๋ณ„ ๋ณด๊ธฐ)

Step 7: ๋ถ€๋ก + About ํŽ˜์ด์ง€

๋ธŒ๋žœ์น˜: step-7-appendix

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. ์ฐธ๊ณ ์ž๋ฃŒ ๋ชฉ๋ก ํŽ˜์ด์ง€ (์ œ1~15ํ˜ธ)
2. ์„œ์‹ ์˜ˆ์‹œ ๋ชฉ๋ก ํŽ˜์ด์ง€ (์ œ1~43ํ˜ธ)
3. About ํŽ˜์ด์ง€ (ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ, ๊ณต๊ณต๋ˆ„๋ฆฌ ์ƒ์„ธ ํ‘œ์‹œ)
4. ๋ณ€๊ฒฝ์ด๋ ฅ(Changelog) ํŽ˜์ด์ง€
5. ์ปค๋ฐ‹ + ํ‘ธ์‹œ

์ƒ์„ฑํ•  ํŒŒ์ผ:
- docs/appendix/references.md
- docs/appendix/forms.md
- docs/about.md
- docs/changelog.md

Step 8: UX ๊ณ ๋„ํ™” + ์ตœ์ข… ์ ๊ฒ€

๋ธŒ๋žœ์น˜: step-8-ux-final

์ˆ˜ํ–‰ํ•  ์ž‘์—…:
1. ์ค‘์š”๋„ ํ•„ํ„ฐ (๊ธฐ์ˆ  ํ•ญ๋ชฉ ์ƒ/์ค‘/ํ•˜)
2. ์ฝ”๋“œ๋ธ”๋ก ๋ณต์‚ฌ ๋ฒ„ํŠผ
3. ํฌ๋กœ์Šค๋ ˆํผ๋Ÿฐ์Šค ๋ฐ˜์˜ (๊ด€๋ฆฌ ํŽ˜์ด์ง€์— "๊ด€๋ จ ๊ธฐ์ˆ ํ•ญ๋ชฉ" / ๊ธฐ์ˆ  ํŽ˜์ด์ง€์— "๊ด€๋ จ ๊ด€๋ฆฌํ•ญ๋ชฉ" ๋งํฌ)
4. ๋ชจ๋ฐ”์ผ ๋ฐ˜์‘ํ˜• ํ™•์ธ
5. ์ „์ฒด ํ•ญ๋ชฉ ์ˆ˜ ๊ฒ€์ฆ (๊ด€๋ฆฌ 136 + ๊ธฐ์ˆ  363 = 499)
6. ๊นจ์ง„ ๋งํฌ ์ฒดํฌ
7. SEO ์„ค์ • (sitemap, meta)
8. ์ปค๋ฐ‹ + ํ‘ธ์‹œ
9. ์ตœ์ข… ๋ฐฐํฌ ํ™•์ธ

์‹คํ–‰ ๋ฐฉ๋ฒ•

์‚ฌ์ „ ์ค€๋น„ (์‚ฌ์šฉ์ž๊ฐ€ GitHub ์›น์—์„œ ์ˆ˜ํ–‰):
1. GitHub์—์„œ ์ƒˆ ๋ ˆํฌ ์ƒ์„ฑ (์˜ˆ: k-secguide, Public)
2. ๋ ˆํฌ์— source-pdf/ ํด๋” ์ƒ์„ฑ ํ›„ PDF 2๊ฐœ ์—…๋กœ๋“œ
3. ๋ ˆํฌ์— CLAUDE.md, CLAUDE_CODE_PROMPT.md ์—…๋กœ๋“œ
4. Settings โ†’ Pages โ†’ Source: main ๋ธŒ๋žœ์น˜ ์„ ํƒ

Claude Code์—์„œ:
> ์ด ๋ ˆํฌ๋ฅผ ํด๋ก ํ•˜๊ณ , CLAUDE_CODE_PROMPT.md๋ฅผ ์ฝ์€ ๋’ค Step 1์„ ์‹คํ–‰ํ•ด์ค˜.
> source-pdf/ ํด๋”์— PDF ํŒŒ์ผ์ด ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•ด.

๊ฐ Step ์™„๋ฃŒ ํ›„:
> ์‚ฌ์šฉ์ž๊ฐ€ GitHub์—์„œ ๋ธŒ๋žœ์น˜/PR ํ™•์ธ โ†’ main์— merge
> "Step N ํ™•์ธ ์™„๋ฃŒ, Step N+1 ์ง„ํ–‰ํ•ด์ค˜"

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ (์ตœ์ข… ๋ชฉํ‘œ)

k-secguide/
โ”œโ”€โ”€ _config.yml
โ”œโ”€โ”€ Gemfile
โ”œโ”€โ”€ index.md
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ CLAUDE.md
โ”œโ”€โ”€ CLAUDE_CODE_PROMPT.md
โ”œโ”€โ”€ source-pdf/                   # ์›๋ณธ PDF (๋ ˆํฌ์— ํฌํ•จ)
โ”‚   โ”œโ”€โ”€ ๊ด€๋ฆฌ_๋ฌผ๋ฆฌ์ _์•ˆ๋‚ด์„œ.pdf
โ”‚   โ”œโ”€โ”€ ๊ธฐ์ˆ ์ _์ƒ์„ธ๊ฐ€์ด๋“œ.pdf
โ”‚   โ””โ”€โ”€ laws/                     # ๋ฒ•๋ น ํŒŒ์ผ
โ”‚       โ”œโ”€โ”€ ์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜๋ณดํ˜ธ๋ฒ•.pdf
โ”‚       โ”œโ”€โ”€ ์ •๋ณดํ†ต์‹ ๊ธฐ๋ฐ˜๋ณดํ˜ธ๋ฒ•์‹œํ–‰๋ น.pdf
โ”‚       โ”œโ”€โ”€ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•.pdf
โ”‚       โ”œโ”€โ”€ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฒ•์‹œํ–‰๋ น.pdf
โ”‚       โ”œโ”€โ”€ ๊ฐœ์ธ์ •๋ณด์˜์•ˆ์ „์„ฑํ™•๋ณด์กฐ์น˜๊ธฐ์ค€.pdf
โ”‚       โ”œโ”€โ”€ ๊ตญ๊ฐ€์ •๋ณด๋ณด์•ˆ๊ธฐ๋ณธ์ง€์นจ.hwp   # โ€ป NCSC(ncsc.go.kr)์—์„œ ๋‹ค์šด๋กœ๋“œ, HWP ํ˜•์‹
โ”‚       โ”œโ”€โ”€ ๋ณด์•ˆ์—…๋ฌด๊ทœ์ •.pdf
โ”‚       โ”œโ”€โ”€ ์ „์ž๊ธˆ์œต๊ฑฐ๋ž˜๋ฒ•.pdf
โ”‚       โ”œโ”€โ”€ ์ „์ž๊ธˆ์œต๊ฐ๋…๊ทœ์ •.pdf
โ”‚       โ”œโ”€โ”€ ์‹ ์šฉ์ •๋ณด์—…๊ฐ๋…๊ทœ์ •.pdf
โ”‚       โ”œโ”€โ”€ ์ •๋ณดํ†ต์‹ ๋ง๋ฒ•.pdf
โ”‚       โ”œโ”€โ”€ ISMS-P์ธ์ฆ๊ณ ์‹œ.pdf
โ”‚       โ”œโ”€โ”€ ์ •๋ณด๋ณดํ˜ธ์‚ฐ์—…์ง„ํฅ๋ฒ•.pdf
โ”‚       โ””โ”€โ”€ ์ „์ž์ •๋ถ€๋ฒ•.pdf
โ”œโ”€โ”€ _data/
โ”‚   โ”œโ”€โ”€ admin_physical.yml
โ”‚   โ”œโ”€โ”€ technical/
โ”‚   โ”‚   โ”œโ”€โ”€ unix.yml
โ”‚   โ”‚   โ”œโ”€โ”€ windows.yml
โ”‚   โ”‚   โ”œโ”€โ”€ web_security.yml
โ”‚   โ”‚   โ”œโ”€โ”€ security_device.yml
โ”‚   โ”‚   โ”œโ”€โ”€ network.yml
โ”‚   โ”‚   โ”œโ”€โ”€ control_system.yml
โ”‚   โ”‚   โ”œโ”€โ”€ pc.yml
โ”‚   โ”‚   โ”œโ”€โ”€ dbms.yml
โ”‚   โ”‚   โ”œโ”€โ”€ mobile.yml
โ”‚   โ”‚   โ”œโ”€โ”€ webapp.yml
โ”‚   โ”‚   โ””โ”€โ”€ virtualization.yml
โ”‚   โ”œโ”€โ”€ law_references.yml
โ”‚   โ”œโ”€โ”€ cross_ref_confirmed.yml
โ”‚   โ”œโ”€โ”€ cross_ref_review.yml
โ”‚   โ”œโ”€โ”€ cross_ref_uncertain.yml
โ”‚   โ””โ”€โ”€ navigation.yml
โ”œโ”€โ”€ _includes/
โ”‚   โ””โ”€โ”€ footer_custom.html
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ css/custom.css
โ”‚   โ””โ”€โ”€ images/
โ”‚       โ””โ”€โ”€ gonggong-nuri.png
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ admin/
โ”‚   โ”œโ”€โ”€ physical/
โ”‚   โ”œโ”€โ”€ technical/
โ”‚   โ”œโ”€โ”€ laws/
โ”‚   โ”œโ”€โ”€ appendix/
โ”‚   โ”œโ”€โ”€ about.md
โ”‚   โ””โ”€โ”€ changelog.md
โ””โ”€โ”€ scripts/
    โ”œโ”€โ”€ parse_admin_physical.py
    โ”œโ”€โ”€ parse_technical.py
    โ”œโ”€โ”€ generate_cross_reference.py
    โ””โ”€โ”€ validate_data.py
โšก