SAG / ARCHITECTURE NOTE

ZIP bomb과 경로 탈출: 데이터 수집기의 신뢰 경계는 어디인가?

압축 입력의 허용 크기와 항목·경로를 제한해 처리 자원이 예측 가능하도록 만드는 설계입니다. 작은 업로드도 압축 해제 뒤 큰 메모리를 요구할 수 있습니다. 파일명을 그대로 경로로 사용하면 분석 시스템 밖의 파일을 건드릴 위험도 생깁니다.

Markdown 내려받기

압축 입력 경계란 무엇인가?

압축 입력의 허용 크기와 항목·경로를 제한해 처리 자원이 예측 가능하도록 만드는 설계입니다. 이 노트는 압축 입력 경계를 기능 이름보다 입력·변환·출력의 책임으로 읽습니다. 분석 결과를 신뢰하려면 어떤 자료가 들어왔고, 무엇을 확인했으며, 어디까지 결론을 낼 수 있는지 이어져야 합니다.

왜 이 기술이 필요한가?

작은 업로드도 압축 해제 뒤 큰 메모리를 요구할 수 있습니다. 파일명을 그대로 경로로 사용하면 분석 시스템 밖의 파일을 건드릴 위험도 생깁니다.

설계 원리와 데이터 흐름

압축 크기와 해제 크기를 별도로 제한하고 비정상 항목·중복 경로·지원하지 않는 형식을 거부합니다. 입력 오류와 시스템 장애는 서로 다른 상태로 기록합니다.

압축 입력 → 허용 목록·자원 제한 → 검증된 문서

각 단계는 앞 단계의 성공을 다음 단계의 성과로 바꿔 부르지 않아야 합니다. 자료의 식별자와 기간, 검증 상태를 이어서 기록하면 누락과 오류가 생긴 위치를 찾고 다시 확인할 범위를 정할 수 있습니다.

SAG 아키텍처와의 연결

SAG ZIP 경로는 크기를 제한하고 디스크 추출 없이 허용된 HTML을 읽습니다. 고객 자료의 실행과 외부 에셋 자동 다운로드를 분석에 포함하지 않습니다.

SAG의 운영 가치는 이 관계를 페이지와 질문, 비교 결과와 개선 작업으로 연결하는 데 있습니다. 고객은 숫자만 읽는 대신 보강할 대상과 판단 근거를 함께 검토할 수 있습니다. 추가 적용이 필요한 패턴은 해당 문단의 범위를 기준으로 읽어야 합니다.

설명용 예제와 판단 기준

설명용 입력에서 정상 HTML과 지원하지 않는 압축 항목이 섞였다면 전부 성공으로 덮지 않습니다. 어느 조건이 거부됐는지 구분하고 자료를 다시 준비할 수 있는 오류를 제공해야 합니다.

위 예제는 구조와 계산을 설명하기 위한 자료이며 특정 고객사의 실측 성과가 아닙니다. 실제 보고서에는 선택한 기간·대상·관측 조건과 원문 기록이 연결돼야 같은 판단을 다시 확인할 수 있습니다.

실무 검증 체크리스트

흐름 단계확인할 항목
압축 입력해제 후 크기와 항목 수 확인
허용 목록·자원 제한절대·상위 경로 거부
검증된 문서오류 후 부분 저장 정책 확인

정상 입력뿐 아니라 비어 있는 자료, 중복 자료와 조건이 다른 자료에서도 같은 의미를 유지하는지 확인하세요. 검증 항목을 작업 완료 기준에 연결하면 기능 설명과 실제 운영의 차이를 줄일 수 있습니다.

한계와 적용 시 주의점

처리 제한이 안전성을 돕지만 모든 악성 문서의 무해성을 증명하지는 않습니다. 허용 목록, 라이브러리 업데이트와 오류 회귀 검증을 함께 운영해야 합니다.

연구와 공식 문서

외부 자료는 위 설계 주제의 배경이며 SAG의 모든 구현이나 고객 성과를 인증하는 자료가 아닙니다. 이 노트의 적용 해석과 설명용 예제는 SAG 운영 구조를 기준으로 정리했습니다. 자료 확인: 2026-10-06.

이어 읽기와 기능 확인

이 기술을 이어서 읽는 방법

HTML ZIP·사이트맵 → 정규화 → 페이지 버전 → 근거 기록을 따라갑니다.

목록