설정 완료, 이제 당신은 위험에 처했습니다: AI 코딩 에이전트를 대상으로 하는 설정 지침 무기화
요약
AI 코딩 에이전트가 프로젝트 설정 과정에서 발생하는 공급망 공격 취약점을 분석했습니다. 공격자는 README나 requirements 파일만 수정하여 신뢰할 수 없는 레지스트리나 취약한 패키지를 설치하도록 유도할 수 있습니다. 이 문제는 모델 자체보다 '에이전트 하니스-모델 조합'의 보안 설계에 달려있으며, 결정론적 사전 설치 확인이 가장 효과적인 방어책입니다.
핵심 포인트
- AI 코딩 에이전트는 설정 문서가 코드 실행 벡터가 되는 공급망 공격에 취약합니다.
- 보안은 모델 자체보다 '하니스-모델 조합'의 설계에 의존합니다.
- 오타 스쿼트(typosquats)는 잡아내지만, 그럴듯한 이름 혼동 등은 놓칠 수 있습니다.
- 출처 기반 공격이나 레지스트리 리디렉션은 대부분의 에이전트가 방어하지 못하는 사각지대입니다.
AI 코딩 에이전트는 문서(documentation)를 읽고 나열된 종속성(dependencies)을 설치함으로써 프로젝트를 설정합니다. 이 과정에서 이름, 출처 또는 알려진 취약점을 검증하지 않습니다. 공격자는 README, requirements 파일 또는 Makefile만 수정하여 에이전트를 신뢰할 수 없는 레지스트리(untrusted registry), 알려진 취약 버전 또는 틀렸지만 그럴듯한 이름으로 유도할 수 있습니다: 문서가 코드 실행의 벡터(vector)가 됩니다. 우리는 일반적인 프로젝트 설정 문서를 통해 전달되는 패키지 설치 시점 공급망 공격에 대한 최초의 체계적인 평가를 제시합니다. 이 평가는 실제 코딩 에이전트 하니스(harnesses)에서 진행되었으며, 문서화된 사건들을 기반으로 5가지 공격 클래스 중 12가지 시나리오에서 최신 모델들(frontier models)을 테스트했습니다. 동일한 모델이 한 하니스를 통해 공격을 포착하고 다른 하니스를 통해 설치하는 경우도 있었습니다: 설치 시점 보안은 모델 자체에 의존하는 것이 아니라, 하니스-모델 조합에 달려 있습니다. 에이전트는 명백한 오타 스쿼트(typosquats)는 안정적으로 잡아내지만, 그럴듯한 구분자 혼동 이름(separator-confusion names) (예: azurecore 대신 azure-core)은 통과하는 경우가 있으며, 이는 하니스-모델 쌍에 따라 달라집니다. 레지스트리 리디렉션 같은 출처 기반 공격은 거의 모든 곳에서 놓쳤습니다. 이 출처의 사각지대는 npm과 Cargo에서 반복적으로 나타나며, 거의 모든 모델이 신뢰할 수 없는 종속성을 설치합니다; 이름 감지는 생태계 전반에 걸쳐 일관성 있게 적용되지 않습니다. 보안 지향적인 프롬프트는 격차의 일부를 회복하지만, 언급된 차원(dimension)에 대해서만 그렇습니다. 어떤 코드가 실행되기 전에 이름, 출처 및 버전을 검증하는 결정론적 사전 설치 확인(deterministic pre-install check)이 대부분의 격차를 메웁니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기