본문 바로가기
카테고리 없음

AI 코드 보안 (취약점, 파이프라인, 자동화)

by IT적응기 2026. 6. 8.

AI 코드 보안 (취약점, 파이프라인, 자동화) 참조 이미지
AI 코드 보안

AI가 작성한 코드는 사람보다 안전할 것이라고 생각하시는 분들이 많습니다. 저도 한때 그렇게 믿었습니다. 그런데 실제로 팀에 AI 코드 생성 비율이 50%를 넘어서면서, 보안 리뷰가 오히려 더 어려워지는 아이러니를 경험했습니다. AI가 짠 코드라는 이유로 내용보다 출처가 먼저 의심받는 상황, 그리고 그 의심이 때로는 틀리지 않았다는 사실을 이 글에서 풀어보겠습니다.

AI 코드의 취약점, 모델이 발전해도 왜 그대로인가

100개 이상의 LLM을 대상으로 80개의 실제 코딩 작업을 분석한 결과, AI가 생성한 코드의 45%가 OWASP Top 10 취약점을 하나 이상 포함하고 있다는 것이 확인됐습니다. 여기서 OWASP Top 10이란 Open Web Application Security Project가 매년 선정하는 웹 애플리케이션의 대표적인 보안 취약점 목록으로, 업계에서 보안 기준선으로 통용되는 지표입니다(출처: Veracode).

저를 더 놀라게 한 것은 이 수치가 모델 세대를 거쳐도 유의미하게 나아지지 않는다는 점이었습니다. GPT-4에서 GPT-5로, 그리고 최신 Claude나 Gemini로 넘어가도 45%라는 비율은 크게 달라지지 않았습니다. 일반적으로 모델이 발전하면 코드 품질도 함께 좋아질 것이라고 알려져 있지만, 보안만큼은 그 공식이 통하지 않는 것으로 보입니다.

취약점 유형별로 보면 실패율의 격차가 상당합니다. Log Injection(CWE-117), 쉽게 말해 로그 파일에 악성 데이터를 삽입하여 로그를 조작하거나 시스템을 공격하는 취약점의 실패율은 88%에 달했습니다. Cross-Site Scripting(CWE-80), 즉 공격자가 웹 페이지에 악성 스크립트를 주입해 다른 사용자의 브라우저에서 실행되도록 하는 취약점의 실패율도 86%였습니다. SQL Injection 역시 다수의 케이스에서 발견됐고, 언어별로는 Java가 72%로 가장 높은 실패율을 기록했습니다.

이 수치를 보면서 제가 내린 결론은 하나였습니다. LLM은 "동작하는" 코드를 생성하도록 최적화되어 있을 뿐, "보안적으로 안전한" 코드를 생성하도록 훈련되어 있지 않다는 것입니다. 이건 모델 능력의 한계가 아니라, 생성 방식 자체의 구조적인 문제로 보입니다.

실제 사고가 파이프라인을 만들었다

저희 팀에서 처음 도입한 것은 SAST(정적 애플리케이션 보안 테스팅)였습니다. SAST란 코드를 실제로 실행하지 않고, 소스코드 자체를 분석하여 보안 취약점을 찾아내는 방식입니다. 도구로는 Semgrep을 선택했고, GitHub Actions에 연결해 PR이 열릴 때마다 자동으로 분석이 돌아가도록 설정했습니다.

초기에는 예상치 못한 문제가 생겼습니다. False Positive, 즉 실제로는 문제가 없는데 취약점으로 잘못 감지하는 경우가 너무 많았습니다. 팀원들이 경보를 아예 무시하기 시작했고, 저는 규칙 세트를 손보는 데만 2주를 썼습니다. 결국 OWASP 상위 10개 룰셋만 엄격히 적용하고, 나머지는 경고 수준으로 낮추는 방식으로 타협점을 찾았습니다.

진짜 사고는 그 이후에 터졌습니다. AI가 생성한 Python 코드에서 subprocess 호출 시 사용자 입력을 검증 없이 문자열로 그대로 연결하는 코드가 머지됐습니다. OS 커맨드 인젝션이라고 불리는 이 취약점은 공격자가 시스템 명령어를 임의로 실행할 수 있게 만드는 심각한 결함입니다. Semgrep이 분명히 감지했는데, 리뷰어가 False Positive로 오판하고 넘어간 것이었습니다. 이 사건 이후 저희 팀은 특정 심각도 이상의 취약점은 리뷰어 승인과 무관하게 자동으로 머지를 차단하는 정책을 도입했습니다. 사람의 판단이 개입할 여지를 아예 없앤 것입니다.

