Snaffler 출력 파일 파서
특히 대규모 환경에서는 Snaffler 출력이 매우 방대해져 분석에 많은 시간이 소요됩니다.
이 스크립트는 Snaffler 출력 파일(TSV 형식 필요)을 파싱하여 다음을 수행합니다:
- 결과를 읽기 쉬운 표로 다듬고 TXT, CSV, HTML, JSON 또는 PS Gridview로 내보냅니다.
- 다음과 같은 기능을 갖춘 대화형 HTML 보고서를 생성합니다:
- 필터링(심각도, 확장자, 수정 연도) 및 전체 텍스트 검색
- 동적 정렬
- 미리보기 텍스트 내 키워드 하이라이트
- 직접 작업(상위 폴더 열기, 파일 다운로드, UNC 복사, 상위 UNC 복사)
- 상태가 유지되는 검토 워크플로:
- ★ 플래그 지정(관심 있음)
- ✓ 완료(검토 완료)
- 미리보기 가독성 향상을 위한 선택적 언이스케이프 모드(실험적)
- 대규모 데이터셋을 위한 페이지네이션
- 보고서별로 유지되는 열 선택기
- 현재 필터링된 뷰를 CSV로 내보내기
- Snaffler 작업 메타데이터(시작/종료/호스트/사용자/타임스탬프...)
- 출력 결과를 *심각도(Black/Red/Yellow/Green)*로 정렬한 다음 수정 날짜(기본값) 또는 다른 필드로 정렬
- 발견된 모든 공유를 텍스트 파일로 내보내기
- 접근 가능한 공유를 Explorer++ 북마크로 내보낼 수 있음
시연
출력 파일 파싱:

HTML 출력:

TXT 출력:

