본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 25. 18:12

삼체 문제: AI 코드, 공급망 공격, 그리고 인재 유출

요약

AI 생성 코드의 급증, 공급망 공격의 확대, 보안 인재 부족이라는 세 가지 위협이 결합되어 소프트웨어 생태계에 예측 불가능한 혼돈을 초래하고 있습니다. AI가 생성한 코드의 높은 취약점 비율과 보안 검토 프로세스의 부재가 결합되어 심각한 보안 위협을 유발합니다.

핵심 포인트

  • AI 생성 코드는 인간 작성 코드보다 취약점이 많고 보안 테스트 통과율이 낮음
  • AI 도구 사용 시 개발자의 보안 자신감과 실제 코드 품질 간의 격차 발생
  • 공급망 공격의 급격한 성장과 인프라 유지 관리 자원의 고갈
  • 보안 전문 인력 채용 감소로 인한 조직의 기술적 대응 능력 약화

물리학에서 삼체 문제(three-body problem)는 세 개의 물체가 중력적으로 상호작용하며 근본적으로 예측 불가능한 방식으로 움직이는 시스템을 설명합니다. 두 개의 물체는 모델링할 수 있습니다. 하지만 세 번째 물체가 추가되는 순간, 수학적 계산은 무너집니다. 초기 조건의 작은 변화가 완전히 다른 결과를 만들어냅니다. 시스템은 혼돈(chaotic) 상태가 됩니다.

소프트웨어 보안에도 그들만의 삼체 문제가 있습니다. 현재 세 가지 힘이 수렴하고 있으며, 업계는 이들이 상호작용할 때 발생하는 현상을 무시한 채 각 힘을 독립적으로만 모델링하고 있습니다.

첫 번째 힘: AI는 인간이 작성한 코드보다 2.74배 더 많은 취약점(vulnerabilities)을 포함하는 코드를 생성하고 있으며, 전례 없는 규모로 배포되고 있습니다.

두 번째 힘: 공급망 공격(supply chain attacks)은 3년 동안 1,300% 성장했으며, 인터넷을 구동하는 인프라는 번아웃된 자원봉사자들에 의해 유지되고 있습니다.

세 번째 힘: 보안 인재 파이프라인(talent pipeline)이 붕괴하고 있습니다. 주니어 채용은 73% 감소했습니다. 보안 팀은 축소되고 있습니다. 조직의 88%가 기술 부족으로 인해 중대한 사고를 경험했습니다.

각각의 힘은 알려진 해결책이 있는 개별적인 문제입니다. 하지만 이 세 가지가 동시에 발생하는 것은 이 업계가 한 번도 직면해 본 적 없는 일입니다.

첫 번째 힘: 아무도 감사하지 않은 코드

GitHub에 있는 모든 코드의 46%가 현재 AI에 의해 생성되었습니다. Java 저장소(repositories)의 경우 그 수치는 61%에 달합니다. 이것은 예측치가 아닙니다. 세계 최대의 코드 저장소의 현재 상태입니다.

Veracode의 2025년 보고서에 따르면, AI가 생성한 코드 샘플의 45%가 OWASP Top 10 취약점을 유발하는 것으로 나타났습니다. 86%는 XSS 방어에 실패합니다. 88%는 로그 인젝션(log injection)에 취약합니다. Java 샘플의 72%가 보안 테스트를 통과하지 못합니다. 설계 수준의 결함, 인증 우회(authentication bypasses), 안전하지 않은 직접 객체 참조(insecure direct object references), 손상된 세션 관리(broken session management) 등이 153% 증가했습니다.

AI 생성 코드(AI-generated code)로 인해 발생한 CVE(Common Vulnerabilities and Exposures)는 2026년 1월 6건에서 2026년 3월 35건으로 급증했습니다. 보안 연구원들은 대부분의 AI 생성 취약점이 그 기원을 추적할 수 없기 때문에 실제 수치는 이보다 5배에서 10배 더 높을 것으로 추정합니다. 코드는 그냥 배포됩니다. 아무도 그것이 AI에 의해 생성되었다고 표시하지 않습니다. 취약점은 존재하지만 아무도 그 이유를 모릅니다.

Stanford 대학의 무작위 대조 시험(randomized controlled trial)에 따르면, AI 도구를 사용하는 개발자들은 보안에 대해 더 높은 자신감을 보고하면서도 실제로는 더 보안이 취약한 코드를 작성했습니다. 그들은 더 빠르게 배포했고, 그 결과에 대해 더 만족감을 느꼈지만, 코드는 더 나빠졌습니다. 그 자신감의 격차(confidence gap)가 바로 AI 생성 취약점이 대규모로 프로덕션 환경에 도달하게 만드는 메커니즘입니다.

