- Authors

- Name
- 오늘의 바이브
160만 앱에서 드러난 불편한 숫자

2026년 2월 24일, Veracode가 16번째 연례 보안 보고서 "2026 State of Software Security"를 공개했다. 160만 개의 애플리케이션을 분석한 결과다. 정적 분석(SAST)에서 1억 1,560만 건, 소프트웨어 구성 분석(SCA)에서 2,210만 건, 동적 분석(DAST)에서 360만 건. 총 1억 4,130만 건의 보안 발견 사항이 쏟아졌다.
숫자가 말하는 건 명확하다. AI 코딩 시대의 생산성 파티가 끝나고, 보안이라는 숙취가 시작됐다. AI가 생성한 코드는 인간이 작성한 코드보다 취약점이 2.74배 많다. 82%의 조직이 1년 이상 된 보안 결함을 안고 있다. 고위험 취약점 비율은 전년 대비 36% 뛰었다. 코드를 빠르게 뽑아내는 능력이 올라간 만큼, 결함을 빠르게 만들어내는 능력도 올라간 것이다.
AI 코드가 2.74배 더 위험한 이유
Veracode의 GenAI 코드 보안 보고서는 구체적인 실험 결과를 담고 있다. 100개 이상의 LLM을 대상으로, Java, JavaScript, Python, C# 4개 언어에서 80개의 코딩 작업을 수행시켰다. 각 작업은 MITRE CWE 체계에 따라 보안 취약점이 발생할 가능성이 있는 시나리오로 설계됐다.
결과는 냉정하다. AI가 생성한 코드 샘플의 **45%**가 OWASP Top 10 취약점을 포함했다. 절반에 가까운 코드가 보안적으로 안전하지 않았다는 뜻이다.
취약점 유형별로 보면 상황이 더 심각하다.
| 취약점 유형 | CWE 번호 | AI 실패율 |
|---|---|---|
| 로그 인젝션 (Log Injection) | CWE-117 | 88% |
| 크로스사이트 스크립팅 (XSS) | CWE-80 | 86% |
| SQL 인젝션 | CWE-89 | 테스트 대상 |
| 안전하지 않은 역직렬화 | - | 테스트 대상 |
로그 인젝션에서 88%, XSS에서 86%의 실패율이다. AI가 가장 기본적인 웹 보안 원칙조차 지키지 못하고 있다. Veracode CTO Jens Wessling은 이렇게 말했다. "우리의 연구는 GenAI 모델이 거의 절반의 확률로 잘못된 선택을 하며, 개선되지 않고 있다는 것을 보여준다."
언어별 격차, Java가 최악이다

같은 AI라도 어떤 언어로 코드를 생성하느냐에 따라 취약점 비율이 크게 달라진다.
| 언어 | 보안 실패율 |
|---|---|
| Java | 72% |
| Python | 38~45% |
| C# | 38~45% |
| JavaScript | 38~45% |
Java가 72%로 압도적 최악이다. Python, C#, JavaScript는 38~45% 범위로 비교적 나은 편이지만, 그래도 3분의 1 이상이 안전하지 않다. Java의 높은 실패율은 언어 자체의 복잡성과 보안 관련 API의 다양성 때문으로 분석된다. Java의 직렬화, JDBC, 로깅 프레임워크는 보안적으로 올바르게 사용하기 까다로운 API가 많다. AI가 이런 미묘한 차이를 학습하지 못한 채 코드를 생성하고 있다.
이건 바이브코딩(vibe coding)으로 빠르게 프로토타입을 만들고, AI에게 백엔드까지 맡기는 트렌드에 경고등을 켠다. AI가 생성한 Java 코드 10줄 중 7줄이 보안 테스트를 통과하지 못한다면, 그 코드가 프로덕션에 올라갈 때 무슨 일이 일어날까.
보안 부채 82%, 위기의 규모
Veracode의 2026 보고서가 던지는 더 큰 경고는 보안 부채(security debt)다. 보안 부채란 1년 이상 수정되지 않은 채 남아있는 취약점을 뜻한다. 기술 부채의 보안 버전이다.
| 지표 | 2026년 수치 | 전년 대비 변화 |
|---|---|---|
| 보안 부채를 가진 조직 비율 | 82% | +11% |
| 치명적 보안 부채를 가진 조직 비율 | 60% | +20% |
| 고위험 취약점 비율 | 11.3% | +36% |
| 전체 결함 보유 앱 비율 | 78% | 소폭 감소 |
| 오픈소스 취약점 보유 앱 비율 | 62% | 감소(70%→62%) |
5개 조직 중 4개 이상이 보안 부채를 안고 있다. 그중 60%는 악용되면 치명적 피해를 줄 수 있는 수준의 취약점이다. 전년 대비 20% 증가다. 전체 결함 보유 앱 비율(78%)이나 오픈소스 취약점 비율(62%)이 약간 줄었다는 사실이 오히려 아이러니하다. 개별 결함은 줄어드는데, 수정되지 않는 결함은 더 쌓이고 있다. 새 결함이 만들어지는 속도가 고치는 속도를 앞서고 있다는 뜻이다.
Veracode의 최고 보안 전도사(Chief Security Evangelist) Chris Wysopal은 상황을 이렇게 요약했다. "소프트웨어 개발 속도가 급등했다. 결함 생성 속도가 현재의 수정 역량을 추월하고 있다."
가장 위험한 취약점의 66%는 내 코드가 아니다

