Each language version is independently generated for its own context, not a direct translation.
🕵️♂️ 핵심 이야기: "AI 의 필적 감식"
과거에는 "이 글이 사람이 썼는지 AI 가 썼는지"만 구분하면 됐습니다. 하지만 이제는 ChatGPT, Claude, DeepSeek, Qwen 등 수많은 AI 가 코드를 만들어냅니다.
만약 해킹 사고가 나거나, 라이선스 문제가 생겼을 때 **"이 코드를 정확히 어떤 AI 가 만들었는지"**를 알아내는 것이 매우 중요합니다. 하지만 AI 들은 모두 똑같은 문제를 풀려고 하므로, 코드의 **기능 (무엇을 하는지)**은 거의 비슷합니다. 문제는 **어떻게 (스타일)**를 구분하는 것입니다.
이 논문은 **"코드의 기능은 빼고, AI 고유의 '필적'만 남기는 기술"**을 개발했습니다.
🎨 비유 1: "요리사의 손맛" (스타일 vs 레시피)
여러분이 같은 **'김치찌개 레시피 (과제)'**를 가지고 네 명의 다른 요리사 (AI) 에게 김치찌개를 만들어달라고 했다고 상상해 보세요.
- 기능 (Source-Agnostic): 네 사람 모두 '김치찌개'를 만듭니다. 재료는 비슷하고, 맛도 비슷할 것입니다. (이것은 모든 AI 가 공유하는 공통점입니다.)
- 필적 (Source-Specific): 하지만 요리사마다 손맛이 다릅니다.
- A 요리사는 양념을 조금 더 넣습니다.
- B 요리사는 채소를 아주 작게 썹니다.
- C 요리사는 국물을 진하게 냅니다.
- D 요리사는 마지막에 후추를 살짝 뿌립니다.
기존의 기술들은 "이게 김치찌개인가?"만 확인하려 했습니다. 하지만 이 논문은 **"이 김치찌개를 만든 요리사는 누구인가?"**를 찾기 위해, 김치찌개라는 공통된 맛 (기능) 을 무시하고, 오직 요리사만의 독특한 손맛 (스타일) 만을 찾아내는 기술을 개발했습니다.
🛠️ 이 논문이 제안한 해결책: "DCAN (필적 분리기)"
연구팀은 DCAN이라는 새로운 시스템을 만들었습니다. 이 시스템은 코드를 두 가지로 분리합니다.
- 공통된 내용 (과제 해결): "이 코드가 무엇을 하는지"에 대한 정보. (예: "숫자를 더하는 함수")
- 고유한 필적 (AI 의 스타일): "누가 썼는지"에 대한 정보. (예: 변수 이름을 어떻게 짓는지, 주석을 어떻게 달는지, 들여쓰기를 어떻게 하는지)
이 시스템은 공통된 내용은 무시하고, 오직 '고유한 필적'만 남긴 뒤 그것을 분석하여 "아, 이건 Claude 가 썼구나!"라고 맞춥니다.
📊 실험 결과: 얼마나 잘 맞췄을까?
연구팀은 ChatGPT, Claude, DeepSeek, Qwen 네 가지 AI 가 Python, Java, C, Go 네 가지 언어로 만든 코드 9 만 개가 넘는 데이터를 만들어 테스트했습니다.
- 결과: 이 시스템은 약 98% 의 정확도로 AI 가 누구인지 맞췄습니다. (기존 기술들은 90% 정도였습니다.)
- 재미있는 발견:
- 주석 (Comment) 이 있으면 더 잘 맞췄습니다: AI 들이 코드를 설명할 때 쓰는 말투 (예: "여기서 숫자를 더합니다" vs "숫자 합산") 마다 고유한 특징이 있었습니다.
- 어려운 문제일수록 더 잘 맞췄습니다: 쉬운 문제는 모든 AI 가 비슷하게 풀지만, 어려운 문제는 각 AI 가 자신만의 독특한 해결책을 고안해 내기 때문에 '필적'이 더 뚜렷하게 남았습니다.
💡 왜 이 연구가 중요할까요?
- 책임 소재 파악: 만약 AI 가 만든 코드가 버그나 보안 취약점을 가지고 있다면, 어떤 AI 가 만들었는지 알면 그 AI 개발사를 찾아서 책임을 물을 수 있습니다.
- 지식재산권 보호: 누가 만든 코드를 무단으로 사용했는지 추적할 수 있습니다.
- 미래의 보안: AI 가 만들어낸 악성 코드를 추적하고 방어하는 데 필수적인 기술이 됩니다.
📝 한 줄 요약
"이 논문은 여러 AI 가 만든 코드의 '기능'은 무시하고, 오직 각 AI 만의 독특한 '손맛 (필적)'만 찾아내어, 정확히 누가 코드를 썼는지 98% 이상의 확률로 알아내는 새로운 수사 기술을 개발했습니다."
이 기술은 앞으로 AI 가 만들어낸 소프트웨어의 출처를 추적하고, 더 안전하고 투명한 소프트웨어 환경을 만드는 데 큰 역할을 할 것입니다.