작성자당 풀 리퀘스트(Pull requests) 수는 전년 대비 20% 증가했습니다. 풀 리퀘스트당 사고 발생 건수는 23.5% 급증했습니다. 더 많은 코드, 코드 단위당 더 많은 버그. 이 수학적 계산은 가산(additive)이 아닌 승산(multiplicative) 방식입니다. 그리고 아무도 diff를 읽지 않습니다.

두 번째 힘: 아무도 책임지지 않는 공급망

2025년 3월 12일, 공격자들은 23,000개의 리포지토리에서 사용되던 tj-actions/changed-files라는 GitHub Action을 침해했습니다. 이 공격은 버전 태그(version tags)를 수정하여 CI/CD 비밀 정보(secrets)를 공개 워크플로 로그(workflow logs)에 덤프하는 페이로드(payload)를 주입했습니다. AWS 키, GitHub 개인 액세스 토큰(personal access tokens), npm 토큰 등이 유출되었습니다. 이는 Coinbase를 겨냥한 타겟 공격으로 시작되었으나 곧 광범위하게 확산되었습니다. CISA는 일주일 이내에 경보를 발령했습니다.

2025년 9월 8일, 한 공격자가 가짜 2단계 인증(two-factor) 재설정 이메일을 사용하여 단 한 명의 npm 유지 관리자(maintainer)를 피싱했습니다. 불과 몇 시간 만에 chalk와 debug를 포함한 18개의 패키지가 침해되었으며, 이 패키지들의 주간 다운로드 수는 합계 26억 회에 달합니다. 악성 코드는 암호화폐 거래를 가로챘습니다. 이 상태는 약 2시간 동안 유지되었습니다. 2시간이면 충분했습니다.

2025년 12월, React2Shell이라 불리는 취약점이 공개되었습니다. CVSS 10.0, 즉 최고 심각도 점수를 기록했습니다. React Server Components (RSC)의 안전하지 않은 역직렬화 (Unsafe Deserialization) 결함으로 인해, 단 한 번의 HTTP 요청만으로 인증 전 원격 코드 실행 (Pre-authentication Remote Code Execution)이 가능했습니다. 이는 Next.js 15.0.0부터 16.0.6 버전까지 영향을 미쳤습니다. 대부분의 팀이 패치를 적용하기도 전에, 백도어 (Backdoor)를 배포하는 중국 연계 국가 지원 해커 그룹 (Nation-state actors)들이 이를 악용했습니다. Vercel은 600만 건 이상의 공격 시도를 차단했습니다.

2026년 4월, Vercel 자체가 침해당했습니다. 코드 취약점을 통해서가 아니었습니다. 바로 AI 도구를 통해서였습니다. 한 Vercel 직원이 Context.ai라는 AI 도구에 자신의 Google Workspace에 대한 전체 읽기 권한을 부여했습니다. 그런데 Context.ai의 직원이 멀웨어 (Malware)에 감염되어 있었습니다. 공격자들은 침해된 AI 도구를 통해 Vercel 직원의 계정으로 침투한 뒤, Vercel 플랫폼으로 이동하여 환경 변수 (Environment Variables)를 열거하고 복호화했습니다. 탈취된 데이터는 BreachForums에 200만 달러의 가격으로 올라왔습니다.

2025년 한 해에만 npm에서 454,648개의 악성 패키지가 발견되었습니다. 이는 전년 대비 75% 증가한 수치입니다. 모든 오픈 소스 멀웨어의 99% 이상이 npm을 타겟으로 합니다. Shai-Hulud이라 불리는 최초의 자기 복제형 npm 웜 (Worm)이 등장하여, 봉쇄되기 전까지 500개의 패키지를 감염시켰습니다. 악성 오픈 소스 패키지 위협은 3년 만에 1,300% 증가했습니다.

그리고 이 모든 것의 밑바닥에는 전체 시스템이 얼마나 취약한지를 보여주는 템플릿 공격 (Template Attack)이 자리 잡고 있습니다. 2024년 3월에 공개된 xz Utils 백도어입니다. 공격자는 거의 모든 Linux 시스템에서 사용되는 압축 라이브러리의, 번아웃된 1인 유지 관리자 (Maintainer)와 신뢰를 쌓기 위해 2년을 보냈습니다. 그들은 코드를 기여했고, 커밋 권한 (Commit Access)을 얻었습니다. 그러고 나서 백도어를 심었습니다. CVSS 10.0이었습니다. 이는 SSH 연결에서 500밀리초의 지연 시간 (Latency) 증가를 알아챈 한 개발자에 의해 우연히 발견되었습니다. 만약 그 개발자가 주의를 기울이지 않았다면, 그것은 지금 이 순간 인터넷상의 모든 서버에 퍼져 있었을 것입니다.

