Проверка macOS-пакетов с Suspicious Package
Описание и назначение

Suspicious Package — это специализированная утилита для просмотра macOS-пакетов (.pkg и .mpkg). Пакет установки обычно содержит саму программу, вспомогательные файлы, сценарии (скрипты) установки и инструкции размещения файлов. Хотя macOS-пакеты упорядочивают элементы приложения удобно для разработчиков, злоумышленник может встроить вредоносный код в скрипты или поместить файлы в системные каталоги. Suspicious Package позволяет изучить содержимое пакета до запуска установщика и минимизировать риск установить нежелательное ПО.
Важно: Suspicious Package показывает структуру и скрипты — он помогает обнаружить явные подозрительные действия, но не выполняет динамический анализ кода и не заменяет антивирус или поведенческий анализ.
Скачивание и установка

Программа доступна для загрузки с сайта автора — mothersruin.com. Поскольку это приложение может не находиться в App Store, для установки иногда нужно временно изменить параметры Gatekeeper.
Как открыть и установить:
- Откройте «Системные настройки» → «Безопасность и конфиденциальность» → раздел «Основные».
- В секции «Разрешить загрузку приложений из:» установите «App Store и проверенные разработчики». Это позволит вам открыть образ диска (.dmg).
- При двойном щелчке по SuspiciousPackage.dmg вы можете увидеть предупреждение, например: «SuspiciousPackage.dmg заблокирован, так как он не от идентифицированного разработчика». Нажмите «Открыть всё равно» или «Открыть в любом случае», чтобы разрешить запуск и перенести приложение в папку «Программы».
Совет безопасности: после установки можно вернуть параметры Gatekeeper в более строгие настройки и запускать сторонние приложения сознательно.
Быстрый просмотр пакета (Quick Look)

Quick Look показывает краткую сводку пакета прямо в Finder — не нужно запускать приложение. Для этого выделите .pkg в Finder и нажмите ⌘+Y или выберите «Файл» → «Быстрый просмотр». Это удобно при проверке нескольких загрузок: вы увидите базовую информацию о пакете и предупреждения в один клик.
Как проверить пакет в Suspicious Package
- Запустите Suspicious Package.
- В меню «Файл» выберите «Открыть» и укажите загруженный .pkg/.mpkg в папке «Загрузки» или другом каталоге.
- Программа проанализирует пакет и откроет окно с вкладками: «Информация о пакете», «Все файлы», «Все скрипты».
- В правом верхнем углу может отображаться значок обзора — он укажет на предупреждения, если Suspicious Package обнаружил потенциально подозрительные элементы.
Информация о пакете

Вкладка «Информация о пакете» показывает обзор содержимого: количество устанавливаемых элементов, число скриптов, сведения о подписи (есть ли цифровая подпись), дату загрузки и браузер, откуда был скачан файл. Если найдены проблемы, здесь же перечисляются предупреждения и их краткие описания.
Что смотреть в первую очередь:
- Подпись пакета: подписан ли разработчик и кем. Отсутствие подписи не всегда означает опасность, но для коммерческого ПО это тревожный сигнал.
- Места установки: пытается ли пакет записать файлы в /Library, /System или в директории других пользователей.
- Количество и содержание скриптов: скрипты, изменяющие разрешения, добавляющие launchd-демонов или копирующие бинарники в системные каталоги, требуют внимания.
Все файлы

Вкладка «Все файлы» отображает структуру архива, похожую на Finder: все файлы и директории, которые будут созданы или изменены при установке. Откройте проблемные пути и проверьте:
- Нормальные приложения обычно помещают файлы в /Applications и подпапки внутри .app.
- Записи в /Library, /Library/LaunchDaemons, /Library/LaunchAgents или /usr/local могут означать системные расширения или службы — удостоверьтесь, что это ожидаемо.
- Сомнительные исполняемые файлы без имен разработчика или с непонятными расширениями — повод для дополнительной проверки.
Все скрипты

