테크 경제

AI 에이전트 보안 위험, Cursor나 Copilot 쓰면 내 코드 털릴 수 있나

AI 에이전트 보안 위험, Cursor나 Copilot 쓰면 내 코드 털릴 수 있나

Cursor나 Copilot으로 코드 짰는데, 그게 공격당할 수 있다고 하면 믿어지나요?

2026년 9월, 보안 연구자들이 공개한 공격 기법 하나가 개발자 커뮤니티를 뒤흔들었어요. 악성 .git 설정 파일 하나로 Claude Code, Cursor, GitHub Copilot 같은 AI 코딩 에이전트가 공격자 코드를 그대로 실행할 수 있다는 거예요. 그렇다면 이 툴들, 쓰면 안 되는 걸까요? 그보다 먼저 뭘 조심해야 하는지 데이터 기반으로 짚어볼게요.


핵심 요약

  • 악성 .git 설정 파일을 통한 AI 에이전트 코드 실행 공격이 2026년 9월 공개됐으며, Cursor, Claude Code, GitHub Copilot 모두 영향을 받아요.
  • Lorikeet Security의 분석에 따르면 GitHub Copilot을 쓰는 개발자는 수동 코딩보다 취약점을 더 많이 만들고, 리뷰 단계에서 발견할 가능성도 더 낮아요 (Stanford 연구).
  • AI가 생성한 코드의 가장 흔한 취약점 다섯 개는 SQL 인젝션, IDOR, 하드코딩된 시크릿, 클라이언트 전용 입력 검증, 와일드카드 CORS예요.
  • 모델 자체의 문제라기보다 퍼미션 설계와 개발자의 프롬프트 방식이 위험 수위를 결정해요.
  • 자동화 스캐닝 파이프라인(Semgrep + CodeQL + Snyk)을 PR마다 돌리면 AI 생성 코드의 보안 리스크를 절반 이상 줄일 수 있어요.

AI 코딩 툴, 얼마나 퍼졌나

AI 코딩 에이전트의 확산 속도는 지금 체감하는 것보다 빨라요. 2026년 기준 AI 코딩 에이전트가 개발 생산성을 300% 이상 끌어올렸다는 분석도 나와요. GitHub Copilot은 이미 수백만 명의 개발자 일상에 들어와 있고, Cursor는 VS Code 기반 에디터 시장에서 빠르게 자리를 잡았죠.

문제는 속도가 빠를수록 보안 검토가 뒤처진다는 거예요. 탭 한 번이면 코드 한 블록이 생성되는 시대에, 그 코드가 안전한지 확인하는 사람은 많지 않아요. 그리고 바로 그 틈새를 공격자들이 노리기 시작했어요.

2026년 9월, The Hacker News를 포함한 복수의 보안 미디어가 거의 동시에 같은 공격 기법을 보도했어요. .git/config 파일에 악성 훅(hook)을 심어두면, AI 에이전트가 해당 레포지토리를 읽는 순간 공격자 코드가 자동 실행된다는 내용이었어요. Claude Code, Codex, Cursor 모두 해당됐어요. 툴이 다양해질수록 공격 표면도 그만큼 넓어진다는 걸 보여주는 사례예요.


위험의 세 가지 얼굴

1. .git 설정 파일을 통한 에이전트 하이재킹

가장 최근에 터진 이슈예요. 공격자가 악성 .git/config를 포함한 레포지토리를 공개해두면, AI 에이전트가 프로젝트를 클론하거나 분석하는 과정에서 해당 설정이 실행돼요.

여기서 핵심은 AI 에이전트의 ‘자율성’이에요. 기존 코드 자동완성 도구는 파일을 읽기만 했지만, 최신 에이전트는 파일 시스템에 접근하고, 명령을 실행하고, 외부 리소스를 가져오는 권한을 가져요. 이 권한이 넓을수록 .git/config 같은 공격 벡터의 피해 범위도 커져요.

오픈소스 기여자나 외부 레포를 자주 클론하는 개발자라면 지금 당장 점검이 필요해요.

2. AI가 태생적으로 ‘불안전한 코드’를 선호하는 이유

AI 모델은 기능적으로 작동하는 코드를 우선시해요. 보안보다 완성도를요. 모델이 학습한 공개 레포지토리에서 파라미터화된 쿼리보다 문자열 연결 방식의 SQL이 통계적으로 더 많이 등장하거든요. 모델은 “더 흔한 것"을 학습해요. 결과적으로 SQL 인젝션에 취약한 코드가 자연스럽게 출력되는 거예요.