전제 조건 및 사용법
Snaffler를 실행할 때 TSV 형식의 출력 파일을 생성하려면 -y 스위치를 사용해야 합니다.
예시:
.\Snaffler.exe -o snafflerout.txt -s -y
간단한 파싱
my_snaffler_output.txt 파일을 간단히 파싱하고 기본 정렬(심각도, 수정 날짜) 및 기본 출력 파일(TXT, CSV, HTML)로 결과를 작성합니다.
.\snafflerparser.ps1 -in my_snaffler_output.txt
출력 옵션
다양한 파일 출력 옵션은 다음과 같습니다:
-outformat all txt, csv, html, json을 모두 작성합니다(기본값)
-outformat txt txt 작성
-outformat csv csv 작성
-outformat html html 작성
-outformat json json 작성
이러한 파일은 -split 스위치를 사용하여 심각도별(black, red, yellow, green)로 분할할 수 있습니다.
또한 -gridview를 사용하여 PS Gridview 출력을 표시할 수 있습니다.
HTML 보고서
기능
- 대규모 보고서를 위한 페이지네이션
- 강조 표시와 함께 전체 텍스트 검색(UNC / 규칙 / 키워드 / 내용)
- 필터:
- 심각도(Black / Red / Yellow / Green)
- 수정 연도
- 파일 확장자(확장자 검색 포함)
- 상태 필터: ★ 플래그만 표시 / ✓ 완료 숨기기
- 테이블 헤더 클릭으로 정렬(전역 정렬로 전환하지 않는 한 심각도 그룹화 유지)
- 미리보기 콘텐츠에서 키워드 강조 표시
- 행별 작업:
- 전체 UNC 경로 복사
- 상위 UNC 경로 복사
- 상위 폴더 열기(
file://)
- 파일 다운로드(
file://)
- 열 선택기(보고서별로 유지)
- 현재 필터링된 뷰를 CSV로 내보내기
- 보고서 메타데이터 헤더 + "작업 정보" 모달(입력 파일, 호스트/사용자, 해시, 타임스탬프, 기간)
- 다크/라이트 모드 전환
검토 워크플로(★ / ✓)
두 개의 체크박스가 빠른 검토 프로세스를 지원합니다:
- ★ (플래그 지정): 다시 볼 흥미로운 파일 표시
- ✓ (완료): 검토된 파일 표시
키보드 탐색:
- W/S 또는 *↑/↓*를 사용하여 체크박스 열 내에서 위/아래로 이동
- A/D 또는 *←/→*를 사용하여 ★과 ✓ 사이를 이동
- Space를 눌러 포커스된 체크박스 전환
- 단축키:
필터링 도우미:
- "★만 표시"로 플래그가 지정된 항목에 집중
- "✓ 완료 숨기기"로 검토된 항목을 뷰에서 제거
지속성: 체크박스 상태는 이 보고서에 대해 브라우저의 localStorage에 저장됩니다.
현재 표시를 영구적으로 저장하려면 보고서에서 HTML 저장을 클릭하십시오(상태가 포함된 복사본 다운로드).
미리보기 텍스트 언이스케이프(실험적)
Snaffler는 터미널에 표시하기 위해 미리보기 콘텐츠에서 줄 바꿈 및 기타 문자를 이스케이프합니다.
HTML 보고서에는 일반적인 이스케이프 시퀀스(예: \n, \r\n, \t)를 읽을 수 있는 형식으로 변환하는 언이스케이프 토글이 포함되어 있습니다.
예시:

참고: 언이스케이프는 Snaffler에 의해 원래 이스케이프되지 않은 문자열도 변경할 수 있습니다. 가독성 보조 도구로 취급하십시오.
정렬
출력은 항상 심각도별(Black → Red → Yellow → Green)로 그룹화됩니다.
각 그룹 내에서 다음 기준으로 정렬할 수 있습니다:
-sort modified 파일 수정 날짜(기본값)
-sort keyword Snaffler 키워드
-sort unc 파일 UNC 경로
-sort rule Snaffler 규칙 이름
Explorer++ 통합
Explorer++는 Windows용 경량 대체 파일 탐색기로, /netonly 스위치를 포함한 다른 사용자 컨텍스트에서 실행을 지원합니다. 이는 워크스테이션이나 VM이 도메인에 가입되지 않은 평가 중에 특히 유용합니다.
SnafflerParser가 수행하는 작업
SnafflerParser는 -pte 스위치를 사용할 때 config.xml 파일을 관리하여 Explorer++와 직접 통합됩니다:
config.xml이 없으면 생성(포터블 모드)
- 북마크 도구 모음이 활성화되어 있는지 확인
- 이전에 생성된 북마크 제거
- 호스트별 북마크 폴더 생성
- 해당 호스트 아래에 모든 접근 가능한 공유를 북마크로 추가
- 반복적인 인증 프롬프트 없이 공유에 빠르게 탐색 가능
사용법
-
Explorer++ 다운로드
https://github.com/derceg/explorerplusplus
-
Explorer++.exe를 snafflerParser.ps1과 동일한 디렉터리에 배치
-
Snaffler 출력을 파싱하고 Explorer++로 공유 내보내기:
.\snafflerParser.ps1 -in snafflerout.txt -pte
-
다른 사용자 컨텍스트에서 Explorer++ 실행:
runas /user:DOMAIN\user /netonly Explorer++.exe
-
북마크 도구 모음을 사용하여 발견된 공유를 빠르게 탐색합니다.

이것이 유용한 이유:
- 각 공유에 대해 별도로 인증할 필요 없음
- 도메인에 가입되지 않은 시스템에서도 잘 작동
변경 로그
2026-05-26
수정됨
- 최신 버전의 Snaffler(>=1.0.244)에서 출력을 파싱할 때 콘텐츠 열이 더 이상 비어 있지 않습니다. 새로운 Snaffler는 콘텐츠 열 앞에 원본 파일 이름 필드(SCCM 콘텐츠 라이브러리 파일에 사용됨)를 추가합니다. 이제 파서는 이전(13열) 및 새(14열) 형식을 모두 투명하게 처리합니다.
- 중단된 Snaffler 작업(종료 타임스탬프/기간 누락)의 출력을 파싱할 때 더 이상 충돌하지 않습니다.
2026-01-04
개선됨
- 더 빠른 파싱, 처리 및 보고서 생성(전체적으로 약 50% 더 빠름)
- HTML 보고서 크기 감소(약 60% 작아짐)
- Explorer++ 통합:
Config.xml이 없으면 생성됩니다. 비활성화된 경우 북마크 도구 모음이 활성화됩니다.
- HTML 보고서 재작성
- 대규모 보고서를 위한 페이지네이션(>10만 개 파일이 있는 보고서의 주요 성능 향상)
- 추가 필터: 수정 날짜(연도 기반 필터링)
- 향상된 파일 확장자 필터링
- 보고서 내 다크/라이트 모드 전환 직접 제공
- 긴 UNC 경로에 대한 적절한 줄 바꿈
- 필터링된 결과를 CSV로 내보내기
- 로컬 스토리지를 사용하여 플래그 지정(★) 및 검토 완료(✓) 상태 유지
- 열 표시/숨기기 가능(설정은 보고서별로 저장)
- 키워드 강조 표시가 포함된 전체 텍스트 검색
- 개선되고 더 간결한 필터 레이아웃
- 추가 기능이 있는 작업 표시줄(전체 UNC 경로 복사 / 상위 폴더 경로 복사)
- 보고서 메타데이터가 있는 헤더 행 및 정보 모달
- 콘텐츠 언이스케이프 버튼(실험적)
수정됨
- 잘못된 UNC 경로 확인 추가(이슈 #5 수정)
- 페이지네이션이 이슈 #4를 수정해야 함
제거됨
-lightmode 매개변수 제거
-unescape 매개변수 제거
2025-01-25
개선됨
2025-01-21
신규
- 검토 프로세스를 지원하는 사용자 정의 체크박스(기능 요청 #3)
- 실험적 언이스케이프 기능
- 다크 모드
개선됨
2025-01-17
수정됨
- 이슈 #2: 열기 또는 다운로드 링크에서 공백이 깨지는 문제 수정