Mole은 안전한가: 무엇을 삭제하고 무엇을 거부하는가
Mole은 두 개의 프로그램으로 제공되며, 온라인에서 찾을 수 있는 안전성 설명 대부분은 그중
하나만 다룹니다. Mole for Mac은 mole.fit에서 판매하는 네이티브 앱이고, mo는 GitHub에 있는
무료 오픈소스 커맨드라인 도구입니다. 두 프로그램은 사용자 제외 목록과 로그 위치를 공유하지만 삭제하는
바로 그 순간의 동작은 다르며, 그 차이가 "당신이 쓰려는 방식에서 Mole이 안전한가"에 대한 답
전부입니다.
이 페이지의 Mole은 mole.fit의 Mole for Mac과 자체 mo 명령줄 도구만 가리킵니다. 같은 mole이라는
이름을 쓰는 다른 앱이나 명령줄 도구는 별도 제품이며, 이 안전성 설명의 대상이 아닙니다.
짧게 말하면, Mac 앱은 후보 목록을 먼저 전부 보여 주고 일반적인 삭제는 휴지통으로 옮기므로
파일이 휴지통에 남아 있는 동안에는 보통 복원할 수 있습니다. CLI는 캐시 파일을 영구 삭제하고 실행 취소 대신 --dry-run을
제공합니다. 두 프로그램 모두 고정된 경로 집합은 무엇이 요청하든 거부합니다.
삭제된 파일이 최종적으로 가는 곳
| 작업 | Mac 앱 | CLI | 나중에 복구 가능한가 |
|---|---|---|---|
| 캐시 정리 | 휴지통 | 영구 삭제 | 앱: 휴지통을 비우기 전까지 |
| 앱 삭제와 잔여 파일 | 휴지통 | 휴지통 | 휴지통을 비우기 전까지 |
| 로그인 항목 제거 (사용자 plist) | 휴지통 | 휴지통 | 휴지통을 비우기 전까지 |
| 최적화 유지 관리 | 지정된 목록만 직접 삭제 | 직접 삭제 | 실행 취소 없음, 재생성은 원본 복원이 아님 |
빌드 산출물 정리 (mo purge) |
제공하지 않음 | 영구 삭제 | 다시 빌드하거나 의존성 재설치, 네트워크가 필요할 수 있음 |
| 휴지통 자체 | 정의상 영구 | 영구 삭제 | 불가 |
두 줄은 설명이 필요합니다. 최적화가 휴지통을 거치지 않고 바로 지우는 것은 이름이 정해진
시스템 관리 항목 몇 가지뿐입니다. 저장된 앱 상태, 격리 데이터베이스 안의 이벤트 기록, 오래된 미리 쓰기
저널, 실행 대상이 사라진 사용자 LaunchAgent 속성 목록, 그리고 비어 있는 .sfl 파일입니다. 각각 경과 시간, 크기, 존재
여부에 대한 검사를 통과해야 합니다. 실행 취소는 없으며, 나중에 데이터가 다시 생성돼도 삭제 전 내용이 복원되는 것은 아닙니다. mo purge에
앱 쪽 대응 기능이 없는 것도 의도적이며, 아래 두 번째 그림이 바로 그 이야기입니다.
세 개의 관문, 그리고 가운데가 핵심인 이유
후보는 스캔 결과에서 디스크까지 한 번에 가지 않습니다. 라이선스 관문, 경로 검증, 실행부를 차례로 지나며, 각 층은 서로를 믿지 않습니다. 앞 층이 옳았다고 가정하지 않고 각자 다시 확인합니다.
안전이 실제로 자리 잡은 곳은 경로 검증입니다. 이 검증은 스캔 시점이 아니라 삭제하는 순간에 실행됩니다. 두 시점은 몇 분 떨어질 수 있고 그사이 디스크는 가만히 있지 않기 때문입니다. 당신이 본 뒤 파일의 정체가 바뀌었다면, 삭제는 오래된 판단에 기대어 진행되지 않습니다. 이 글을 쓴 기기에 실제로 남아 있는 로그 한 줄입니다.
2026-08-17T02:13:55Z uninstall SKIPPED /Applications/Quiet.app updated since the scan, please scan again
이 한 줄에 안전 모델 전체가 담겨 있습니다. 답이 불확실할 때 Mole은 비슷한 것을 지우는 대신 거부하고 이유를 남깁니다.
이 관문에는 또 하나의 성질이 있습니다. 거부는 전면적이라는 점입니다. 보호 목록에 걸린 경로는 거부되며, 그 안의 더 작은 삭제로 줄어들지 않고 해당 항목은 거기서 멈춥니다.
Mole이 삭제를 거부하는 것
클리너는 하지 않는 일로 신뢰를 얻습니다. 그래서 이 목록은 "조심하겠다"는 약속이 아니라 구체적인 나열입니다. 아래 항목은 어떤 삭제가 실행되기 전에 거부됩니다.
| 거부 대상 | 목록에 있는 이유 |
|---|---|
/System, /usr, /bin, /sbin |
사용자 데이터가 아니라 운영체제입니다 |
/private/var/folders |
macOS가 관리하는 사용자별 임시 상태이며 살아 있습니다 |
/Library/Audio/Plug-Ins/{Components,VST,VST3} |
프로젝트가 참조하는 순간부터 필수입니다 |
| iZotope와 LaserSoft 지원 디렉터리 | 쓸모없는 지원 데이터처럼 보이는 라이선스 오디오 및 스캐너 도구입니다 |
~/.ollama/models, ~/.lmstudio/models |
내려받은 가중치이며 수십 GB인 경우가 흔합니다 |
~/.cache/huggingface, ~/.cache/torch, ~/.cache/whisper |
캐시 모양의 경로에 담긴 파생물이 아닌 다운로드입니다 |
~/.cache/tensorflow, ~/.cache/wandb |
아직 업로드되지 않았을 수 있는 데이터셋과 실행 기록입니다 |
~/.cache/pypoetry/virtualenvs |
살아 있는 인터프리터입니다. Poetry의 재생성 가능한 하위 항목은 계속 정리 대상입니다 |
| Apple Neural Engine 컴파일 모델 저장소 | 지우면 다음 재부팅 전까지 인식 기능이 깨집니다 |
| 시스템 설정, 제어 센터, 오디오 서비스 | 캐시가 아니라 시스템 구성입니다 |
| 개인정보 보호 데이터베이스, 로그인 항목, 백그라운드 작업 등록 | 권한과 시동 상태입니다 |
| 최근 항목 메뉴 뒤의 공유 파일 목록 | 작고 눈에 띄지 않지만 잃으면 성가십니다 |
~/.config/mole |
다음 정리를 제약하는 화이트리스트를 이번 정리가 지우지 못하도록 |
이 목록의 배경에 있는 원칙은 하나입니다. 경로가 캐시처럼 생겼다는 사실은 그 안에 캐시가 들어
있다는 증거가 아닙니다. 모델 가중치와 Python 환경이 ~/.cache 아래 있는 것은 도구들이 그곳에
두는 관습 때문이지, 누구나 공짜로 다시 만들 수 있는 파생물이기 때문이 아닙니다.
화이트리스트는 같은 원칙에서 사용자가 쥐고 있는 절반입니다. 어느 한쪽에서 보호한 경로는 양쪽
모두 존중합니다. 둘 다 ~/.config/mole/whitelist를 읽기 때문입니다.
Mac 앱은 CLI보다 좁고, 그 방향은 언제나 같습니다
두 프로그램의 적극성은 다르며, 차이는 항상 같은 방향입니다. 가장 분명한 예가 의존성 디렉터리
입니다. mo purge는 node_modules, Pods, venv, vendor를 삭제하지만, 앱은 그 전부를 빼고
네트워크 없이 로컬 컴파일로 다시 만들 수 있는 것만 제안합니다. 앱은 또한 앱 데이터 스캔을 전체
디스크 접근 권한 뒤에 두고, 복구는 되지만 비용이 큰 항목은 기본 선택이 해제된 검토 행으로
보여 주며, 위에서 설명한 대로 삭제 순간에 경로를 다시 검증합니다.
그래서 mo clean에는 있고 앱에는 전혀 없는 항목이 보이는 것은 예상된 동작이지 빠진 기능이
아닙니다. 더 넓은 정리가 필요하면 터미널에 있고, --dry-run이 그 일이 벌어지기 전에 확인하는
방법입니다.
실제로 무슨 일이 있었는지 읽기
두 프로그램은 ~/Library/Logs/mole/operations.log를 사용합니다. 앱은 탭으로 항목을 구분하고,
CLI는 시간과 명령을 대괄호 안에 쓴 뒤 상태, 경로, 추가 정보를 기록합니다. 상태 이름에도 차이가 있습니다.
| 상태 | 뜻 |
|---|---|
TRASHED |
작업 당시 휴지통으로 옮김 |
DELETED |
영구 삭제됨 |
REMOVED |
CLI에서 영구 삭제됨 |
SKIPPED |
거부됨, 이유는 다음 필드에 |
SKIPPED_RUNNING |
해당 앱이 실행 중이었음 |
SKIPPED_MISSING |
실행부가 도달했을 때 경로가 이미 없었음 |
SKIPPED_ACTIVE_UPDATE |
그 앱의 업데이트가 진행 중이었음 |
FAILED |
시도했으나 성공하지 못함 |
로그는 작업 당시의 결과이지 현재 파일 위치가 아닙니다. TRASHED로 기록된 파일은 휴지통에 남아
있으면 대개 복원할 수 있지만, 이후에 복원되거나 다른 곳으로 옮겨졌거나 휴지통이 비워졌을 수도
있습니다. 복원 가능 여부는 휴지통을 열어 확인해야 합니다.
검토 단계
Mac 앱의 스캔은 라이선스도 시간 제한도 없이 무료입니다. 모든 도구가 스캔해서 결과 목록을 전부 보여 주고, 라이선스는 실제로 실행할 때만 필요하며, 파괴적인 도구는 각각 두 번까지 그대로 동작합니다. 그래서 돈을 내기 전에 Mole의 제안과 자신의 디스크에 대한 판단을 맞춰 볼 수 있습니다.
앱 삭제는 무엇이 움직이기 전에 경로, 소유자, 크기가 담긴 계획을 보여 줍니다. 이 검토는 확인 대화상자가 아니라 제품 자체입니다. 스스로 판단할 수 없는 항목은 원클릭 정리에 어울리지 않기 때문에, Mole은 복구 비용이 큰 항목을 선택 해제 상태로 남기고 판단을 총합 뒤에 숨기지 않습니다.
정말로 되돌릴 수 없는 것
여기서는 안심시키는 것보다 분명히 말하는 편이 중요합니다.
캐시 정리는 원래 영구적인 작업입니다. 앱에서는 파일이 휴지통에 들어가지만, 이 작업의 뜻은 앱이 필요한 것을 다시 쓴다는 데 있고, 그 뒤 휴지통을 비우는 것은 마무리의 일부입니다. CLI는 그 중간 단계를 아예 건너뜁니다.
mo purge는 빌드 산출물을 영구 삭제하므로 먼저 미리보기로 대상을 확인해야 합니다.
위에 적은 최적화 삭제도 즉시 반영됩니다. 원래 내용을 되돌리려면 Time Machine 등 백업이 필요합니다.
캐시나 프로젝트를 다시 생성하는 것은 삭제한 원본 파일을 복원하는 것과 다릅니다.
여기 적힌 내용을 직접 확인하는 방법
- 로그를 읽습니다.
~/Library/Logs/mole/operations.log. 작업한 쪽 프런트엔드가 기록하며, 상태 어휘는 위와 같습니다. - 터미널에서는 먼저 미리보기로 확인합니다. clean, uninstall, optimize는
--dry-run으로 실행할 내용을 출력합니다. - 코드를 읽습니다. CLI는 GPL-3.0 오픈소스이며 삭제 로직도 포함되어 있습니다.
- 내려받은 빌드를 확인합니다. Mac 앱은 Developer ID로 서명되고 공증되어 있어
spctl -a -t exec -vv /Applications/Mole.app으로 Gatekeeper의 허용 여부를 확인할 수 있습니다. 배포 파일과 바이트가 같은지 확인하는 명령은 아닙니다. - 네트워크를 봅니다. 두 프로그램 모두 텔레메트리를 보내지 않습니다.
다른 곳에서 볼 수 있는 설명
널리 퍼진 설명이 세 가지 있는데, 모두 터미널 도구와 앱을 하나의 제품으로 읽은 데서 나옵니다.
"미리 보기도 실행 취소도 없는 터미널 유틸리티다." mo clean은 --dry-run 미리보기를 제공하지만 캐시는 영구 삭제합니다. Mac 앱은
먼저 검토하는 그래픽 도구이며 일반적인 삭제는 휴지통으로 갑니다.
"Mole은 무료다." CLI는 무료 오픈소스입니다. Mole for Mac은 Mac 두 대를 아우르는 일회성 19 달러 구매이며 평생 업데이트와 14일 환불이 있습니다.
"CLI는 MIT 라이선스다." GPL-3.0입니다.
더 읽을거리
- Mole CLI 또는 Mole for Mac: 각 프런트엔드만 할 수 있는 일과 둘 다 설치했을 때의 동작.
- Mac 클리너가 절대 지우면 안 되는 것: 같은 질문을 하나의 도구가 아니라 범주 전체에 던진 글입니다.
자주 묻는 질문
Mole은 삭제한 파일을 휴지통으로 옮기나요
Mac 앱에서는 일반적인 캐시 정리와 앱 삭제가 휴지통으로 갑니다. 관리자 권한이 필요한 삭제도 마찬가지입니다. 예외는 최적화가 직접 지우는 소수의 시스템 관리 항목이며, 실행 취소는 없습니다. 나중에 다시 생성돼도 원래 내용이 복원되는 것은 아닙니다. 무료 명령줄 도구는 캐시를 영구 삭제하지만 앱과 잔여 파일은 휴지통으로 보냅니다.
Mole이 macOS에 필요한 것을 지울 수 있나요
시스템 루트, 개인정보 보호와 로그인 항목 데이터베이스 같은 보호된 시스템 상태, 오디오 플러그인, 내려받은 모델 가중치, 살아 있는 Python 환경은 어떤 삭제가 실행되기 전에 거부됩니다. 앱은 또한 스캔 결과를 믿는 대신 삭제하는 순간에 각 경로를 다시 검증합니다.
무료 CLI와 Mac 앱은 같은 프로그램인가요
아닙니다. 둘은 정리 용어, 화이트리스트 파일, 로그를 공유하는 별개의 구현입니다. 앱은 CLI를 감싼 껍데기가 아니라 Swift로 다시 만든 것이고, 무엇을 지울지에 대해 의도적으로 더 좁습니다.
Mole에 전체 디스크 접근 권한이 필요한가요, 왜인가요
앱 데이터 스캔이 그 권한 뒤에 있습니다. 권한이 없어도 Mole은 동작하지만 보이는 범위가 줄고, 그 사실을 알려 줍니다. 더 작은 숫자를 전체인 것처럼 보고하지 않습니다.
Mole이 지난번에 무엇을 지웠는지 어떻게 확인하나요
~/Library/Logs/mole/operations.log의 끝부분을 확인하세요. TRASHED는 휴지통으로 옮겼다는 기록이므로
파일이 아직 남아 있는지 확인해야 합니다. DELETED와 CLI의 REMOVED는 영구 삭제를 뜻하고,
SKIPPED 계열 상태는 건너뛴 작업을 나타냅니다.
라이선스가 삭제 범위를 바꾸나요
아닙니다. 라이선스는 파괴적인 작업을 실행해도 되는지만 정하고, 범위가 얼마나 넓은지는 결코 정하지 않습니다. 스캔, 후보 목록, 보호 규칙은 활성화 전후가 동일합니다.