소프트웨어 공급망 (Software supply chain)은 사슬이 아닙니다. 그것은 지쳐 있고, 자금이 부족하며, AI 도구와 수년간의 인내심을 가진 국가 수준의 공격자들로부터 점점 더 많은 표적이 되고 있는 사람들에 의해 유지되는 의존성 (dependencies)의 거미줄입니다.

제3의 힘: 떠나갔고 다시 채워지지 않은 인재

2025년 783개 기업에서 245,953명의 기술 인력이 해고되었습니다. 2026년에는 5월까지 10만 명 이상의 추가 해고가 이어졌습니다. 보안 팀도 예외는 아니었습니다. 처음으로 예산 삭감이 인재 부족을 제치고 보안 인력 부족의 주요 원인이 되었습니다. 조직의 33%가 보안 직무가 공석으로 남는 이유로 예산을 꼽았습니다.

주니어 개발자 채용 붕괴는 전년 대비 73% 감소했습니다. 엔지니어링 리더의 54%가 주니어 채용을 줄일 계획입니다. 중간 단계 및 최종적으로 시니어 보안 엔지니어링 (security engineering) 역할로 이어지는 신입 파이프라인이 고갈되고 있습니다. ISC2는 전 세계 사이버 보안 인재 격차를 전년 대비 19% 증가한 470만 명의 미충원 직무로 추산합니다.

보안 팀의 95%가 기술 격차 (skills gaps)를 보고했습니다. 59%가 이를 심각하거나 중대하다고 답했으며, 이는 2024년의 44%에서 증가한 수치입니다. 상당한 기술 격차를 겪고 있는 조직은 실질적인 침해 (material breach)를 당할 확률이 거의 두 배 높으며, 이러한 침해 사고의 비용은 사고당 176만 달러 더 높습니다.

보안 인력을 감축하고 있는 기업들은 바로 더 많은 AI 생성 코드를 배포하고 있는 기업들과 동일합니다. 이들은 취약점 (vulnerabilities)을 잡아내는 인간은 줄이면서, 취약점을 생성하는 코드는 늘리고 있습니다. 해고를 승인한 바로 그 CFO가 AI 도구 예산도 승인했습니다. 아무도 스프레드시트에서 이 두 항목을 나란히 놓아 비교하지 않았습니다.

세 가지 힘이 충돌하는 지점

이 힘들 중 두 가지만 모델링한다면 상황은 관리 가능한 수준입니다. AI 생성 취약점과 강력한 보안 팀이 결합하면 해결 가능한 문제가 됩니다. 공급망 공격 (Supply chain attacks)과 숙련된 검토자가 결합하면 방어 가능한 위치가 됩니다. 인재 부족과 사람이 작성한 코드가 결합하면 위기가 아닌 인력 충원의 과제가 됩니다.

하지만 세 가지가 동시에 발생하면 이야기는 달라집니다.

AI는 더 많은 취약점 (vulnerabilities)을 가진 코드를 생성합니다. 그 코드는 패키지, 의존성 (dependencies), 그리고 공유 액션 (shared actions)의 형태로 공급망 (supply chain)으로 흘러 들어갑니다. 공급망에는 매년 454,648개의 새로운 악성 패키지가 유입되고 있으며, 관리자 (maintainers)들은 자신의 저장소 (repositories)에 들어오는 것들을 검토하기에는 너무나 번아웃 (burned out)되어 있습니다. 취약점과 공급망 침해를 잡아내야 할 보안 팀들은 인력이 감축되었습니다. 보안 엔지니어 (security engineers)로 성장했을 주니어들은 채용조차 되지 않았습니다.

한편, 공격자들은 동일한 AI 도구들을 사용하고 있습니다. AI 기반 사이버 공격은 전년 대비 72% 증가했습니다. AI로 제작된 피싱 (phishing) 이메일은 사람이 작성한 이메일의 클릭률인 12%와 비교하여 54%의 클릭률을 기록합니다. '슬롭스쿼팅 (slopsquatting)'이라 불리는 새로운 공격 벡터 (attack vector)가 등장했습니다. 공격자들이 AI 코딩 도구가 환각 (hallucinate)을 일으켜 만들어낸 가짜 패키지 이름을 등록하는 방식입니다. 연구원들에 따르면 AI가 추천하는 패키지 이름의 19.7%가 존재하지 않으며, 이러한 환각 이름 중 43%는 일관되게 반복되어 예측 가능한 타겟이 됩니다. 코드를 작성하는 AI 도구들이 개발자들에게 공격자가 이미 등록해 놓은 패키지를 설치하도록 유도하고 있는 것입니다.

