Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ai-ide-config-guard — Claude Code 훅, Cursor 규칙, MCP 자동 등록을 통해 RCE를 유발할 수 있는 AI-IDE 구성 파일을 리포지토리에서 스캔합니다. CVE-2025-59536, CVE-2026-21852, CVE-2026-30615 및 Pillar Rules File 백도어 패턴을 탐지합니다. | Kitploit
도구/GitHubGitHub/trerb/ai-ide-config-guard
Static AnalysisVulnerability ScannersCode AnalysisThreat IntelligenceSupply Chain SecurityMisconfigurationLearning & Education
GitHubtrerb/ai-ide-config-guard

ai-ide-config-guard

Claude Code 훅, Cursor 규칙, MCP 자동 등록을 통해 RCE를 유발할 수 있는 AI-IDE 구성 파일을 리포지토리에서 스캔합니다. CVE-2025-59536, CVE-2026-21852, CVE-2026-30615 및 Pillar Rules File 백도어 패턴을 탐지합니다.

저장소 보기
4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

valtik-ai-ide-config-guard

저장소를 스캔하여 AI-IDE 구성 파일을 탐지합니다. 이 파일들은 저장소를 Claude Code, Cursor, Windsurf, Continue 또는 모든 VS Code 포크에서 열 때 RCE, 자격 증명 탈취, 개발자 머신의 지속적 침해를 유발할 수 있습니다.

