이 연구는 모델 파일 검사 도구가 위험을 얼마나 잘 찾아내는지뿐 아니라, 실제로 판단을 끝내는지도 비교합니다.

무엇이 문제였나 — 검사 도구가 답한 파일만으로 정확도를 계산하면, 판단을 못 한 파일이 많아도 성능이 좋아 보일 수 있습니다. 어떻게 풀었나 — 연구진은 합성 모델 파일 170개를 145개 묶음으로 나눠 세 도구를 비교했습니다. 악성·정상 파일에는 기준 답이 있었고, 손상된 파일 10개에는 기준 답을 정하지 않았습니다. 그래서 뭐가 좋아졌나 — ModelScan은 답을 낸 67개에서는 모두 맞았지만, 기준 답이 있는 135개 중 절반가량만 판단했습니다. ModelAudit는 모두 판단했지만 정상 파일 65개 중 60개를 위험하다고 경고했습니다.

서류를 검사하는 사람 둘을 생각해 보세요. 한 사람은 살펴본 서류에는 모두 정확한 표시를 하지만 절반은 검토하지 못합니다. 다른 사람은 모든 서류를 보지만 정상 서류에도 자주 위험 표시를 합니다. 어느 쪽이 더 쓸 만한지 알려면 표시의 정확성과 실제로 검토를 끝낸 서류 수를 함께 봐야 합니다.

논문 정보

Qianlong Lan, Vinothini Pandurangan, Anuj Kaul, Indranil Sanyal · eBay Inc. · arXiv (cs.CR) · 2026

왜 중요한가

모델 파일을 읽는 과정에서 위험한 명령이 실행될 수 있어, 파일 검사 결과는 모델을 올리거나 배포할 때 중요합니다. 검사 도구가 틀리는 경우뿐 아니라 판단을 끝내지 못하는 경우도 확인해야 실제 보호 범위를 알 수 있습니다. 이 논문은 정확도, 판정 가능 여부, 오탐을 함께 비교할 필요성을 보여줍니다.

핵심 지표

지표값설명
ModelAudit 라벨 패밀리 판정률 (LDR)100%기준 답이 있는 135개 패밀리 모두에서 최종 보안 판단을 내렸다.
ModelScan 조건부 F1100%판정을 내린 67개에서는 precision·recall·F1이 모두 100%였지만, LDR은 49.6%였다.
ModelScan 미완료 악성 패밀리의 대체 탐지48개ModelScan이 완료하지 못한 악성 패밀리 48개를 ModelAudit와 Fickling이 각각 모두 탐지했다.
ModelAudit 정상 패밀리 오탐률92.3%정상 패밀리 65개 중 60개를 위험으로 경고했다.

어떻게 동작하나

연구진은 Pickle·PyTorch 관련 합성 파일 170개를 145개 specimen family로 묶어 ModelScan, ModelAudit, Fickling을 비교했다. 70개 패밀리는 악성, 65개는 정상, 10개는 손상된 파일로 기준 답이 없었다. 파일 이름이나 확장자만 바꾼 복사본은 같은 family로 묶어 중복 계산을 줄였으며, 정답이 있는 135개만 TP·FP·TN·FN 계산에 사용했다. 도구 출력은 탐지, 정상, 형식 미지원, 분석 미완료, 실행 오류, 보안과 무관한 발견으로 구분했다. 전체 510회 실행은 고정된 도구 버전과 설정으로 수행했다. 분석에는 전체 패밀리 기준 확정 판정률(CDR), 정답이 있는 패밀리 기준 판정률(LDR), 판정 결과에 한정한 precision·recall·F1, 도구 간 중복·복구, 파일명 변경 안정성과 실행 지연이 포함됐다.

핵심 수식:

$D_s = TP_s + FP_s + TN_s + FN_s$
$CDR_s = D_s/N, \quad LDR_s = D_s/N_L$
$P_s = TP_s/(TP_s+FP_s), \quad R_s = TP_s/(TP_s+FN_s)$
$F1_s = 2P_sR_s/(P_s+R_s)$

