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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
guardskill — Git 설정을 스캔하여 저장소가 코딩 에이전트(Claude Code, Codex, Cursor, Copilot)에서 코드를 실행하도록 허용하는지 확인하는 읽기 전용 스캐너입니다. GitSpawn 클래스와 CVE-2026-45033을 다룹니다. 의존성 없음, 네트워크 없음, 원격 측정(텔레메트리) 없음. | Kitploit
도구/GitHubGitHub/soemoescode/guardskill
Static AnalysisVulnerability ScannersCode AnalysisConfiguration AuditingDevSecOpsSupply Chain SecurityAI Security
GitHubsoemoescode/guardskill

guardskill

Git 설정을 스캔하여 저장소가 코딩 에이전트(Claude Code, Codex, Cursor, Copilot)에서 코드를 실행하도록 허용하는지 확인하는 읽기 전용 스캐너입니다. GitSpawn 클래스와 CVE-2026-45033을 다룹니다. 의존성 없음, 네트워크 없음, 원격 측정(텔레메트리) 없음.

저장소 보기
7시간 2분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GuardSkill

코딩 에이전트가 폴더를 여는 순간 코드를 실행하게 만들 수 있는 저장소를 검사하는 도구입니다. GuardSkill은 그 전에 이를 확인합니다.

root@kitploit:~
npx guardskill .

읽기 전용입니다. 네트워크 호출 없음, 텔레메트리 없음, 설정 없음, 계정 없음. git 설정과 훅 스크립트를 읽고, 발견한 내용을 출력한 후 종료합니다.


문제

코딩 에이전트는 프로젝트를 여는 즉시 git status, git diff 같은 일반적인 git 명령을 실행하여 컨텍스트를 수집합니다. Git은 저장소 자체의 .git/config에서 설정을 읽으며, 그중 여러 설정은 git이 실행할 프로그램을 지정합니다. core.fsmonitor에 명령을 넣으면, 아무것도 입력하기 전에 샌드박스 밖에서 사용자의 권한으로 실행됩니다.

두 건의 공개 연구가 이를 구체적으로 보여줍니다:

  • GitSpawn — Manifold Security는 7개 코딩 에이전트(Claude Code, OpenAI Codex, Cursor, Goose, Grok Build, Qwen Code, Hermes Agent)에서 8건의 취약점을 보고했으며, 공개 시점에 여러 건이 아직 패치되지 않았습니다. 전달 방식에 대한 그들의 메모가 중요합니다: 악성 URL을 클론한다고 해서 트리거되지는 않습니다. .git/config는 클론으로 전송되지 않기 때문입니다. 저장소는 .git 디렉터리가 이미 포함된 파일 형태로 도착해야 합니다 — zip, 공유 드라이브, 동기화 폴더, USB 스틱, 아카이브를 푸는 에이전트 등. (, )