2026년 4월 AI-IDE 공개(disclosure) 물결에 대응하여 제작되었습니다:

  • CVE-2025-59536 / CVE-2026-21852 — Claude Code settings.json의 SessionStart / PreToolUse / PostToolUse / UserPromptSubmit 훅이 작업공간을 열 때 임의의 셸 명령을 실행합니다.
  • CVE-2026-30615 — Windsurf config-write RCE 클래스.
  • Pillar Security — Rules File Backdoor (2026) — .cursorrules / .windsurfrules / .github/copilot-instructions.md / .continue/*.md 내부에 유니코드로 은닉된 지침 — 인간 검토자로부터 공격자의 지시를 숨깁니다.
  • ANTHROPIC_BASE_URL / OPENAI_BASE_URL / OPENAI_API_BASE 리다이렉션 — 공격자가 제어하는 엔드포인트로의 프롬프트 + API 키 유출.
  • mcp.json / .mcp.json / .cursor/mcp.json / .claude/mcp.json을 통한 MCP 서버 자동 등록 — 임의의 command stdio 호출 포함.
  • 작업공간을 열 때 .vscode/tasks.json 자동 실행.

AI 기반 편집기에서 열기 전에 복제하는 모든 타사 저장소에서 실행하세요.


설치

설치 불필요 — npx 사용:

root@kitploit:~
npx valtik-ai-ide-config-guard <path>

또는 전역 설치:

root@kitploit:~
npm i -g valtik-ai-ide-config-guard
ai-ide-config-guard <path>

Node 20+ 필요.


사용법

root@kitploit:~
$ npx valtik-ai-ide-config-guard ./my-cloned-repo

실패 임계값 지정 (CI용):

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --fail-on high

JSON 출력:

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --json > report.json

SARIF 2.1.0 (GitHub 코드 스캐닝용):

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --sarif > report.sarif

일부 검사만 실행:

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --checks G1,G3,G5

전체 플래그 목록: npx valtik-ai-ide-config-guard --help.


검사 항목

G1 — Claude Code 훅이 셸을 실행

.claude/settings.json을 찾아 hooks.SessionStart / hooks.PostToolUse / hooks.PreToolUse / hooks.UserPromptSubmit (및 관련 라이프사이클 이벤트)를 파싱합니다. 항목이 command 문자열을 설정하거나 (그룹화된 문법 내 type: "command" 포함) 발견되면 CRITICAL로 판정합니다 — Claude Code에서 저장소를 열면 개발자의 셸 환경, SSH 키, 토큰이 포함된 상태로 명령이 실행됩니다.

G2 — 규칙 파일 유니코드 밀반입

.cursorrules, .cursor/rules/*.md[c], .windsurfrules, .windsurf/rules/*.md[c], .github/copilot-instructions.md, .continue/*.md에서 다음을 검사합니다:

  • 양방향 재정의 / 임베딩 / 격리 문자 (U+202A–U+202E, U+2066–U+2069)
  • 제로폭 문자 (U+200B, U+200C, U+200D, U+2060, U+FEFF, U+180E, U+00AD)
  • 유니코드 태그 블록 (U+E0000–U+E007F) — 인간에게 보이지 않는 토큰 밀반입 공간
  • 그 외에는 ASCII로만 구성된 단어에 섞인 키릴 문자 호모글리프 (а/е/о/р/с/х/у/…)
  • 명령형 역할 재정의 패턴 (ignore previous, from now on, system: 등)

순수 키릴 문자 텍스트, 이모지, 파일 시작 부분의 BOM은 무시합니다 — 인간 검토자로부터 내용을 숨기는 것만 플래그합니다.

G3 — MCP 자동 등록

mcp.json, .mcp.json, .claude/mcp.json, .cursor/mcp.json, .windsurf/mcp.json, .vscode/mcp.json, .continue/config.json을 파싱합니다. 등록된 각 서버에 대해:

  • command가 src/fixtures/known-malicious-mcp.json과 일치하면 → CRITICAL
  • command가 로컬 바이너리이면 → HIGH
  • command가 검증되지 않은 패키지를 가져오는 npx / uvx / pipx이면 → MEDIUM
  • url이 https가 아니면 → MEDIUM
  • url이 localhost / LAN을 가리키면 → MEDIUM

G4 — VS Code 작업 자동 실행

runOptions.runOn: "folderOpen"이 설정된 모든 작업을 플래그합니다. 명령이 셸 인터폴레이션(curl | sh, wget | bash, eval, base64 -d, 백틱, $(...))을 사용하거나 외부 URL을 참조하면 심각도가 상향됩니다.

G5 — API 기본 URL 리다이렉션

ANTHROPIC_BASE_URL, ANTHROPIC_API_URL / OPENAI_BASE_URL, OPENAI_API_BASE, OPENAI_API_URL을 찾기 위해 .env*, .claude/settings.json, .cursor/config.json, .vscode/settings.json 및 모든 mcp.json을 스캔합니다:

  • ANTHROPIC_BASE_URL, ANTHROPIC_API_URL
  • OPENAI_BASE_URL, OPENAI_API_BASE, OPENAI_API_URL

호스트가 표준 벤더 엔드포인트(api.anthropic.com / api.openai.com)가 아니면 CRITICAL로 판정합니다 — 모든 요청과 API 키가 공격자의 엔드포인트로 전송됩니다. 클라우드가 아닌 호스트(localhost, LAN IP)는 HIGH로 플래그됩니다.

G6 — 작업공간 신뢰

security.workspace.trust.enabled: false(또는 Cursor의 유사 설정)가 포함된 .vscode/settings.json을 플래그합니다. 이 설정은 자동 실행 동작을 차단하는 기본 게이트를 조용히 해제합니다.

G7 — 규칙 마크다운에 포함된 셸

규칙 .md / .mdc 파일에서 curl | sh, wget | bash, rm -rf, eval, base64 -d, python -c, /dev/tcp, 리버스 셸 mkfifo, chmod +x를 포함하는 펜스 코드 블록을 검사합니다. 주변 문장이 명령형("run this", "execute the following command")이면 심각도가 상향됩니다.

G8 — package.json 에이전트 스크립트

claude*, cursor*, windsurf*, mcp*, continue*, copilot*, aider*, cline* 이름의 스크립트에 대한 정보성 플래그입니다. 동일한 이름이 npm 라이프사이클 훅(preinstall, postinstall 등)과 충돌하면 HIGH — 라이프사이클 훅은 사용자 확인 없이 npm install 시 실행됩니다.


CI 통합

GitHub Actions:

root@kitploit:~
- name: AI-IDE config guard
  run: npx valtik-ai-ide-config-guard . --fail-on high

또는 SARIF 업로드:

root@kitploit:~
- run: npx valtik-ai-ide-config-guard . --sarif > ai-ide.sarif
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: ai-ide.sarif

제한 사항

  • 정적 분석, 시그니처 기반이며 보수적으로 동작합니다. 난독화된 페이로드나 새로운 벡터는 놓칠 수 있습니다. test/fixtures/safe/에서 제로 false positive를 유지하는 것이 설계 목표입니다 — 애매한 사례를 놓치더라도 사용자가 도구를 무시하는 습관이 생기게 하지 않겠다는 뜻입니다.
  • 어떤 것도 실행하거나 해석하지 않습니다 (npx 드라이 런 없음, URL 요청 없음).
  • DoS 방지를 위해 파일 읽기는 파일당 2MB로 제한됩니다.

참고 자료

  • CVE-2025-59536 (Claude Code 훅)
  • CVE-2026-21852 (Claude Code PostToolUse 훅)
  • CVE-2026-30615 (Windsurf config-write RCE)
  • Pillar Security — "Rules File Backdoor" (2026)
  • Valtik Studios — AI-IDE Security 2026 (출시 예정)

면책 조항

이 도구는 정적 분석 도구입니다. 검사 결과가 깨끗하다는 것은 "이 버전에 포함된 8가지 검사가 발동하지 않았다"는 뜻이지 "이 저장소를 AI-IDE에서 열어도 안전하다"는 뜻이 아닙니다. 직접 작성하지 않은 모든 저장소를 적대적으로 취급하고 작업공간 신뢰(workspace-trust), 훅 검토, MCP 검토를 수동으로 적용하세요.


MIT License — Copyright (c) 2026 Valtik Studios LLC.

도구 다운로드
IDSeverityWhat it catches
G1CRITICAL세션 / 도구 사용 이벤트에서 셸을 실행하는 Claude Code 훅
G2HIGH / MEDIUM규칙의 Bidi / 제로폭 / 태그 문자, 호모글리프 또는 역할 재정의 패턴
G3CRITICAL / HIGH / MEDIUM위험한 command 또는 url로 등록된 MCP 서버
G4HIGH / MEDIUMrunOn: folderOpen이 설정된 .vscode/tasks.json
G5CRITICAL / HIGH리다이렉션된 ANTHROPIC_BASE_URL / OPENAI_BASE_URL / OPENAI_API_BASE
G6HIGH / INFO작업공간 신뢰(workspace-trust) 비활성화, task.autoDetect: on
G7HIGH / MEDIUM규칙 마크다운 내 펜스 블록의 위험한 셸 패턴
G8HIGH / INFOAI 에이전트 이름을 딴 package.json 스크립트 (또는 설치 훅의 에이전트)