s는 스캐너를 뜻한다. D_s는 확정 보안 판정 수이며 TP·FP·TN·FN은 각각 참양성·오탐·참음성·거짓음성이다. N=145는 전체 family 수, N_L=135는 이진 기준 답이 있는 family 수다. precision P_s와 recall R_s는 확정 판정 결과를 기준으로 계산한다.

한계와 주의할 점

  • 모든 표본이 합성 파일 또는 그 변형이므로 실제 악성 파일, 적응형 공격자, 새 취약점에 대한 성능을 대표하지 않는다.
  • 검증 범위는 Pickle·PyTorch 직렬화에 한정되며 SafeTensors, ONNX, GGUF는 포함하지 않았다. 파일명·확장자 변경 실험도 5개 family의 15개 비교에 그쳤고 내용 난독화 등은 평가하지 않았다.
  • 악성 70개와 정상 65개의 구성은 실제 배포 비율을 반영한 표본이 아니다. 따라서 precision을 실제 서비스에서의 양성 예측률로 해석할 수 없다.
  • 손상된 10개 family에는 이진 기준 답이 없다. 또한 정상 표본의 사용자 정의 직렬화 기능에 대한 경고는 실제 표본의 악성 여부와 다르게 평가될 수 있다.
  • 고정된 도구 버전과 실행 환경에서 나온 지연 결과이며, CPU·메모리·저장장치 정보가 기록되지 않았다. 통계적 유의성 검정과 신뢰구간도 보고되지 않았다.
  • 분석 미완료를 정상으로 간주하면 검사 공백이 가려진다. ModelScan은 78개 family에서 분석을 완료하지 못했고, 이 중 48개는 악성 family였다.
  • 도구 출력 형식이나 실행 조건이 바뀌면 분석 미완료 또는 결과 해석 오류가 생겨 최종 판단을 내리지 못할 수 있다.
  • 정상적인 사용자 정의 직렬화 기능에 대한 보수적 경고는 오탐과 추가 검토를 늘릴 수 있다. ModelAudit는 정상 family 65개 중 60개를 경고했고, Fickling은 확정 판단을 내린 정상 family 50개 모두를 경고했다.
  • 형식 미지원과 분석 미완료는 최종 보안 판단이 아니다. Fickling은 25개 family에 형식 미지원 결과를 냈으며, ModelAudit를 포함한 탐지 합집합은 이 평가에서 악성 70개와 정상 오탐 60개를 그대로 유지했다.

시스템 적용 아이디어

논문의 기법을 비슷한 구조를 가진 시스템에 옮길 때의 적용 지점이다.

스캐너 결과를 공통 상태로 기록

검사 어댑터가 도구의 종료 상태, 표준 출력·오류 출력, 탐지 내용을 읽고 탐지·정상·형식 미지원·분석 미완료·실행 오류·보안과 무관한 발견으로 분류한다. 실행 오류가 있더라도 유효한 탐지가 확인되면 그 탐지를 기록한다. 분석을 마치지 못한 파일은 정상으로 표시하지 않고 검토 대상으로 보낸다.

적용 지점 — 모델 파일 수집·검사 어댑터

기대 효과 — ModelScan의 조건부 F1 100%와 라벨 family 판정률 49.6%를 함께 보고, 분석 미완료 78개 family를 별도로 관리할 수 있다.

분석 미완료 결과에 대체 검사 실행

첫 도구가 분석 미완료 또는 실행 오류를 반환한 family에 다른 도구를 실행한다. 이미 최종 판단이 나온 경우에는 불필요한 재검사를 줄인다. 악성 탐지가 하나라도 나오면 위험으로 분류하는 탐지 합집합을 사용할 수 있지만, 각 도구의 출처와 근거를 보존한다.

적용 지점 — 모델 파일 보안 판정 오케스트레이터

기대 효과 — 평가에서 ModelAudit와 Fickling은 ModelScan이 분석 미완료한 악성 family 48개를 각각 모두 탐지했다. 실제 운영에서의 복구율은 별도로 검증해야 한다.

