tar-minefield는 tar 압축 파일을 여러 프로그램이 서로 다르게 해석하는 사례를 모은 테스트 모음과 문서를 제공한다. 개발자는 테스트 사례와 비교 자료를 활용해 tar 구현이 파일을 일관되게 추출하는지 확인할 수 있다.

tar 형식에는 해석의 여지가 있어, 같은 파일도 구현에 따라 다른 경로에 풀리거나 다른 내용을 담을 수 있다. 보안 검사기와 실제 압축 해제기가 서로 다른 구현을 사용하면 검사 대상과 디스크에 저장되는 파일이 달라질 수 있다. tar-minefield는 이런 모호성에 식별자를 붙이고 테스트 사례와 사용 빈도 자료를 제시해 구현이 엄격하고 동일한 방식으로 동작하도록 유도한다.

프로젝트가 제안하는 기본 정책은 구현 간 차이를 일으킬 수 있는 모호성 대부분을 거부하면서, 이미 배포된 소스 tarball은 거의 모두 추출할 수 있도록 설계됐다. Spack, nixpkgs, Guix, live-bootstrap의 릴리스 tarball과 PyPI·crates.io·RubyGems 표본 등 총 82,586개를 대상으로 적용했을 때 99.77%를 허용하고 192개를 거부했다. 이 정책은 작업 초안이며, 자료 범위와 적용 조건은 정책 설명과 tarball 분석에서 확인할 수 있다.

구현별 비교표에서는 각 테스트 사례에 대한 tar 프로그램의 처리 결과를 볼 수 있다. 사례 페이지에는 압축 파일의 블록별 내용, 구현별 해석, 릴리스 tarball에서의 빈도가 담긴다. 사례는 프레이밍(F), 이름(N), 파일 종류(K), 순서와 상태(S)로 분류된다.

예를 들어 같은 파일에 pax 경로를 두 개 지정한 N09 사례에서 GNU tar와 BusyBox 등은 두 번째 경로를 사용하지만, Python과 Java는 첫 번째 경로를 사용한다. 심볼릭 링크 뒤에 같은 이름의 파일을 쓰는 S10 사례에서는 대부분 링크를 파일로 바꾸지만, Python의 tarfile과 live-bootstrap은 링크를 따라 대상 경로에 쓴다. 각 사례의 설명은 N09와 S10에서 볼 수 있다.

초안보다 더 엄격한 정책을 적용할 수도 있지만, 그 경우 배포된 tarball을 더 많이 거부할 수 있다. 프로젝트는 패키지 관리자·레지스트리·tar 구현 관계자의 의견을 GitHub 이슈와 풀 리퀘스트로 받고 있으며, 공개되지 않은 취약점을 보여주는 사례는 보안 절차에 따라 먼저 비공개로 보고한다고 밝혔다.