Manifold Security
The Hacker News
  • CVE-2026-45033 — GitHub Copilot CLI, CVSS 8.5. 프로젝트 트리 어디든 숨겨진 베어 저장소 하나면 충분합니다: git이 디렉터리를 탐색하면서 이를 발견하고 명령을 실행하는 키를 포함한 설정을 적용합니다. @github/copilot 1.0.43에서 safe.bareRepository=explicit을 강제하여 수정되었습니다. (GitHub Advisory)
  • 두 글 모두에서 권장하는 사용자 측 완화 조치는 동일합니다: 에이전트로 디렉터리를 열기 전에 git 설정을 검사하십시오. 트리 전체를 수작업으로 검사하는 것은 지루한 일입니다. 이 도구는 1초 만에 처리합니다.

    검사 항목

    GuardSkill은 트리를 탐색하여 에이전트가 가져올 수 있는 모든 git 설정을 찾습니다: 프로젝트 자체의 .git, 콘텐츠로 도착한 중첩 .git, 하위 디렉터리에 숨겨진 베어 저장소, 서브모듈이나 연결된 워크트리가 남기는 .git 파일, 그리고 git이 기본 설정 옆에 유지하는 설정 — config.worktree 및 모든 .git/modules/<name>/config. 각각이 검사됩니다.

    클래스검사 항목
    직접 실행 키core.fsmonitor, core.sshCommand, core.gitProxy, core.pager, core.editor, sequence.editor, diff.external, uploadpack.packObjectsHook
    간접 실행 키filter.*.clean / .smudge / .process, diff.*.textconv, merge.*.driver, mergetool.*.cmd, difftool.*.cmd, credential.helper
    셸 별칭값이 !로 시작하는 모든 alias.*
    다른 곳에서 로드된 설정include.path, includeIf.*.path
    훅core.hooksPath 재정의, .git/hooks의 활성(비-.sample) 스크립트, 실행 전에 다운로드를 셸로 파이프하거나 base64를 디코딩하는 훅 스크립트
    전송protocol.allow 및 protocol.<name>.allow가 always로 설정된 경우, 그리고 나머지 줄을 셸에 넘기는 ext:: 전송을 사용하는 모든 원격 또는 서브모듈 URL
    구조트리 내부의 베어 저장소(CVE-2026-45033 벡터), 등록된 서브모듈이 아닌 중첩 .git 디렉터리, 트리 내부의 git 디렉터리를 가리키는 .git 파일

    사용법

    root@kitploit:~
    npx guardskill .                      # 현재 프로젝트 스캔
    npx guardskill ~/code/some-project    # 특정 경로 스캔
    npx guardskill . --json               # 기계 판독 가능 형식
    npx guardskill . --out report.md      # Markdown 보고서도 작성
    npx guardskill . --fail-on critical   # 중요(critical) 발견 시에만 빌드 실패
    npx guardskill . --exclude test/fixtures   # 디렉터리 건너뛰기
    

    종료 코드: 0 임계값 이상의 발견 없음, 1 임계값 이상의 발견 있음(기본 임계값: high), 2 스캔 자체 실패.

    CI에서:

    root@kitploit:~
    - name: Check for git execution vectors
      run: npx guardskill . --fail-on high
    

    출력 예시:

    root@kitploit:~
    GuardSkill - git execution-vector scan (read-only)
    Path: /Users/dev/projects/inherited-project
    Git configurations inspected: 2   Directories walked: 148
    
    [CRITICAL] vendor/payload.git - Bare git repository found inside the project tree
      what   Git discovers bare repositories while walking directories and applies their
             configuration, including keys that execute commands.
      found  bare repository at vendor/payload.git
      do     Do not open this project with a coding agent until you have inspected the directory.
    
    [CRITICAL] vendor/payload.git/config:3 - core.fsmonitor runs an external command
      found  core.fsmonitor = /tmp/.x/run.sh
    
    2 critical, 0 high, 0 medium, 0 low.
    Nothing was changed - this scan only reads.
    

    오탐(false positive)

    허위 경고를 울리는 보안 도구는 삭제됩니다. 이 스위트는 29개의 현실적인 정상 저장소 — git-lfs, git-crypt, husky, .githooks 규칙, 등록된 서브모듈, 자격 증명 헬퍼, 사용자 정의 편집기와 페이저, 서명 설정 — 에 대해 실행되며, 그중 하나라도 정보 수준 이상의 발견을 생성하면 빌드가 실패합니다. 또한 알려진 공격 패턴을 중심으로 구축된 22개 저장소에 대해 실행되며, 하나라도 놓치거나 잘못된 규칙에 걸리면 실패합니다.

    그 위에는 회피(evasion) 스위트가 있습니다: 그 안의 모든 사례는 이미 자체 테스트를 통과한 GuardSkill 버전을 공격하여 발견되었으며, 모든 커밋에서 실행되므로 향후 변경으로 조용히 다시 열릴 수 없습니다. git이 여전히 수용하는 모든 방식으로 표기된 동일한 키(대소문자, 따옴표, 줄 연속, CRLF, BOM(바이트 순서 표시), 섹션 줄의 키), 익숙한 도구 이름을 딴 페이로드, 일상적으로 보이도록 .husky라는 이름의 훅 디렉터리, 그리고 첫 번째 버전이 찾지 못한 곳에 숨겨진 설정을 다룹니다. 견고성(robustness) 스위트는 바이너리, 빈, 잘린, 200,000줄짜리 설정, 읽을 수 없는 디렉터리, 심볼릭 링크 루프, 트리 외부를 가리키는 포인터를 입력으로 제공하며, 스택 트레이스 대신 보고서를 요구합니다.

    두 가지 의도적인 설계 선택:

    • 훅 관리자는 플래그가 아니라 인식됩니다. husky, lefthook, pre-commit 및 .githooks 디렉터리는 위험이 아닌 정보(low)로 보고됩니다 — 그러나 GuardSkill은 여전히 스크립트를 읽고, 그중 하나가 실행 전에 코드를 가져오거나 디코딩하면 critical로 상향 조정합니다.
    • include / includeIf는 항상 보고됩니다. include는 나중에 이 목록의 어떤 키든 도입할 수 있으며, 그것이 바로 키를 숨기는 방법입니다. 직접 작성한 공유 ~/.gitconfig는 무시해도 되는 정상적인 발견입니다.
    • 훅 디렉터리는 이름이 아닌 스크립트로 판단됩니다. npm test를 실행하는 .husky는 정보 수준이며, 발견 항목에는 무엇이 실행될지 나열됩니다. /tmp에서 무언가를 실행하는 동일한 디렉터리는 그렇지 않습니다.
    • 불완전한 탐색은 결코 깨끗한 결과로 읽히지 않습니다. 순회가 깊이 또는 크기 제한에서 중단되면 "발견 없음"을 출력하는 대신 보고서에 명시합니다.

    하지 않는 일

    어떤 것도 수정하지 않습니다. 절대. 발견한 어떤 것도 실행하지 않습니다. 네트워크 호출을 하지 않으며 텔레메트리를 수집하지 않습니다 — 오프라인으로 실행해도 동일하게 작동합니다. 아직 npm 의존성, .claude/settings.json, .vscode/tasks.json 또는 MCP 서버 정의는 스캔하지 않습니다. 그것들은 다음 클래스이지 이번 것이 아닙니다. 그리고 이 도구는 신호이지 판결이 아닙니다: 발견 항목을 읽고, 증거를 살펴보고, 스스로 판단하십시오.

    에이전트 스킬로 사용

    이 저장소의 SKILL.md는 코딩 에이전트가 익숙하지 않은 프로젝트를 열기 전에 스캔을 직접 실행할 수 있게 합니다. 디렉터리를 스킬 폴더에 복사하거나 에이전트가 저장소를 가리키게 하십시오.

    개발

    root@kitploit:~
    npm test        # 픽스처를 재생성한 후 스위트 실행
    

    픽스처는 수동으로 커밋되는 것이 아니라 코드(test/fixtures/generate.js)로 생성되므로, 정상 또는 취약 세트를 확장하는 것은 몇 줄이면 됩니다. 새 탐지 규칙은 rules/git-exec-keys.json에 추가됩니다 — 양쪽에 픽스처가 없는 규칙은 병합되지 않습니다.

    로드맵

    연속 모니터링, Slack/Teams 알림 및 자동 수정 풀 리퀘스트는 유료 레이어로 계획되어 있습니다. 스캐너 자체는 무료이며 MIT 라이선스로 유지됩니다. 탐지 규칙은 공개 저장소에 유지됩니다 — 규칙을 읽을 수 없는 보안 도구는 신뢰해서는 안 됩니다.

    라이선스 및 출처

    MIT. Helios IT Solutions이 구축 및 유지 관리하며, 네덜란드 IT 서비스 제공업체입니다. 보안 문제: SECURITY.md 참조.

    도구 다운로드