위험 구조 경고와 악성 판정을 구분

정책 엔진에서 표본의 악성 여부와 위험한 직렬화 기능에 대한 경고를 구분해 처리한다. 논문에서는 정상 사용자 정의 직렬화 표본에 대한 경고가 specimen-level 기준에서 오탐으로 집계됐지만, 그 경고가 보안상 의미가 전혀 없다는 뜻은 아니라고 설명한다. 운영 환경에서는 근거와 정책에 따라 자동 격리나 수동 검토를 정한다.

적용 지점 — 모델 파일 격리·허용 정책 엔진

기대 효과 — ModelAudit의 정상 family 오탐은 60/65였고, Fickling은 확정 판단한 정상 family 50개 모두를 경고했다. 자동 처리로 줄어드는 오탐 수는 논문에서 측정하지 않았다.

도구 업데이트를 family 회귀 검사로 확인

고정된 표본과 family 구성을 회귀 검사 입력으로 보관한다. 새 버전에서 판정률·오탐률·고유 탐지·실패 복구와 파일명 변경에 따른 결과가 달라지는지 비교하고, 원본 결과와 어댑터 해석도 함께 검토한다.

적용 지점 — 보안 스캐너 버전 관리·배포 품질 게이트

기대 효과 — 논문은 평가한 파일명·확장자 변경 15개 비교 모두에서 판정이 유지됐다고 보고한다. 이 결과는 제한된 표본에 관한 것이므로 새 버전의 회귀 검사에 다시 포함하는 것이 적절하다.

빠른 검사 도구를 보조 경로로 활용

Fickling을 빠른 초기 검사로 활용하는 방안을 검토하고, 형식 미지원·분석 미완료·오류에는 다른 도구를 실행한다. Fickling의 정상 표본 경고가 많았으므로 결과를 자동으로 허용하거나 격리하기 전에 경고 의미를 정책에 맞게 분류한다. 실제 처리 시간을 포함한 전체 검사 경로는 별도 측정한다.

적용 지점 — 모델 파일 검사 라우터

기대 효과 — 평가에서 Fickling의 중앙 지연은 64.90 ms였고 P95는 80.98 ms였다. 이 값은 해당 실행 환경의 관찰값이며 전체 처리 경로의 지연 개선을 뜻하지 않는다.

단계별 도입 로드맵

단계목표액션기대 효과
Phase 1공통 결과 기준과 재현 가능한 기준선 마련검사 대상과 family를 기록하고, 파일 해시·도구 버전·원본 출력·검토 상태를 보관한다. 결과를 탐지·정상·형식 미지원·분석 미완료·실행 오류·보안과 무관한 발견으로 나누고, 조건부 정확도와 판정률을 함께 계산한다.조건부 점수에 드러나지 않는 분석 미완료와 형식 미지원을 확인할 수 있다.
Phase 2판정 가능성과 처리 시간을 함께 개선첫 도구가 미지원·미완료·오류를 반환하면 다른 도구를 실행하는 경로를 구성한다. 논문에 기록된 도구별 제한 시간은 Fickling 5초, ModelAudit 10초, ModelScan 60초이며, 실제 운영 환경에 맞춰 다시 설정한다.평가 조건에서 ModelAudit와 Fickling은 ModelScan이 미완료한 악성 family 48개를 각각 모두 탐지했다. 이 결과가 실제 운영에서도 그대로 재현된다고 가정하지 말고 별도로 확인한다.
Phase 3오탐 부담을 관리하고 실제 환경에서 검증위험 구조에 대한 경고와 실제 악성 판정을 구분해 격리·허용·수동 검토 정책을 정한다. 실제 출처의 파일, 다양한 직렬화 형식, 여러 도구 버전을 추가해 평가한다.합성 표본에서 보인 결과가 실제 배포 환경에서도 유효한지 확인할 수 있다.

원문 PDF: 2026-08-29-beyond-f1-evaluating-coverage-and-failure-recovery-in-ai-model-security.pdf