2026년 9월, 인디 개발자 프셰미스와프(Przemysław)는 구글 광고에 500달러를 집행했다. 그가 홍보하려던 제품은 Rust 언어로 직접 개발한 macOS 전용 터미널 멀티플렉서 RACE였다. 결제는 정상적으로 이루어졌으나 광고가 단 1회도 노출되기도 전에 계정이 영구 정지 처분을 받았다. 플랫폼이 제시한 사유는 중대했다. 바로 ‘악성 소프트웨어’와 ‘해킹된 사이트’라는 명목이었다. 알고리즘 모델은 개발자의 디지털 자산에 즉결 사형선고를 내리면서도 구체적인 증거 제시는 철저히 거부했다.
무죄 입증이라는 끝없는 미로
선고를 받은 뒤 개발자는 배포 경로의 모든 요소를 샅샅이 점검했다. 먼저 구글 자체의 세이프 브라우징(Google Safe Browsing)으로 race-term.com과 하위 도메인을 검사했으나 아무런 위험도 발견되지 않았다. 구글의 보안 방어망은 웹사이트를 완벽히 안전하다고 판단하는데, 광고 심사 시스템은 해킹당한 사이트로 단정 짓는 모순이 발생한 것이다. 서로 다른 내부 데이터가 겉도는 이러한 단절은 빅테크 기업 내부의 보안 기준선에 심각한 균열이 있음을 폭로한다.
그는 빌드된 RACE.dmg 설치 패키지를 바이러스토탈(VirusTotal)에 업로드했다. 수십 개의 정상급 백신 엔진이 정밀 검사를 수행했으나 탐지 건수는 0건이었다. 애플리케이션은 애플의 정식 코드 서명을 통과했을 뿐 아니라 공증(Notarization) 티켓까지 정식으로 발급받은 상태였다.
그림: RACE 설치 패키지에 대한 VirusTotal 스캔 결과, 탐지 0건으로 완전 통과. 출처: xlii.space
이처럼 빈틈없는 증거를 확보한 개발자는 계정 이의 신청을 제기했다. 그러나 구글의 답변은 기계적인 템플릿 거절 메일 한 통뿐이었다. 어떤 코드 라인이 규정을 위반했는지는 일절 언급하지 않은 채 그저 “새로운 정보를 다시 제출하라”는 말만 되풀이했다. 혹시 모를 내부 정리 작업을 거친 1.0.39 버전을 제출했으나 1초 만에 거절당했고, 오히려 계정 정지 기간이 1주일 추가 연장되는 제재까지 받았다. 자동화 시스템은 소명을 분석하기는커녕 처벌 수위만 높이며 시간과 비용으로 이의 제기자를 지치게 만들었다.
정상적인 터미널 관리 기능이 건드린 휴리스틱 뇌관
RACE는 사용자가 여러 터미널 창을 자유롭게 배치하고 크기를 조절할 수 있도록 돕는 터미널 멀티플렉서다. “앱을 재시작해도 셸 세션이 그대로 유지되는” 핵심 기능을 구현하려면 소프트웨어가 백그라운드에서 하위 프로세스를 독자적으로 띄우고 제어해야 한다. 이러한 프로세스 수명 주기 관리는 시스템 엔지니어링 관점에서 지극히 정상적인 표준 구현 방식이다.
하지만 맥락을 이해하지 못하는 자동 심사 스크립트의 시야에 들어서면, 합법적인 도구의 일반적인 동작은 치명적인 위험 징후로 돌변한다. 시스템 권한을 가진 셸 프로세스를 백그라운드에 상주시키는 행위가 전형적인 트로이 목마의 악성 패턴과 일치하기 때문이다. 구글은 매일 개인정보를 탈취하려는 악의적 광고 공격에 노출되어 있다. 이러한 위협이 검색 결과에 침투하지 못하도록 차단 모델의 민감도를 극단적으로 높여놓은 것이다.
| 심사 관점 비교 | 개발자가 보는 RACE | 구글 보안 모델이 보는 RACE |
|---|---|---|
| 핵심 동작 | 백그라운드 셸 세션 관리 및 프로세스 풀 상주 | 은밀한 백그라운드 프로세스 기동 및 메모리 상주 |
| 코드 특성 | 고성능의 안전한 Rust OS 레벨 API 호출 | 원격 제어 트로이 목마와 유사한 침투성 동작 패턴 |
| 신뢰 근거 | 애플 공식 공증 완료, 안전 도메인 인증, 백신 0건 탐지 | 정적 행동 특성 강제 매칭으로 블랙리스트 규칙 트리거 |
| 소통 방식 | 상세한 진단 로그 및 규정 준수 증빙 제출 | 기계적 자동 응답 반복으로 인적 개입 경로 전면 차단 |
그러나 이러한 융단폭격식 방어 전략은 정작 지능적인 해커를 막는 데에는 큰 실효를 거두지 못하고 있다. 일반 사용자들은 여전히 검색창을 통해 피싱 및 악성 사이트에 노출된다. 진짜 사이버 범죄 조직은 도메인을 빠르게 갈아치우고 환경을 위장하며 계정을 대량 생성해 차단을 우회하기 때문이다. 결국 거칠고 무책임한 자동화 정책의 희생양이 되는 것은 묵묵히 제품을 만드는 인디 개발자들이다.
알고리즘의 블랙박스에 짓밟힌 인간 검토 통로
출구를 찾기 위해 개발자는 가능한 모든 자구책을 동원했다. 클라우드플레어(Cloudflare) 접근 로그를 뒤지며 악의적인 리다이렉션 요청이 있었는지 조사했으나 아무런 이상이 없었다. 심지어 프론트엔드 자바스크립트 빌드 결과물까지 한 줄 한 줄 검증하며 서드파티 라이브러리의 공급망 오염 가능성까지 배제했다. 이러한 꼼꼼한 기록은 시스템 엔지니어로서 지켜야 할 최소한의 윤리적 기준이었다.
그림: 도메인에 대한 Google Safe Browsing 검사 보고서, 보안 문제 없음. 출처: xlii.space
하지만 이 모든 소명 보고서를 고객센터 티켓에 첨부해 제출해도 깊은 심연으로 사라질 뿐이었다. 구글의 인간 상담사는 유령처럼 단 한 번도 모습을 드러내지 않았다. 경직된 기계 학습 모델이 디지털 비즈니스의 생사여탈권을 쥐고 있었으며, 자신이 출력한 확률 값만 맹신할 뿐 외부의 객관적인 교차 검증 데이터는 철저히 묵살했다. 완벽한 카프카적 부조리가 완성된 것이다. 개발자는 악성코드 유포자로 낙인찍혔으나, 무결함을 증명하는 명백한 증거를 검토해 줄 인간은 그 어디에도 없었다.
거대 시스템의 횡포를 무너뜨린 유일한 지렛대
사면초가에 몰린 그는 자신의 억울한 경험을 담담한 블로그 글로 정리해 해커뉴스에 올렸다. 글의 시작은 옛 소련 시절의 유명한 유머로 시작되었다. “붉은 광장에서 자동차를 나눠준다는데, 알고 보니 레닌그라드 혁명 광장에서 자전거를 도둑맞은 것이었다.” 이 우화는 구글 광고 차단 사태의 황당무계함을 정면으로 겨냥했다. 시스템이 씌운 혐의는 거창했지만 사실에 부합하는 내용은 단 하나도 없었다. 이 글은 전 세계 개발자들의 폭발적인 공감을 얻으며 반나절 만에 인기 순위 최상단에 올랐고, 구글의 불투명한 심사 시스템을 성토하는 수백 개의 댓글이 이어졌다.
반전은 허탈할 만큼 신속하게 찾아왔다. 글이 메인 페이지 상단에 올라와 공론화되자마자 콘크리트처럼 굳어 있던 구글 광고 계정이 즉각 복구된 것이다. 심사팀은 계정이 풀릴 때까지 어떤 가이드라인 위반이 있었는지 해명하지 않았고, 오판에 대한 공식 사과도 건네지 않았다. 몇 주 동안 개발자를 괴롭혔던 사형선고는 애초에 존재하지도 않았다는 듯 조용히 증발했다. 이번 사건은 빅테크 기업들이 자랑하는 대규모 자동화 거버넌스의 민낯을 여실히 드러냈다.
심사 모델이 정상적인 소프트웨어를 악성코드로 오판하면 시스템은 구체적 증거를 제시하지도, 인간 검토자를 배정하지도 않는다. 인디 개발자가 아무리 완벽한 보안 검사 결과를 쥐고 있어도 데이터베이스에 하드코딩된 차단 로직을 바꿀 수는 없다. 폐쇄적인 알고리즘 법정에서 거대한 공론화의 파도를 일으키는 것만이 기계의 독재에 맞서 개인이 누를 수 있는 유일한 비상벨인 셈이다.
참고 링크:
- xlii.space 기사
- HN 토론 (item?id=49624856)