정우석의 기술 해부 · 2026-07-01
AI가 쓴 코드에 몰래 심은 바코드, 결국 '개발자 몫'은 더 커진다
Anthropic의 Claude가 생성한 코드에 보이지 않는 워터마크를 심기 시작했습니다. 이는 AI 생성물의 출처를 밝히고 오남용을 막는다는 명분이지만, 개발자 도구의 본질을 바꾸고 '판단의 책임'을 우리에게 떠넘기는 신호탄입니다.

“결국 AI는 '판단의 값'을 떨어뜨리는 게 아니라, 오히려 극적으로 끌어올리고 있습니다.”
며칠 전, 동료 개발자가 슬랙에 올린 코드 조각이 있었습니다. Claude Sonnet 3.5가 꽤 그럴싸한 Go 코드를 짜줬다는 겁니다. 평소처럼 복사해서 제 에디터에 붙여넣고 돌려봤습니다. 잘 작동했습니다. 그런데 며칠 뒤, Anthropic이 Claude가 만든 코드에 보이지 않는 문자를 심는다는 뉴스를 봤습니다. 혹시나 해서 그 코드를 헥스 에디터로 열어봤습니다. 아니나 다를까, 줄 끝마다 `U+200C`(제로폭 비결합 문자) 같은 녀석들이 숨어 있었습니다. 기능엔 아무 영향도 주지 않는 유령 같은 존재들입니다. 누군가 내 코드에 몰래 표식을 남긴 셈인데, 기분이 썩 좋지는 않았습니다.
디지털 낙인, 새롭지 않은 '창과 방패'의 역사
Claude가 코드에 숨겨 넣는 것은 스테가노그래피(Steganography)라는 고전적인 기법입니다. 눈에 보이지 않는 제로폭 공백 문자(Zero-width space) 등을 조합해 일종의 디지털 워터마크, 혹은 바코드를 만드는 방식입니다. 일반적인 텍스트 편집기에서는 보이지도 않고, 코드 실행에 아무런 영향도 주지 않습니다. 하지만 특정 도구로 들여다보면 ‘이 코드는 Claude가 생성했음’이라는 꼬리표를 읽을 수 있습니다.
이런 시도는 전혀 새롭지 않습니다. 이미 수십 년 전부터 콘텐츠에 출처를 새기려는 시도는 계속됐습니다.
- 프린터 추적 점: 대부분의 컬러 레이저 프린터는 출력물에 육안으로 식별하기 힘든 노란 점 패턴(Yellow Dots)을 인쇄합니다. 이 패턴에는 프린터의 일련번호와 인쇄 시각 정보가 담겨, 위조지폐 제작 같은 범죄에 사용될 경우 추적 단서가 됩니다.
- 이미지 워터마크: 게티이미지 같은 스톡 사진 업체는 물론, 어도비 같은 소프트웨어 회사도 이미지에 보이지 않는 워터마크를 삽입하는 기술을 오래전부터 사용해왔습니다. 저작권을 보호하고 불법 복제를 막기 위함입니다.
- 오디오 워터마크: 방송국은 송출하는 음원에 귀로는 들을 수 없는 고유 식별 신호를 섞어 보냅니다. 어떤 프로그램의 음원이 어디서 어떻게 사용되는지 추적하기 위해서입니다.
Anthropic의 시도 역시 이 거대한 ‘창과 방패’의 역사 위에 있습니다. 콘텐츠 생산자는 어떻게든 자신의 저작권을 보호하고 오용을 막으려 하고, 사용자는 제약 없이 콘텐츠를 사용하려 합니다. 워터마크를 심는 기술이 나오면, 이를 찾고 지우는 기술도 함께 나옵니다. 실제로 Claude의 워터마크 역시 간단한 스크립트로 쉽게 제거할 수 있습니다. 완벽한 추적 장치라기보다는, 일종의 선언이자 최소한의 방어 장치에 가깝습니다.
명분은 '책임 AI', 현실은 '모델 붕괴' 방어전
Anthropic이 내세우는 명분은 그럴듯합니다. AI가 생성한 악성 코드가 유포될 때 출처를 추적하고, AI 생성물의 저작권 귀속을 명확히 하며, 전반적으로 '책임감 있는 AI' 생태계를 만들겠다는 것입니다. 틀린 말은 아닙니다. 하지만 엔지니어의 시선으로 한 꺼풀 더 벗겨보면, 훨씬 더 절박하고 현실적인 이유가 보입니다. 바로 '모델 붕괴(Model Collapse)'를 막기 위한 방어전입니다.
모델 붕괴는 AI가 자신이 생성한 콘텐츠를 다시 학습 데이터로 삼으면서 점차 품질이 저하되고 결국 바보가 되는 현상을 말합니다. 마치 복사본을 계속 복사하면 이미지가 뭉개지는 것과 같습니다. LLM 개발사에게 이는 사활이 걸린 문제입니다.
- 데이터셋 오염의 악순환: AI가 만든 그럴싸한 코드와 글이 인터넷에 대량으로 퍼져나가고 있습니다. 다음 세대 AI를 학습시킬 때, 어떤 것이 인간이 만든 양질의 데이터이고 어떤 것이 AI가 만든 '재활용' 데이터인지 구분하지 못하면 모델의 성능은 급격히 나빠집니다.
- 식별 비용 절감: AI 생성물을 학습 데이터에서 걸러내려면 이를 확실히 식별할 방법이 필요합니다. 워터마크는 이 식별 과정을 자동화하고 비용을 줄이는 가장 확실한 수단입니다. 사람이 일일이 판별하는 데는 한계가 명확합니다.
- 법적 책임의 방패막: 앞으로 AI가 생성한 코드가 일으키는 사고(보안 취약점, 라이선스 위반 등)에 대한 법적 분쟁은 필연적으로 늘어날 겁니다. 워터마크는 '우리 모델이 초안을 만들었지만, 최종 책임은 이를 사용하고 수정한 개발자에게 있다'고 주장할 수 있는 중요한 근거가 됩니다.
결국 '책임 AI'라는 우아한 명분 뒤에는, 자신들의 핵심 자산인 AI 모델의 품질을 지키고 잠재적인 법적 분쟁에서 유리한 고지를 점하려는 지극히 현실적인 계산이 깔려 있는 셈입니다.
4세대 언어의 그림자, '판단의 비용'은 누가 치르나
AI 코드 생성 도구의 등장은 낯선 풍경이 아닙니다. 과거에도 비슷한 약속이 있었습니다. 1980년대의 4세대 언어(4GL)와 CASE(Computer-Aided Software Engineering) 도구, 2010년대의 노코드/로우코드 플랫폼이 그랬습니다. 이들은 모두 '코딩 없이, 혹은 최소한의 코딩으로 복잡한 프로그램을 만들 수 있다'고 주장했습니다.
저도 신입 시절, 선배들이 4GL로 만들었다는 시스템을 유지보수하느라 고생한 기억이 있습니다. 분명 사람이 읽고 이해하긴 어려운 코드를 자동으로 생성해줬지만, 문제는 그 코드가 '블랙박스'라는 점이었습니다. 아주 미세한 버그 하나를 잡기 위해, 혹은 작은 기능을 수정하기 위해 그 복잡하고 비대한 자동 생성 코드를 전부 분석해야 했습니다. 차라리 처음부터 직접 짜는 게 훨씬 빨랐습니다.
| 구분 | 과거 (CASE/4GL) | 현재 (AI 코드 생성) |
|---|---|---|
| 생성물 | 비대한 COBOL, SQL 코드 | 간결해 보이는 Python, JS 코드 |
| 문제점 | '블랙박스' 코드, 디버깅 불가 | 미묘한 버그, 라이선스 오염, 보안 취약점 |
| 개발자 역할 | 생성 코드 '튜닝' 및 유지보수 | 생성 코드 '검증', '보안 감사', '책임 판단' |
AI 코드 생성 역시 이 길을 따라가고 있습니다. 코드를 '타이핑'하는 수고는 덜어주지만, 그 코드가 정말 올바른지, 보안 취약점은 없는지, 특정 라이선스를 위반하지는 않는지 '판단'해야 하는 책임은 온전히 개발자에게 넘어옵니다. Claude의 워터마크는 이 책임 전가의 상징적인 장치입니다. '이 코드는 AI가 만들었으니, 알아서 검증하고 책임지세요'라는 보이지 않는 각서와 같습니다.
흔한 오해: 워터마크는 완벽한 추적 장치다. 실제로는 간단한 스크립트로도 제거할 수 있어 완벽한 추적이 불가능합니다. 목적은 모든 사용자를 감시하는 것이 아니라, 'AI 생성물은 별도의 표식이 있을 수 있으며, 그 사용 책임은 사용자에게 있다'는 기술적, 법적 선례를 만드는 데 있습니다. 완벽한 감시 카메라가 아니라, 'CCTV 녹화 중'이라는 팻말에 가깝습니다.
결국 개발자의 역할은 코드를 작성하는 사람(Coder)에서, 코드의 품질과 맥락을 책임지는 사람(Software Engineer)으로 더욱 빠르게 이동하고 있습니다. AI는 이 변화를 가속화할 뿐입니다. 개발자의 가치는 보일러플레이트 코드를 얼마나 빨리 치느냐가 아니라, 주어진 문제에 가장 적합한 구조를 설계하고, 복잡한 시스템의 안정성을 보장하며, AI가 내놓은 그럴싸한 거짓말을 판별해내는 '판단력'에서 나옵니다. 그리고 이 판단의 값은 점점 더 비싸지고 있습니다.
Q. 워터마크가 사용자 동의 없이 콘텐츠를 수정하는 것이니 프라이버시 침해 아닌가요? A. 법적으로 따지면 복잡한 문제입니다. 대부분의 사용자는 서비스 이용 약관에 '콘텐츠 처리'에 대한 조항을 포괄적으로 동의했을 가능성이 높습니다. 기술적으로는 사용자가 생성한 '결과물'에 표식을 남기는 것이므로, 통신 내용을 감청하는 것과는 다릅니다. 다만, 이 사실을 사용자에게 명확하고 투명하게 고지하지 않은 점은 비판받을 만하며, 향후 관련 법규나 사회적 합의가 필요해 보입니다.
Q. 이런 워터마크가 오픈소스 생태계에는 어떤 영향을 줄까요? A. 잠재적 위험과 기회가 공존합니다. AI가 생성한 코드가 라이선스 고지 없이 오픈소스 프로젝트에 기여될 경우, 나중에 저작권 분쟁의 불씨가 될 수 있습니다. 워터마크는 이런 '오염'을 사전에 식별하고 막는 데 도움이 될 수 있습니다. 반면, AI 생성 코드 기여를 원천적으로 금지하거나, 워터마크 유무를 검사하는 등 커뮤니티의 기여 장벽이 높아져 기여 문화가 위축될 수도 있습니다. 앞으로 오픈소스 재단들이 어떤 정책을 세울지 지켜봐야 합니다.
이 브리핑이 유용했나요?
댓글 (0)
첫 댓글을 남겨주세요.