Вкладка «Все скрипты» выводит содержимое всех shell-скриптов, используемых в процессе установки. Скрипт — это текстовый набор команд, который копирует файлы, устанавливает разрешения, запускает postinstall-команды и т.д.
На что обратить внимание в скриптах:
- Команды типа curl, wget, openssl, base64 или запуск удалённых скриптов (например, через sh -c “$(curl …)”). Такие строки могут скачивать код с интернета во время установки — это высокий риск.
- Использование sudo, chmod 777, chown root:wheel, mv в /System или /Library без явной необходимости.
- Создание launchd-заданий, демонов, cron-правил, которые запускаются с повышенными правами.
Вы можете открыть скрипт и прочитать его строку за строкой — это главный плюс Suspicious Package: скрипты видны до их выполнения.
Неподписанные пакеты: когда это нормально, а когда — нет
Цифровая подпись пакета подтверждает, что пакет был подписан зарегистрированным разработчиком Apple. Apple требует подписи для ПО в App Store, но вне App Store подпись не обязательна.
Когда отсутствие подписи допустимо:
- Открытое ПО и утилиты из репозиториев разработчиков (open-source) иногда не подписываются, но поставляются с исходниками или проверяемыми сборками.
- Домашние сборки, внутренние корпоративные пакеты или экспериментальное ПО.
Когда отсутствие подписи — красный флаг:
- Платное ПО от известных вендоров (Microsoft, Adobe и др.) без подписи — стоит отказаться или перепроверить источник.
- Пакеты, которые просят системные права и при этом не подписаны.
Важно оценивать совокупность факторов: подпись — один из индикаторов, но не единственный.
Когда Suspicious Package помогает, а когда нет
Когда он полезен:
- Быстрая проверка, что пакет не копирует исполняемые файлы в системные каталоги.
- Обнаружение команд, скачивающих код по сети во время установки.
- Поиск скрытых launchd-агентов, демонов и изменений привилегий.
Ограничения инструмента:
- Suspicious Package не выполняет динамический анализ и не может предсказать поведение бинарного кода после установки.
- Если вредоносный код зашифрован или бинарь содержит эксплойт, просмотр содержимого может не выявить угрозу.
- Пакет может устанавливать малоопасный скрипт, который в дальнейшем подгружает вредоносные компоненты — это требует сетевого мониторинга и анализа в песочнице.
Альтернативы и дополнительные инструменты
- Проверка подписи через команду в Terminal: spctl –status и spctl –assess –type install path/to/package.pkg
- Использование антивируса и систем детектирования (например, встроенного XProtect, сторонних EDR/AV)
- Запуск установки внутри виртуальной машины macOS или отдельного тестового пользователя
- Инструменты анализа бинарей и песочницы для более глубокой проверки
Чеклист перед установкой пакета
- Источник: скачал с официального сайта или доверенного репозитория?
- Подпись: подписан ли пакет (проверьте в Package Info и через spctl)?
- Путь установки: пытается ли пакет писать в /System, /Library или /usr/local?
- Скрипты: есть ли команды скачивания и запуска удалённого кода?
- Демоны и агенты: создаёт ли пакет launchd-задания или background-демонов?
- Совместимость: указана ли версия macOS в метаданных пакета?
- Резервное копирование: есть ли свежая резервная копия системы перед установкой?
Если хотя бы в двух пунктах возникает сомнение — лучше отказаться или запустить установку в изолированной среде.
Мини‑методология проверки пакета — быстрые шаги
- В Quick Look посмотрите общую сводку. Если есть предупреждения — откройте в Suspicious Package.
- В «Информация о пакете» оцените подпись и источник.
- В «Все файлы» найдите записи в системных каталогах.
- В «Все скрипты» просмотрите команды поиска сети и права.
- При сомнениях выполните spctl –assess и проверьте контрольные суммы (если доступны).
- Запустите установку в виртуальной машине или на тестовой машине.
Модель принятия решения
flowchart TD
A[Получен .pkg/.mpkg] --> B{Источник доверенный?}
B -- Да --> C{Подписан?}
B -- Нет --> D[Открыть в Suspicious Package]
C -- Да --> E[Проверить файлы и скрипты]
C -- Нет --> D
E --> F{Есть подозрительные действия?}
D --> F
F -- Да --> G[Отказаться или тестовая среда]
F -- Нет --> H[Установить]
G --> I[Доп. анализ/антивирус/VM]
H --> J[Мониторинг после установки]Критерии приёмки
- Пакет подписан проверенным разработчиком или сопровождается проверяемой сборкой.
- Вкладка «Все файлы» не содержит операций записи в критические системные каталоги без объяснения.
- Скрипты не содержат команд скачивания и выполнения удалённого кода с неизвестных источников.
- Нет автоматических демонов/агентов, которые запускаются с правами root без необходимости.
- Предварительно создана резервная копия или тестовая среда для установки.
1‑строчный словарь
- Пакет (.pkg/.mpkg): контейнер установки для macOS; содержит файлы и скрипты.
- Gatekeeper: встроенный механизм macOS, ограничивающий запуск неподписанных приложений.
- Подпись: цифровой сертификат разработчика, подтверждающий происхождение пакета.
- launchd: системный механизм macOS для запуска демонов и агентов.
Заключение
Большинство программ для Mac безопасны, но сторонние загрузки всегда несут небольшой риск. Suspicious Package — удобный инструмент для предварительного анализа пакетов: он показывает, что именно установится, и раскрывает все скрипты установки. В сочетании с базовыми проверками подписи, проверкой источника и запуском в тестовой среде он снижает риск внедрения нежелательного ПО.
Important: Suspicious Package — это инструмент для анализа статического содержимого; при обнаружении подозрительных команд или бинарников используйте дополнительные средства (анализ в VM, антивирусы, сетевой мониторинг).
Примечание: после использования верните настройки Gatekeeper в желаемое состояние и держите систему и антивирусные базы обновлёнными.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента