WinDiff 윈도우 버전 diff 분석
WinDiff CLI로 두 윈도우 빌드를 비교하고, 새 syscall·구조체·완화(mitigation) 플래그·ETW/콜백 표면을 보안 연구 리포트로 해석해 줍니다.
보안·리뷰고급★ 392⑂ 21AI 점수 8/10마지막 업데이트: 2026. 8. 11.
무엇을 해주나
- WinDiff 저장소 안에서
windiff_cli를 돌려 두 윈도우 버전(또는 같은 버전의 두 패치 레벨)의 심볼·타입·syscall 데이터베이스를 생성합니다. - 동봉된
make_config.py로 최소 설정 파일을 만들고,windiff_diff.py로 바이너리별 추가/삭제/변경을 결정론적으로 계산합니다. - 익명 구조체(
_unnamed_0xNNNN) 안에 숨어 있는 새 완화 비트(예:_EPROCESS::MitigationFlags2Values)를 부모 구조체 경로로 되짚어 찾아 줍니다. - 단순 심볼 나열이 아니라
Nt/Zw/Ps/Ke/Mm/Ob/Se/Cm/Etw/Ci접두사와 컴포넌트 역할 지식을 바탕으로 "이 변경이 무엇을 하려는 것인가"를 추론하고, EDR·안티치트·취약점 연구 각 관점으로 정리한 보고서를 작성합니다.
이런 분께 추천
- 윈도우 커널 내부 구조를 다루는 보안 연구자, 익스플로잇/취약점 헌터
- 안티멀웨어·EDR 개발자(새 ETW 프로바이더, Ps/Ob/Cm 콜백, EtwTi 채널 추적)
- 안티치트 개발자(PPL, 안티탬퍼, 핸들/오브젝트 하드닝 변화 추적)
- 윈도우 업데이트마다 공격 표면 변화를 문서화해야 하는 팀
활용 예시
- "21H2와 24H2 사이 ntoskrnl.exe를 diff해서 새로 추가된 syscall을 정리해줘"
- "이번 KB 패치에서 win32k.sys / ci.dll에 생긴 변화 중 새 완화 플래그만 찾아줘"
- "이번 빌드에서 새로 등장한 ETW 프로바이더나 커널 콜백이 EDR 탐지에 어떤 의미인지 설명해줘"
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/ergrelet/windiff/HEAD/.claude/skills/windiff-version-diff-analysis/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 ergrelet/windiff 의 .claude/skills/windiff-version-diff-analysis 폴더를 내 ~/.claude/skills/windiff-version-diff-analysis/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/ergrelet/windiff.git && mkdir -p ~/.claude/skills && cp -r windiff/.claude/skills/windiff-version-diff-analysis ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- Rust 툴체인(
cargo)과 Python 3가 설치되어 있는지 확인합니다. PE는 Winbindex, PDB는 MSDL에서 내려받으므로 네트워크 연결이 필요합니다. - 저장소를 클론합니다:
git clone https://github.com/ergrelet/windiff.git - 스킬 폴더를 사용자 스킬 디렉터리에 복사합니다:
mkdir -p ~/.claude/skills && cp -r windiff/.claude/skills/windiff-version-diff-analysis ~/.claude/skills/ - 이 스킬은 WinDiff 저장소 안에서 동작하도록 설계되어 있으므로,
cd windiff후 Claude Code를 실행하세요(저장소에 이미.claude/skills/가 포함되어 있으면 3단계는 생략 가능). - 산출물 저장용 폴더를 만듭니다:
mkdir -p local - Claude Code에서 "21H2와 11-24H2의 ntoskrnl.exe를 diff해줘"처럼 요청하면 스킬이 설정 생성 → CLI 실행 → diff → 해석 리포트 순서로 진행합니다.
- 유효한 버전/업데이트 표기는 저장소의
ci/db_configuration.json에서 확인하세요.
GitHub에서 원본 보기 ↗라이선스: GPL-3.0