보고서에서 특히 눈길을 끄는 통계가 있다. 가장 위험하고 오래된 취약점의 **66%**가 서드파티 라이브러리와 오픈소스 의존성에서 발생한다는 것이다. 내가 작성한 코드가 아니라 내가 가져다 쓴 코드가 문제의 근원인 경우가 3분의 2다.
이건 AI 코딩 시대에 더 심각한 문제가 된다. AI는 코드를 생성할 때 기존 라이브러리를 적극적으로 가져다 쓴다. npm install, pip install을 남발한다. AI가 추천한 패키지가 보안 업데이트를 받지 못하는 방치된 프로젝트일 수 있다. 혹은 이미 알려진 취약점이 있는 버전을 사용할 수 있다. AI는 "최신이고 안전한 대안이 있는지" 확인하지 않는다. 학습 데이터에 있던 인기 패키지를 그대로 추천할 뿐이다.
Apiiro의 Fortune 50 기업 대상 연구도 이를 뒷받침한다. AI가 생성한 코드에서 권한 상승 경로가 322% 더 많이 발견됐다. 설계 결함은 153% 더 많았다. 비밀 정보(secrets) 노출은 40% 증가했다. CVSS 7.0 이상의 고위험 취약점은 AI 코드에서 2.5배 더 자주 나타났다.
추론 모델이 유일한 희망인가
2025년 10월, Veracode는 최신 모델들의 보안 성능을 업데이트했다. 결과는 흥미롭다.
| 모델 | 보안 통과율 |
|---|---|
| GPT-5 Mini (추론 모델) | 72% |
| GPT-5 (추론 모델) | 70% |
| GPT-5-chat (비추론 모델) | 52% |
| Claude Sonnet 4.5 (Anthropic) | 50% |
| Claude Opus 4.1 (Anthropic) | 49% |
| 기타 모델 (Google, Qwen, xAI) | 50~59% |
GPT-5의 추론 모델이 72%로 가장 높은 보안 통과율을 기록했다. 같은 GPT-5라도 추론(reasoning) 기능이 있는 버전과 없는 버전의 차이가 18~20%포인트에 달한다. 추론 모델이 "코드를 내부적으로 검토하는" 과정을 거치기 때문으로 분석된다. 일종의 자동 코드 리뷰를 하는 셈이다.
하지만 72%가 최고치라는 건, 여전히 10개 중 3개는 취약한 코드를 생산한다는 뜻이다. 비추론 모델들은 모델 크기나 훈련 방식과 무관하게 50% 전후에서 정체되어 있다. Anthropic의 모델은 4.1에서 4.5로 버전이 올라갔는데 보안 성능이 오히려 소폭 하락했다. Veracode는 "의미 있는 보안 개선을 보인 것은 추론 모델뿐"이라고 결론지었다.
수정 역량의 위기, 만드는 속도를 못 따라간다

보고서의 핵심 메시지는 단순하다. 취약점이 만들어지는 속도가 고쳐지는 속도를 넘어섰다. The Register는 이를 "AI 시대의 개발 속도는 포괄적 보안을 달성 불가능하게 만든다"고 표현했다.
이건 추상적인 경고가 아니다. 구체적인 숫자로 확인된다. Apiiro의 연구에 따르면 Fortune 50 기업에서 AI 관련 새로운 보안 발견 사항이 2024년 12월 대비 2025년 6월에 10배 증가했다. 월 1만 건의 새로운 보안 이슈가 쏟아지고 있다. 스웨덴의 Lovable 플랫폼에서 바이브코딩으로 만들어진 1,645개 앱 중 170개(10.3%)가 실제로 악용 가능한 취약점을 가지고 있었다.
Chris Wysopal이 제시한 프레임워크는 "Prioritize, Protect, Prove"다. 첫째, 전체 결함의 **11.3%**에 해당하는 실제 위험이 되는 취약점에 집중하라. 둘째, 자동화된 수정 도구로 규모 있게 대응하라. 셋째, 보안 태세가 규제 요건을 충족함을 증명하라.
78%의 앱에 결함이 있지만, 실제로 위험한 건 11.3%다. 제한된 자원으로 모든 결함을 다 고칠 수는 없다. 가장 위험한 결함부터 잡는 것이 현실적 전략이라는 뜻이다.
숙취 해소법은 있는가
AI 코딩의 숙취는 이제 시작이다. 더 빨리 코드를 만들수록, 더 많은 취약점이 쌓인다. 이 속도에 보안 수정이 따라가지 못하면 부채는 눈덩이처럼 불어난다.
아이러니한 건, AI가 문제이면서 동시에 해결책이기도 하다는 점이다. 취약점을 만드는 것도 AI고, 자동으로 수정하는 것도 AI가 될 수밖에 없다. 추론 모델이 보안에서 유일하게 의미 있는 개선을 보였다는 사실은, 앞으로의 방향을 암시한다. "빠르게 생성하고, 빠르게 검증하고, 빠르게 수정하는" 파이프라인이 아니면 AI 코딩 시대의 보안은 답이 없다.
하지만 현재 대부분의 팀은 이 파이프라인을 갖추지 못했다. AI로 코드를 생성하면서, 보안 검증은 기존의 수동 리뷰에 의존하는 팀이 대다수다. 생산 속도는 10배로 올렸는데, 보안 체크 속도는 그대로인 셈이다. 82%라는 보안 부채 비율은 이 격차의 결과다.
코드 생성 AI를 도입했다면, 코드 보안 AI도 함께 도입해야 한다. 생산성의 파티만 즐기고 보안의 계산서는 나중에 치르겠다는 전략은 통하지 않는다. 160만 앱의 데이터가 그걸 말해주고 있다.
출처