세 번째 경험은 시크릿 스캐닝이었습니다. 팀원 한 명이 AI에게 "API 키 값 예시를 넣어서 코드를 작성해줘"라고 요청했고, AI가 그럴듯한 형태의 가짜 API 키를 생성해 코드에 삽입했습니다. 그 코드가 그대로 커밋됐고, 다행히 Gitleaks가 감지했습니다. 실제 키가 아니었기에 망정이지, 만약 진짜였다면 자격증명 노출로 이어질 뻔했습니다. AI는 패턴이 그럴듯한 문자열을 만드는 데 탁월하기 때문에, 오히려 스캐너를 속이기 쉬운 구조라는 점이 무서웠습니다.

보안 파이프라인을 자동화하는 8가지 게이트

현재 저희 팀이 운영 중인 파이프라인은 다음과 같습니다.

  • SAST(정적 분석): Semgrep, SonarQube를 통해 코드 커밋 전 자동 스캔
  • DAST(동적 분석): 실제 실행 환경에서 런타임 취약점을 탐지하는 방식
  • SCA(소프트웨어 구성 분석): 사용하는 오픈소스 라이브러리의 알려진 취약점과 라이선스 문제를 검사
  • 시크릿 스캐닝: GitGuardian, Gitleaks로 하드코딩된 패스워드나 API 키를 감지
  • IaC 보안 스캐닝: Terraform, CloudFormation 같은 인프라 코드의 설정 오류를 탐지
  • 컨테이너 이미지 스캐닝: Trivy, Snyk Container로 배포 이미지의 취약점 점검
  • OWASP 의존성 체크: 사용 중인 라이브러리가 OWASP에서 관리하는 알려진 취약점 목록에 해당하는지 확인
  • AI 특화 프롬프트 인젝션 방어 레이어: AI가 생성한 코드에 삽입된 악의적 명령이 실행되지 않도록 방어하는 추가 레이어

이 파이프라인을 구축한 이후 보안 관련 재작업 비용이 이전 대비 약 60% 감소했습니다. 수치만큼이나 체감도 달라졌는데, 보안 리뷰에서 "이거 AI가 짠 코드지?"라는 질문 대신 "Semgrep에서 뭐 잡혔어?"가 더 자주 나오게 됐습니다.

AI 지원 개발자들이 기존 대비 3~4배 빠른 속도로 커밋을 생성하지만 보안 발견 건수는 10배 증가했다는 연구 결과가 있습니다(출처: Cloud Security Alliance). 속도가 빨라졌지만 검증이 따라가지 못하는 구조입니다. 자동화 도구가 취약점의 77%를 탐지할 수 있음에도 전체 조직의 12%만이 AI 생성 코드에 일관된 보안 테스트를 적용하고 있다는 것은, 대다수 팀이 사실상 무방비 상태라는 의미입니다.

저희 팀은 여기에 더해 AI 생성 코드임을 표시하는 커밋 태그 컨벤션을 도입했습니다. 리뷰어가 AI 코드라는 사실을 인지하고 보안 리뷰에 더 집중하도록 유도하기 위해서입니다. 이건 도구보다 문화의 영역이지만, 생각보다 효과가 있었습니다.

결국 AI 코드의 보안 문제는 AI가 나쁜 게 아니라, 검증 없이 믿는 것이 문제입니다. 파이프라인은 AI를 불신하는 수단이 아니라, AI의 속도를 안전하게 유지하는 장치입니다. 팀에서 AI 코드 비율이 높아지고 있다면, 지금 당장 Semgrep 하나라도 PR에 걸어두는 것부터 시작하시길 권합니다. 작은 게이트 하나가 나중에 얼마나 큰 사고를 막는지, 저는 직접 경험했습니다.


참고:
Veracode. (2025). GenAI Code Security Report. https://www.veracode.com/blog/ai-generated-code-security-risks/
Cloud Security Alliance AI Safety Initiative. (2026.04.04). CSA Research Note: AI-Generated Code Vulnerability Surge 2026. https://labs.cloudsecurityalliance.org/research/csa-research-note-ai-generated-code-vulnerability-surge-2026/
SQ Magazine. (2026.04.13). AI Coding Security Vulnerability Statistics 2026. https://sqmagazine.co.uk/ai-coding-security-vulnerability-statistics/
Ardura Consulting. (2026.02.27). AI Generated Code Security 2026. https://ardura.consulting/blog/ai-generated-code-why-45-percent-copilot-code-contains-security-vulnerabilities/
SoftwareSeni. (2026.02.17). AI-Generated Code Security Risks: Why Vulnerabilities Increase 2.74x. https://www.softwareseni.com/ai-generated-code-security-risks-why-vulnerabilities-increase-2-74x-and-how-to-prevent-them/
FutureCISO. (2025.08.18). CISO alert: AI code vulnerabilities on the rise. https://futureciso.tech/ciso-alert-ai-code-vulnerabilities-on-the-rise/
Vibe Coder Blog. (2026.04.05). Security Researchers Sound the Alarm on AI Code Vulnerabilities. https://blog.vibecoder.me/security-researchers-ai-code-vulnerability-crisis


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 깜짝,황금이 아빠 IT적응기

서치어드바이저