Stanford 연구 결과는 더 냉정해요. Copilot을 쓰는 개발자는 수동 코딩보다 취약점을 더 많이 만들고, 코드 리뷰 단계에서 이를 발견할 가능성도 더 낮았어요. 탭 한 번으로 넘긴 코드를 다시 보는 사람이 드물다는 게 현실이에요.

3. 툴마다 다른 보안 프로파일

툴이 다르면 위험의 모양도 달라요.

비교 항목GitHub CopilotCursorClaude Code
기본 보안 성향낮음 (학습 데이터 편향)기존 코드베이스 상속상대적으로 방어적
주요 취약점하드코딩 시크릿, JWT 혼동, 오픈 리다이렉트입력 검증 누락, CORS, 인가 허점프롬프트에 속도 강조 시 보안 설명 생략
.git 공격 노출있음있음있음
위험 완화 난이도중간코드베이스 품질에 따라 가변프롬프트 설계로 상당 부분 제어 가능

Copilot은 탭 한 번에 수락 가능한 UX 탓에 검토 없이 넘어가는 경우가 많아요. Cursor는 기존 코드베이스를 그대로 배우기 때문에, 코드 품질이 낮으면 낮은 대로 학습해요. Claude Code는 셋 중 가장 방어적으로 설계됐지만, “빠르게 프로토타입 만들어줘” 같은 프롬프트를 받으면 보안 검토가 빠져요.


실제로 어떻게 막나: 개발팀을 위한 체크리스트

공격 벡터가 여러 개라면 방어도 계층별로 해야 해요. 다층 방어 체계를 실전용으로 풀면 이래요.

레이어 1 — 프롬프트 단계

  • “OWASP Top 10 기준으로 작성해줘"를 기본 시스템 프롬프트에 넣어요
  • “빠르게”, “간단하게” 같은 표현이 들어가면 보안 설명이 빠질 가능성이 올라가요
  • Prepared Statement, 입력 sanitization 요구사항을 명시적으로 포함해요

레이어 2 — 자동화 스캐닝 파이프라인

  • Semgrep: eval() 사용, 하드코딩된 시크릿 패턴 감지
  • CodeQL: SQL 인젝션, Path Traversal 탐지 (GitHub 네이티브)
  • Snyk Code: IDE 레벨 실시간 탐지

PR마다 이 세 개를 GitHub Actions로 순차 실행하면 AI 생성 코드의 보안 사각지대를 크게 줄여요.

레이어 3 — .git 공격 대응 (2026년 신규)

  • 외부 레포 클론 전 .git/config 직접 확인
  • AI 에이전트에 부여하는 파일 시스템 권한을 최소화
  • 신뢰하지 않는 레포는 에이전트가 직접 실행하지 않도록 정책 수립

레이어 4 — AI-on-AI 리뷰 코드 생성 AI와 리뷰 AI를 분리하는 방식이에요. Cursor로 코드를 만들고, Claude Opus에게 OWASP Top 10 기준으로 리뷰를 돌리는 식이에요. 2026년 기준 일부 팀에서 실제 도입하고 있어요.


앞으로 6개월, 뭐가 바뀌나

지금 흐름에서 주시할 신호 세 가지예요.

  • 퍼미션 모델 표준화: .git 공격 이후, AI 에이전트가 어느 범위까지 시스템에 접근할 수 있는지에 대한 산업 표준 논의가 속도를 낼 가능성이 커요. Anthropic, GitHub, Cursor 팀 모두 이 주제를 피할 수 없어요.
  • IDE 레벨 보안 게이트: VS Code, JetBrains 같은 IDE가 AI 제안 코드에 자동 보안 스캔을 내장하는 방향으로 움직일 거예요. Snyk과 GitHub의 통합 강화가 그 시작이에요.
  • 기업용 AI 코딩 툴의 분화: 개인 개발자용과 엔터프라이즈용 제품이 보안 설계부터 다르게 가는 흐름이 나타날 거예요.

AI 코딩 툴은 생산성 도구인 동시에 새로운 공격 표면이에요. Cursor나 Copilot을 쓴다고 코드가 무조건 털리는 건 아니에요. 퍼미션 설계와 프롬프트 방식이 위험 수위를 결정해요. 지금 당신 팀의 AI 에이전트가 어떤 권한을 갖고 있는지, 한 번이라도 확인해본 적 있나요?

참고자료

  1. Malicious .git Configs Can Make Claude, Codex, Cursor, and Other AI Agents Run Attacker Code
  2. Malicious .git Configs Can Make Claude, Codex, Cursor, and Other AI Agents Run Attacker Code - CiBRA
  3. Malicious .git Configs Can Make Claude, Codex, Cursor, and Other AI Agents Run Attacker Code

Photo by Igor Omilaev on Unsplash