FBI는 2025년에 8억 9,300만 달러의 손실을 초래한 22,364건의 AI 관련 사이버 범죄 신고를 기록했습니다. 데이터 내의 숨겨진 명령어가 AI 도구를 조작하여 의도하지 않은 동작을 실행하게 만드는 기술인 프롬프트 인젝션 (Prompt injection)은 초기 웹 시대의 SQL 인젝션 (SQL injection)과 비교되고 있습니다. 이는 패치로 해결할 수 있는 버그 (bug)가 아니라 근본적인 아키텍처 결함 (architectural flaw)입니다.

공격 표면 (attack surface)은 기하급수적으로 증가하고 있습니다. 방어 역량은 선형적으로 감소하고 있습니다. 이 두 곡선은 2025년 어느 시점에 교차했으며, 아무도 그 날짜를 기록하지 않았습니다.

향후 12개월의 전망

Gartner는 2028년까지 기업 사이버 보안 사고 대응의 50%가 AI 애플리케이션 사고와 관련될 것이라고 예측합니다. 그들은 기업용 생성형 AI (generative AI) 애플리케이션의 25%가 연간 5회 이상의 보안 사고를 경험할 것이라고 예측하며, 이는 2025년의 9%에서 증가한 수치입니다. Forrester는 에이전틱 AI (agentic AI) 배포가 2026년에 공개적으로 알려진 데이터 유출 (data breach)을 일으킬 것이라고 예측합니다.

IBM의 2025년 보고서에 따르면, 섀도우 AI (shadow AI) 침해로 인해 이미 평균 463만 달러의 비용이 발생했으며, 이는 일반적인 사고보다 67만 달러 더 높은 수치입니다. AI 관련 침해를 겪은 조직의 97%는 적절한 AI 접근 제어 (access controls)가 부족했습니다. 기업들은 AI 자체를 보호하는 것보다 AI 기반 도구에 17배 더 많은 비용을 투자하고 있습니다.

Vercel 침해 사고는 예고편이었습니다. 워크스페이스 접근 권한을 가진 AI 도구가 진입점이 되었습니다. 코드 취약점 때문도 아니었고, 피싱 이메일 때문도 아니었습니다. AI 도구가 허가된 작업을 정확히 수행하고 있었으나, 해당 AI 도구 자체의 보안으로는 방지할 수 없는 침해를 통해 악용된 것이었습니다. 모든 기업이 AI 도구에 코드베이스 (codebases), 클라우드 계정, 내부 문서에 대한 접근 권한을 부여하고 있다면, Vercel이 겪었던 것과 정확히 동일한 공격 표면 (attack surface)을 생성하고 있는 것이기에 이러한 패턴은 반복될 것입니다.

2026년 3월과 4월에 발생한 prt-scan 캠페인은 AI를 사용하여 6주 동안 500개의 리포지토리 (repositories)에 걸쳐 GitHub Actions 악용을 자동화했습니다. 이것이 공급망 공격 (supply chain attacks)의 새로운 속도입니다. 한 명의 인내심 있는 공격자가 xz Utils에 2년을 소비하는 것이 아니라, AI 시스템이 수백 개의 리포지토리를 동시에 공격하는 것입니다.

누구도 이에 대한 모델을 가지고 있지 않다

보안 업계는 위협을 개별적으로 모델링합니다. AI 코드 취약점은 애플리케이션 보안 (AppSec) 문제이고, 공급망 공격은 DevSecOps 문제이며, 인재 부족은 인사 (HR) 문제입니다. 각각에는 대응 매뉴얼 (playbook)이 있습니다. AI 코드에 대해 SAST 스캔을 실행하고, 의존성 (dependencies)을 고정하고 서명을 검증하며, 보안 인력을 충원하는 식입니다.

하지만 이러한 매뉴얼 중 그 어느 것도 동시에 발생하는 나머지 두 가지 문제를 고려하지 않습니다. 보안 팀의 인원이 감축되었다면 SAST 스캔을 효과적으로 실행할 수 없습니다. AI가 생성한 코드를 검토하느라 의존성을 감사할 시간이 없다면 공급망의 무결성 (integrity)을 검증할 수 없습니다. 그리고 이를 뒷받침할 주니어 인력 파이프라인이 끊겼다면 보안 인력을 충원할 수도 없습니다.

물리학의 삼체 문제 (three-body problem)에는 일반적인 해법이 없습니다. 보안에서의 삼체 문제 또한 해법이 없을지도 모릅니다. 하지만 물리학은 초기 조건 (initial conditions)을 바꿀 수 없게 만들지만, 업계는 여전히 바꿀 수 있습니다.

그 기회의 창이 닫히고 있습니다. 이들을 뒷받침하는 개발 속도 (developer velocity)는 둔화되지 않고 있습니다. 그리고 여전히 이들을 독립적으로 모델링하고 있는 기업들은 사고 보고서(incident reports)에 기록되는 대상이 될 것입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0