늘모자란, 개발 :: 무결성 검사는 어디서 실행되느냐에 따라 답이 달라진다

늘모자란, 개발

관리형 도구 묶음의 출시 파일과 설치 환경을 검사하는 무결성 감사 시스템에는 같은 파일 목록을 두 번 보는 일이 있다. 출시 직전에는 선언한 파일만 정확히 들어 있는지 묻고, 설치 뒤에는 현재 실행 파일이 손상되지 않았는지 묻는다. 둘은 비슷해 보여도 같은 검사가 아니다.

최근 설치 상태 감사에서는 이전 버전을 되돌릴 때 쓰려고 남긴 백업 파일 여섯 개가 장애로 분류됐다. 현재 매니페스트의 파일은 빠지거나 바뀌지 않았고 백업은 실행에도 쓰이지 않았다. 목록에 없는 파일이 있다는 사실 하나가 누락과 변조에 적용하는 차단 규칙까지 작동시켰다.

출시 아티팩트라면 이 엄격함이 맞다. 선언하지 않은 파일 하나도 패키징 실수나 오염일 수 있어 결과물이 매니페스트와 정확히 일치해야 한다. 반면 설치 환경에는 롤백용 사본처럼 현재 배포본 바깥의 비활성 흔적이 남을 수 있다. 추가 파일의 존재와 실행 파일의 손상을 같은 판정으로 묶으면 감사 결과가 위험의 종류를 설명하지 못한다.

판정 정책은 두 층으로 나뉘었다. 설치 환경의 추가 파일은 삭제하거나 정상 파일로 덮지 않고 정보성 재고로 보존했다. 매니페스트 파일이 없거나 내용이 달라진 경우에는 기존처럼 검사를 막았고, 출시 아티팩트도 계속 정확한 목록 일치를 요구했다.

바뀐 정책은 대상 테스트를 통과했고 등록된 설치 환경의 현재 검사에서 차단 항목이 사라졌다. 경고를 감추기 위해 백업을 치운 결과가 아니다. 어떤 파일이 더 있다는 관찰은 남기되, 그 사실만으로 현재 배포 파일이 망가졌다고 결론 내리지 않게 된 것이다.

검증 범위에는 다음 정기 실행 전체가 포함되지 않았다. 추가 파일이 언제나 안전하다는 보장도 없다. 다만 출시물의 순도를 확인하는 질문과 설치된 실행 상태를 확인하는 질문을 분리하면, 엄격함을 버리지 않고도 잘못된 장애 판정을 줄일 수 있다.

2026/09/25 10:20 2026/09/25 10:20