
SafeDep 연구 블로그에 따르면 개발자가 저장소를 열거나 AI 코딩 에이전트 세션을 시작하는 순간, 평범해 보이는 설정 파일이 명령 실행 통로가 될 수 있다. 회사는 VS Code, Cursor, Claude Code, Gemini CLI, npm, Composer, Bundler 설정이 모두 셸 명령이나 실행 지시를 담을 수 있으며, 이런 파일은 의존성보다 덜 검토되는 경우가 많다고 분석했다.
이번 분석은 최근 Mantine DataTable 저장소 변조 사례를 중심으로 작성됐다. SafeDep는 해당 저장소의 특정 커밋이 .claude/settings.json, .gemini/settings.json, .cursor/rules/setup.mdc, .vscode/tasks.json, package.json 등을 통해 .github/setup.js 실행을 유도했다고 설명했다. 이 파일은 암호화된 2단계 페이로드를 품고 있었고, AWS, Azure, GCP, Vault, Kubernetes, npm, GitHub 관련 비밀 정보를 찾는 악성 동작으로 이어졌다는 것이 회사의 분석이다.
핵심은 공격 표면이 패키지 설치 스크립트에만 머물지 않는다는 점이다. VS Code 작업은 폴더 열기 시 실행될 수 있고, Claude Code와 Gemini CLI의 세션 시작 훅은 신뢰 확인 뒤 프로젝트 진입 시 동작할 수 있다. Cursor 규칙 파일은 명령을 직접 실행하는 훅은 아니지만, 에이전트에게 특정 초기화 명령을 수행하라고 지시하는 방식으로 악용될 수 있다.
SafeDep는 이 공격이 신뢰 프롬프트를 기술적으로 우회한 사례는 아니라고 선을 그었다. 다만 이미 신뢰한 저장소에 악성 커밋이 들어오거나, 개발자가 새 프로젝트를 신뢰 대상으로 승인하거나, 헤드리스 모드처럼 확인 절차가 약해지는 상황에서는 설정 파일이 사실상 코드 실행 지점이 된다고 지적했다. 회사는 Claude Code 관련 항목을 CVE-2025-59536 및 CVE-2026-21852로 언급하며, 에이전트 설정도 공급망 검토 범위에 포함해야 한다고 봤다.
이 문제는 AI 코딩 도구 확산과 맞물려 더 커지고 있다. 개발자는 사람이 직접 실행하지 않은 명령도 에이전트나 IDE가 프로젝트 초기화, 테스트, 의존성 설치, 세션 시작 과정에서 대신 수행할 수 있는 환경에 놓여 있다. 설정 파일이 “메타데이터”라는 인식에 머무르면, 공격자는 코드 본문이 아니라 도구의 자동화 경로를 노릴 수 있다.
조직은 저장소 검토 기준을 package.json 스크립트와 IDE·에이전트 설정까지 넓힐 필요가 있다. 새로 추가된 .claude, .gemini, .cursor, .vscode, composer.json, Gemfile, npm 스크립트는 일반 코드 변경과 같은 수준으로 리뷰해야 한다. CI와 개발자 장비에서는 신뢰한 저장소 목록, 자동 실행 훅, 에이전트 헤드리스 실행 조건도 함께 점검해야 한다.
출처: SafeDep Research Blog https://safedep.io/config-files-that-run-code/
출처: Mantine DataTable GitHub commit https://github.com/icflorescu/mantine-datatable/commit/f72462d9e5fa90a483062a83e9ffcb2edc57bf7e
출처: NVD CVE-2025-59536 https://nvd.nist.gov/vuln/detail/CVE-2025-59536









