--- id: P-REINFORCE-AUTO-750690 category: "[[10_Wiki/πŸ’‘ Topics/Programming & Language]]" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Authorship Attribution" --- # [[Authorship Attribution]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > 지식 μš”μ•½ 정보 μΆ”μΆœ 쀑... ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **λ°œμ „ λ°°κ²½κ³Ό κ°œλ…:** μ €μž 식별은 본래 μ†κΈ€μ”¨λ‚˜ λ¬Έμ„œμ˜ 물리적 νŠΉμ„±μ„ μ£Όκ΄€μ μœΌλ‘œ κ°μ •ν•˜λ˜ κ²ƒμ—μ„œ μΆœλ°œν•˜μ—¬, κΈ€μ˜ λ‚΄μš©κ³Ό μ–΄νœ˜, 문법 λ“± '문체(Style)'λ₯Ό ν†΅κ³„μ μœΌλ‘œ λΆ„μ„ν•˜λŠ” 문체둠(Stylometry)으둜 λ°œμ „ν–ˆμŠ΅λ‹ˆλ‹€ [3, 6, 7]. 1980λ…„λŒ€ ν›„λ°˜λΆ€ν„°λŠ” 이 기법둠이 μ†Œν”„νŠΈμ›¨μ–΄μ—λ„ 적용되기 μ‹œμž‘ν•˜μ—¬, ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μž‘μ„±ν•œ μ†ŒμŠ€ μ½”λ“œλ‚˜ μ‹€ν–‰ νŒŒμΌμ—μ„œ κ³ μœ ν•œ ν”„λ‘œκ·Έλž˜λ° μŠ€νƒ€μΌμ„ μΆ”μΆœν•˜λŠ” 'μ½”λ“œ 문체둠(Code Stylometry)'으둜 ν™•μž₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [1, 2]. * **μ£Όμš” 식별 νŠΉμ§• (Features):** μ½”λ“œ λ¬Έμ²΄λ‘ μ—μ„œλŠ” μž‘μ„±μžμ˜ μŠ€νƒ€μΌμ„ 크게 μ„Έ κ°€μ§€ λ²”μ£Όλ‘œ λ‚˜λˆ„μ–΄ λΆ„μ„ν•©λ‹ˆλ‹€. 첫째, λ¬Έμžμ™€ λ‹¨μ–΄μ˜ μ‚¬μš© νŒ¨ν„΄μ„ λ³΄λŠ” 'μ–΄νœ˜μ (Lexical) νŠΉμ§•', λ‘˜μ§Έ, νŒŒμ‹±λœ 좔상 ꡬ문 트리(AST)의 ꡬ쑰λ₯Ό λΆ„μ„ν•˜λŠ” 'ꡬ문적(Syntactic) νŠΉμ§•', μ…‹μ§Έ, 띄어쓰기와 λ“€μ—¬μ“°κΈ° 등을 ν¬ν•¨ν•˜λŠ” 'λ ˆμ΄μ•„μ›ƒ(Layout) νŠΉμ§•'μž…λ‹ˆλ‹€ [8]. 컴파일된 μ‹€ν–‰ 파일(Binary)의 경우 λ ˆμ΄μ•„μ›ƒκ³Ό 주석이 μ œκ±°λ˜μ§€λ§Œ, 데이터 ꡬ쑰의 선택, μ‹œμŠ€ν…œ/라이브러리 호좜 νŒ¨ν„΄, μ œμ–΄ 흐름 κ·Έλž˜ν”„(CFG), λ ˆμ§€μŠ€ν„° 흐름 등을 톡해 μ—¬μ „νžˆ μž‘μ„±μžλ₯Ό 식별할 수 μžˆμŠ΅λ‹ˆλ‹€ [9-12]. * **μ‘μš© 뢄야와 ν”„λΌμ΄λ²„μ‹œ μœ„ν˜‘:** 이 κΈ°μˆ μ€ μ½”λ“œ 클둠 탐지, μ €μž‘κΆŒ λΆ„μŸ ν•΄κ²°, ν‘œμ ˆ 탐지(Plagiarism Detection) 및 μœ μ‹€λœ μ €μž 정보 볡원 등에 맀우 효과적으둜 μ‚¬μš©λ©λ‹ˆλ‹€ [4, 13, 14]. κ·ΈλŸ¬λ‚˜ 사이버 λ²”μ£„μž 좔적을 λ„˜μ–΄, 얡압적인 μ •κΆŒ ν•˜μ—μ„œ 읡λͺ…μœΌλ‘œ κ²€μ—΄ 우회 λ„κ΅¬λ‚˜ ν”„λΌμ΄λ²„μ‹œ κ°•ν™” κΈ°μˆ μ„ κ°œλ°œν•˜λŠ” μ˜€ν”ˆμ†ŒμŠ€ κΈ°μ—¬μžλ“€μ˜ 신원을 λ…ΈμΆœμ‹œν‚€λŠ” 데 μ•…μš©λ  수 μžˆλ‹€λŠ” μ‹¬κ°ν•œ μš°λ €κ°€ 제기되고 μžˆμŠ΅λ‹ˆλ‹€ [4, 5, 15, 16]. * **μ½”λ“œ ν¬λ§·νŒ…κ³Ό μΆ•μ†Œν™”(Minification)의 영ν–₯:** κ°œλ°œμžλ“€μ΄ μ½”λ“œμ˜ 일관성을 μœ„ν•΄ Blackκ³Ό 같은 μ½”λ“œ 포맷터(Formatter)λ‚˜, 파일 크기λ₯Ό 쀄이기 μœ„ν•œ μΆ•μ†ŒκΈ°(Minifier)λ₯Ό μ‚¬μš©ν•˜λ©΄ μž‘μ„±μž 고유의 λ ˆμ΄μ•„μ›ƒ νŠΉμ§• 등이 ν›Όμ†λ˜μ–΄ μ €μž μ‹λ³„μ˜ 정확도가 μœ μ˜λ―Έν•˜κ²Œ ν•˜λ½ν•©λ‹ˆλ‹€ [17-20]. 연ꡬ에 λ”°λ₯΄λ©΄, ꡬ체 ꡬ문 트리(CST) 기반 λΆ„μ„μ—μ„œ ν¬λ§·νŒ…κ³Ό μΆ•μ†Œν™”λ₯Ό 거친 μ½”λ“œλŠ” 원본에 λΉ„ν•΄ 식별 정확도가 μ΅œλŒ€ 18%κ°€λŸ‰(68%μ—μ„œ 50% μˆ˜μ€€μœΌλ‘œ) λ–¨μ–΄μ‘ŒμŠ΅λ‹ˆλ‹€ [20, 21]. ν•˜μ§€λ§Œ μ΄λŸ¬ν•œ ν•˜λ½μ—λ„ λΆˆκ΅¬ν•˜κ³  λ¬΄μž‘μœ„ μΆ”μΈ‘ ν™•λ₯ μ— λΉ„ν•΄μ„œλŠ” μ›”λ“±νžˆ 높은 정확도λ₯Ό λ³΄μ˜€μœΌλ©°, λ‹¨μˆœνžˆ ν¬λ§·νŒ…μ΄λ‚˜ μΆ•μ†Œν™”λ₯Ό μ μš©ν•˜λŠ” κ²ƒλ§ŒμœΌλ‘œλŠ” μ €μž 식별을 μ™„μ „νžˆ ν”Όν•  수 μ—†λ‹€λŠ” 것이 ν™•μΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€ [21-24]. * **μ λŒ€μ  μ½”λ“œ 문체둠 (Adversarial Code Stylometry):** μ €μž 식별 κΈ°μˆ μ— λŒ€μ‘ν•˜κΈ° μœ„ν•΄, κΈ°κ³„ν•™μŠ΅ λͺ¨λΈ(예: 랜덀 포레슀트)의 κ²°μ • 트리λ₯Ό λΆ„μ„ν•˜μ—¬ μžμ‹ μ˜ μ½”λ”© μŠ€νƒ€μΌμ„ λ‚œλ…ν™”(Obfuscation)ν•˜κ±°λ‚˜ λ‹€λ₯Έ νŠΉμ • 개발자의 μŠ€νƒ€μΌμ„ μ •κ΅ν•˜κ²Œ λͺ¨λ°©(Mimicry)ν•˜λ„λ‘ λ•λŠ” 연ꡬ가 μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [25, 26]. 이 κΈ°μˆ μ„ μžλ™ν™”ν•œ 'StyleCounsel'κ³Ό 같은 μ‹œμŠ€ν…œμ€ μ‚¬μš©μžμ˜ μ½”λ“œκ°€ λ‹€λ₯Έ μ‚¬λžŒμ˜ μ½”λ“œλ‘œ μ˜€λΆ„λ₯˜λ˜λ„둝 μ†ŒμŠ€ μ½”λ“œ μˆ˜μ • ꢌμž₯ 사항을 λ„μΆœν•΄ λ‚΄λ©°, μ €μž 식별 기술이 μ˜λ„μ μΈ μ‘°μž‘μ— μ·¨μ•½ν•  수 μžˆμŒμ„ μž…μ¦ν–ˆμŠ΅λ‹ˆλ‹€ [25, 27, 28]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Code Stylometry]], [[Plagiarism Detection]], [[Code Formatting]], [[Adversarial Code Stylometry]] - **Projects/Contexts:** [[Google Code Jam]] (μ†ŒμŠ€ μ½”λ“œ μ €μž 식별 μ—°κ΅¬μ—μ„œ κ΄‘λ²”μœ„ν•˜κ²Œ μ‚¬μš©λ˜λŠ” μ£Όμš” 데이터셋), [[StyleCounsel]] (μ λŒ€μ  μ €μž 식별 νšŒν”Όλ₯Ό 돕기 μœ„ν•΄ 개발된 도ꡬ) - **Contradictions/Notes:** μ†ŒμŠ€μ½”λ“œκ°€ 컴파일되면 주석, λ“€μ—¬μ“°κΈ°, λ³€μˆ˜λͺ… 등이 νŒŒκ΄΄λ˜λ―€λ‘œ μž‘μ„±μžμ˜ 흔적이 μ‚¬λΌμ§ˆ 것이라 μ˜ˆμƒν•˜κΈ° μ‰½μ§€λ§Œ, μ‹€μ œλ‘œλŠ” 컴파일러 μ΅œμ ν™” μˆ˜μ€€κ³Ό 관계없이 μ‹€ν–‰ 파일 λ‚΄ μ œμ–΄ 흐름과 데이터 ꡬ쑰 선택 방식 λ“±μ˜ 정보가 남아 μžˆμ–΄ μƒλ‹Ήν•œ μ •ν™•λ„λ‘œ μ €μž 식별(Executable Code Attribution)이 κ°€λŠ₯ν•©λ‹ˆλ‹€ [29, 30]. λ˜ν•œ, 포맷터와 Minifier의 μ‚¬μš©μ΄ μ½”λ“œ 문체둠을 κ΅λž€ν•˜κΈ°λŠ” ν•˜λ‚˜ 식별을 μ™„λ²½νžˆ λ°©μ–΄ν•΄μ£Όμ§€λŠ” λͺ»ν•©λ‹ˆλ‹€ [24, 31]. --- *Last updated: 2026-04-19* - Raw Source: [[00_Raw/2026-04-20/Authorship Attribution.md]] ---