Tw93
06342de24f
security: restrict BOM whitelist to prevent shared component deletion
...
- Removes shared directories (Frameworks, Plugins, etc) from receipt scanning whitelist
- Ensures that uninstalling an app won't accidentally delete shared system libraries
- Updates SECURITY_AUDIT.md to reflect stricter receipt scanning policy
2026-01-16 09:54:36 +08:00
Tw93
2cecb881a9
docs: update SECURITY_AUDIT for receipt processing safety
...
- Document /private path exceptions for safe cleanup
- Add receipt file filtering details
- Auto-format shell scripts (shellcheck)
2026-01-15 21:02:13 +08:00
Tw93
7dc854cf30
fix(uninstall): enhance receipt file processing safety and prevent system file deletion
...
CRITICAL SECURITY FIX
Enhanced the receipt file parsing in uninstall operations to prevent
accidental deletion of critical system files while maintaining deep
cleanup capabilities.
Changes:
- Tightened whitelist in find_app_receipt_files() to exclude /Users/*,
/usr/*, and /opt/* broad patterns
- Added explicit blacklist for /private/* with safe exceptions for
logs, temp files, and diagnostic data
- Integrated should_protect_path() check for additional protection
- Added file deduplication with sort -u to prevent duplicate deletions
- Removed dry-run feature from batch uninstall (unused entry point)
Path Protection:
✅ Blocked: /etc/passwd, /var/db/*, /private/etc/*, all system binaries
✅ Allowed: /Applications/*, specific /Library/* subdirs, safe /private/* paths
✅ Additional: Keychain files, system preferences via should_protect_path()
This fixes a critical security issue where parsing .bom receipt files
could result in deletion of system files like /etc/passwd and /var/db/*,
leading to system corruption and data loss.
Affects: V1.12.14 and later versions
Testing: Validated against critical system paths, all blocked correctly
2026-01-15 21:01:11 +08:00
Tw93
3b517c7a6b
Merge branch 'dev' into fix/harden-brew-uninstall
2026-01-15 14:00:20 +08:00
Tw93
c34d91b36f
feat: enhance uninstall with launch items and login items cleanup
...
- Add automatic cleanup of LaunchAgents/Daemons (Issue #315 )
- Support both system and user-level launch paths
- Add Login Items cleanup (fixing broken entries like CodexBar)
- Improve Homebrew uninstall logging visibility
- Update security audit and tests
2026-01-15 11:39:33 +08:00
Jack Phallen
9f441eea86
Fix unrelated test failures
...
Fixed WHITELIST_PATTERNS unbound variable error in lib/core/app_protection.sh
Updated clean_empty_library_items to match current behavior
2026-01-14 09:29:05 -05:00
Tw93
00a712711e
chore: auto format code
2026-01-14 03:59:21 +00:00
Tw93
0a632c0a22
fix: protect Firefox browser data from cleaning
...
Fixes #307
- Add Firefox to DATA_PROTECTED_BUNDLES to prevent cleaning
- Protects IndexedDB, localStorage, and other complex storage
- Prevents Gmail and other web apps from breaking after clean
2026-01-14 11:26:24 +08:00
Tw93
ce8989d3e9
chore: auto format code
2026-01-09 06:44:51 +00:00
Tw93
e33e428569
fix: add KeePassXC new bundle id to protection list ( #285 )
2026-01-09 14:43:50 +08:00
Tw93
2fac1e1dea
Merge branch 'main' of github.com:tw93/Mole
2026-01-04 23:21:37 +08:00
Tw93
e434a1e837
feat(uninstall): add support for third-party input methods
...
- Add '/Library/Input Methods' to application scan paths
- Unprotect Sogou, QQ, and Baidu input methods from system critical list
- Enhance file cleanup logic to detect input method plugins and caches
- Allow clean uninstallation and deep cleaning of WeType, Sogou, etc.
2026-01-04 23:19:02 +08:00
Tw93
b044fa3e60
chore: auto format code
2026-01-04 09:52:09 +00:00
Tw93
3906c020fe
fix: improve cleanup by exiting alt screen and refine whitelisting for directory paths and R renv cache.
2026-01-04 17:41:14 +08:00
Jack Phallen
70e1544490
fix: Respect whitelisted subdirectories
2026-01-04 00:00:28 -08:00
Tw93
6dfd675417
refactor: standardize epoch time retrieval with get_epoch_seconds and ensure locale-independent string transformations.
2026-01-03 18:07:47 +08:00
Tw93
9aa569cbb6
feat: Enhance clean, optimize, analyze, and status commands, and update security audit documentation.
2025-12-31 16:23:31 +08:00
Tw93
6c1fcd23d7
feat: optimize clean operation performance by pre-expanding whitelist patterns, improving size calculation, and adapting parallel processing based on file types, alongside test suite enhancements.
2025-12-30 17:13:43 +08:00
Tw93
dab8136da5
chore: auto format code
2025-12-30 06:46:48 +00:00
Tw93
91351d9440
docs: clarify comment for 1Password sync helpers
2025-12-30 14:46:02 +08:00
Tw93
8711c5b5fc
feat: add cloud storage protection and bump version to 1.16.2
...
- Protect Dropbox, OneDrive, Google Drive, Backblaze, Box (Issue #204 )
- Add homebrew.mxcl.* services protection
- Document mo optimize --dry-run in help and README
- Bump version to 1.16.2
2025-12-30 14:38:22 +08:00
Tw93
b67204f959
feat: remove SQLite vacuum optimization, enhance CJK/emoji width calculation, and improve system cleanup and UI feedback.
2025-12-29 00:29:42 +08:00
Tw93
50e47a3cd9
chore: bump version to 1.15.3 and update the security audit report following core protection and file operation refinements.
2025-12-28 21:30:39 +08:00
Tw93
b044f1ced7
chore: auto format code
2025-12-28 01:40:26 +00:00
Tw93
c8e33931c2
refactor: centralize whitelist path checking with a new is_path_whitelisted helper function
2025-12-28 09:21:04 +08:00
Ruben Nogueira
21bf7392c9
feat: legcord
2025-12-26 11:58:37 +00:00
Tw93
80903729a3
chore: auto format code
2025-12-25 03:50:34 +00:00
Tw93
babab8e1a3
Fix the error judgment problem of uninstalling the silent writing software
2025-12-25 11:45:52 +08:00
Tw93
952b2eea61
fix: Enhance uninstall robustness with base64
...
compatibility and cleanup improvements
- Fix field count
mismatch and base64 BSD/GNU compatibility
- Add sensitive data detection and macOS defaults cleanup
- Improve error handling and add compatibility tests
2025-12-25 11:24:12 +08:00
Tw93
ae82c83714
chore: auto format code
2025-12-22 03:24:39 +00:00
Tw93
d2dc68da90
feat: Enhance app protection with centralized critical component checks, improve UI string width calculation, refine analysis and cleaning logic, and add new tests.
2025-12-22 11:24:04 +08:00
Tw93
f8765ee3d3
feat: optimize application scanning performance, improve multi-selection robustness
2025-12-22 09:46:10 +08:00
Tw93
b3b2a83613
feat: add support for custom protected paths and update whitelist UI with config path and examples
2025-12-21 20:59:45 +08:00
Tw93
79e40b9c91
docs: Improve clarity and conciseness of comments and documentation
2025-12-18 17:35:54 +08:00
Tw93
8eeed7d079
feat(clean, optimize): enhance recent items cleanup safety
2025-12-18 17:19:18 +08:00
Tw93
af03452f6d
feat: Enhance clean and optimize operations with new configuration constants
2025-12-18 17:02:04 +08:00
Tw93
456215f2ff
Fix the setting panel cleaning issue
2025-12-18 15:20:26 +08:00
Tw93
df7e5c8a04
feat: enhance system protection by adding critical path safeguards and removing problematic Spotlight and Finder/Dock cleanups.
2025-12-18 10:42:13 +08:00
Tw93
7e229bbf41
feat: Improve cleaning protection for system settings and control center,
2025-12-18 09:34:38 +08:00
Tw93
5a60a675a0
chore: auto format code
2025-12-14 00:53:52 +00:00
Tw93
37c7b7e743
feat: Add AI agent documentation, expand critical application protection for AI/LLM tools, and enhance user cache cleaning safety
2025-12-14 08:53:19 +08:00
Tw93
49d25625d5
chore: auto format code
2025-12-13 13:14:08 +00:00
Tw93
d5f467e8c4
feat: Add Apple Books bundle IDs to app protection
2025-12-13 21:13:28 +08:00
Tw93
109ab067fb
chore: auto format code
2025-12-13 04:16:55 +00:00
Tw93
581f9398e0
feat: Add comprehensive protection for various VPN and proxy applications and bump version.
2025-12-13 12:16:25 +08:00
Tw93
3601b14dc8
fix: Enhance system protection by explicitly preventing cleaning of critical background task and login item components
2025-12-12 20:17:47 +08:00
Tw93
dbdc9cdb45
Adjust indentation of path safety checks and file processing within app protection.
2025-12-12 14:36:17 +08:00
Tw93
23b6dedd88
Merge branch 'main' of github.com:tw93/Mole
2025-12-12 14:36:00 +08:00
Tw93
fa75da07ca
Add 'F' key to refresh paginated menus, clarify UI text for search and selection, and improve robustness of BOM file processing
2025-12-12 14:33:07 +08:00
Tw93
5456d60876
chore: auto format code
2025-12-12 06:12:13 +00:00