/ Каталог / Песочница / ipsw-skill
● Сообщество blacktop 🔑 Нужен свой ключ

ipsw-skill

автор blacktop · blacktop/ipsw-skill

Управляйте интерфейсом командной строки ipsw из своего агента — загрузка/извлечение IPSW, различия в кэше ядра, сортировка Mach-O, заголовки ObjC частной платформы.

ipsw-skill учит Клода (и совместимых агентов, таких как Codex CLI/Gemini CLI) управлять ipsw от Blacktop — командной строкой швейцарской армии для прошивки Apple и бинарного анализа. Он знает подкоманды для загрузки/извлечения IPSW и кэшей ядра, дампа заголовков Objective-C из частных фреймворков, сравнения ядер между версиями, аудита прав и проверки двоичных файлов Mach-O. Предназначено для исследователей безопасности платформ Apple, специалистов по обратному проектированию и инженеров, отлаживающих поведение на уровне платформы.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

ipsw-skill.replay ▶ готово
0/0

Установка

Выберите клиент

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "ipsw-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ],
      "_inferred": false
    }
  }
}

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "ipsw-skill",
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "blacktop/ipsw-skill"
      ]
    }
  ]
}

Continue использует массив объектов серверов, а не map.

~/.config/zed/settings.json
{
  "context_servers": {
    "ipsw-skill": {
      "command": {
        "path": "claude",
        "args": [
          "plugin",
          "marketplace",
          "add",
          "blacktop/ipsw-skill"
        ]
      }
    }
  }
}

Добавьте в context_servers. Zed перезагружается автоматически.

claude mcp add ipsw-skill -- claude plugin marketplace add blacktop/ipsw-skill

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: ipsw-skill

Дамп заголовков Obj-C из частной платформы для обнаружения API

👤 Исследователи безопасности и специалисты по поддержке SDK, работающие против внутренних компонентов Apple ⏱ ~30 min advanced

Когда использовать: Вам нужна общедоступная поверхность (класс + имена селекторов) частной платформы для изучения изменений поведения.

Предварительные требования
  • ipsw CLI установлен — заварить установку blacktop/tap/ipsw
  • dyld_shared_cache, извлеченный из IPSW — Используйте экстракт ipsw из загруженного вами IPSW.
Поток
  1. Загрузите IPSW
    Используйте загрузку ipsw для указанной мной версии iOS.✓ Скопировано
    → IPSW сохранен локально
  2. Извлеките общий кеш
    Извлеките dyld_shared_cache из IPSW.✓ Скопировано
    → Файл общего кэша извлечен.
  3. Дамп заголовков для целевой платформы
    Дамп заголовков Obj-C для <FrameworkName>.✓ Скопировано
    → Дамп заголовка с классами и селекторами

Итог: У вас есть читаемые заголовки для различий между версиями.

Подводные камни
  • Путаница двоичных файлов симулятора с двоичными файлами устройств — Всегда указывайте изучаемое устройство/арку; фрагменты симулятора отличаются
Сочетать с: ghidrassistmcp

Разница в кэшах ядра в двух версиях iOS

👤 Исследователи Kernel и XNU ⏱ ~60 min advanced

Когда использовать: Вышла новая версия iOS; вы хотите увидеть, что изменилось в ядре.

Поток
  1. Извлеките оба кэша ядра
    Извлеките кэш ядра из IPSW A и IPSW B.✓ Скопировано
    → Два файла kernelcache на диске
  2. Разница
    Сравните два кэша ядра; список добавленных/удаленных/измененных символов.✓ Скопировано
    → Список изменений с категориями символов

Итог: Целенаправленный журнал изменений на уровне ядра.

Подводные камни
  • Рассматривать изменение порядка символов как значимое изменение — Пусть изменение порядка группы инструментов по сравнению с реальными добавлениями/удалениями
Сочетать с: reverse-engineering-assistant

Проверьте Mach-O на наличие прав и подозрительных характеристик.

👤 Рецензенты AppSec, разработчики, проверяющие сторонние зависимости ⏱ ~20 min intermediate

Когда использовать: Вы хотите проверить права и импорт двоичного файла перед его отправкой вместе с приложением.

Поток
  1. Осмотрите Маха-О
    Показать команды загрузки, LC_CODE_SIGNATURE и права для <path>.✓ Скопировано
    → Список прав + информация о подписи
  2. Получение списка импорта
    Список импортированных символов, сгруппированных по платформам.✓ Скопировано
    → Очистить таблицу импорта

Итог: Краткий отчет об аудите, который вы можете сохранить в ветке обзора.

Сочетать с: xcodebuild

Комбинации

Сочетайте с другими MCP — эффект x10

ipsw-skill + ghidrassistmcp

Передавайте интересующие функции Ghidra для более глубокого анализа.

В импорте Mach-O выберите подозрительную функцию и откройте ее в Ghidra.✓ Скопировано

Используйте более широкий набор сценариев RE вместе с инструментами ipsw, специфичными для Apple.

Объедините общий рабочий процесс RE с ipsw для работы с dyld-кешем.✓ Скопировано
ipsw-skill + xcodebuild

Создавайте локальные приложения и проверяйте, соответствуют ли они ожидаемому профилю прав.

После xcodebuild запустите права ipsw для архива, чтобы проверить, что в итоге было выполнено.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
ipsw download version/device selector Получить прошивку для анализа bandwidth only
ipsw extract IPSW + target (dsc / kernelcache / ramdisk) Извлеките конкретный артефакт из IPSW 0
ipsw dyld class-dump dyld_shared_cache + framework Изучите API частных фреймворков 0
ipsw kernel diff two kernelcaches Анализ ядра от версии к версии 0
ipsw macho info/ent Mach-O path Бинарная сортировка 0

Стоимость и лимиты

Во что обходится

Квота API
Никто
Токенов на вызов
Выходные данные зависят от размера артефакта; команды области жестко
Деньги
Бесплатно; загрузка оплачивается только трафиком
Совет
Используйте флаги фильтрации ipsw, чтобы агент не вставлял в контекст 50 МБ символов.

Безопасность

Права, секреты, радиус поражения

Хранение учётных данных: Не требуется для базовой работы
Исходящий трафик: ipsw download извлекает IPSW с общедоступных серверов Apple. Никакой дополнительной телеметрии от самого навыка.

Устранение неполадок

Частые ошибки и исправления

ipsw: команда не найдена

Установите CLI через Homebrew Tap: Brew Install blacktop/tap/ipsw.

Проверить: which ipsw
Время загрузки истекло

Серверы Apple могут ограничивать скорость; повторите попытку с --resume. Убедитесь, что ваша сеть позволяет загружать большие файлы.

Проверить: curl -I https://appldnld.apple.com/...
Дамп класса возвращает пустой

Подтвердите, что вы указали общий кеш для правильного устройства/арки. Кэши симулятора отделены от кэшей устройств.

Проверить: ipsw dyld info <cache>

Альтернативы

ipsw-skill в сравнении

АльтернативаКогда использоватьКомпромисс
ghidrassistmcpВам нужна полноценная дизассемблирование и создание сценариев через Ghidra.Гораздо тяжелее; более медленный запуск
ida-pro-mcpВы уже лицензируете IDA Pro и хотите интегрировать MCP.Коммерческий инструмент
reverse-engineering-assistantВам нужен более широкий помощник по рабочему процессу REНе специфично для Apple

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills