/ Diretório / Playground / ipsw-skill
● Comunidade blacktop 🔑 Requer sua chave

ipsw-skill

por blacktop · blacktop/ipsw-skill

Direcione a CLI ipsw do seu agente - download/extração de IPSW, diferenças de kernelcache, triagem Mach-O, cabeçalhos ObjC de estrutura privada.

ipsw-skill ensina Claude (e agentes compatíveis como Codex CLI / Gemini CLI) como conduzir o ipsw do blacktop - a CLI do exército suíço para firmware da Apple e análise binária. Ele conhece os subcomandos para baixar/extrair IPSWs e kernelcaches, despejar cabeçalhos Objective-C de estruturas privadas, diferenciar kernels entre versões, auditar direitos e inspecionar binários Mach-O. Destinado a pesquisadores de segurança da plataforma Apple, engenheiros reversos e engenheiros que depuram o comportamento no nível da estrutura.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

ipsw-skill.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/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
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

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

Cursor usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

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

Clique no ícone MCP Servers na barra lateral do Cline, depois "Edit Configuration".

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

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

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

O Continue usa um array de objetos de servidor em vez de um map.

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

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

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

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: ipsw-skill

Despejar cabeçalhos Obj-C de uma estrutura privada para descoberta de API

👤 Pesquisadores de segurança e mantenedores de SDK trabalhando contra os internos da Apple ⏱ ~30 min advanced

Quando usar: Você precisa da superfície pública (nomes de classes + seletores) de uma estrutura privada para estudar mudanças de comportamento.

Pré-requisitos
  • CLI ipsw instalada — preparar instalar blacktop/tap/ipsw
  • Um dyld_shared_cache extraído de um IPSW — Use ipsw extract no IPSW que você baixou
Fluxo
  1. Baixe o IPSW
    Use o download do ipsw para a versão do iOS que eu especificar.✓ Copiado
    → IPSW salvo localmente
  2. Extraia o cache compartilhado
    Extraia dyld_shared_cache do IPSW.✓ Copiado
    → Arquivo de cache compartilhado extraído
  3. Cabeçalhos de despejo para a estrutura de destino
    Despeja cabeçalhos Obj-C para <FrameworkName>.✓ Copiado
    → Despejo de cabeçalho com classes e seletores

Resultado: Você tem cabeçalhos legíveis para diferenciar as versões.

Armadilhas
  • Confundindo binários de simulador com binários de dispositivos — Especifique sempre o dispositivo/arco que você está estudando; fatias do simulador diferem
Combine com: ghidrassistmcp

Diferença entre kernelcaches em duas versões do iOS

👤 Pesquisadores de Kernel e XNU ⏱ ~60 min advanced

Quando usar: Uma nova versão do iOS foi lançada; você quer ver o que mudou no kernel.

Fluxo
  1. Extraia ambos os kernelcaches
    Extraia o kernelcache do IPSW A e IPSW B.✓ Copiado
    → Dois arquivos kernelcache no disco
  2. Diferença
    Diferenciar os dois kernelcaches; lista símbolos adicionados/removidos/modificados.✓ Copiado
    → Alterar lista com categorias de símbolos

Resultado: Um changelog focado em mudanças no nível do kernel.

Armadilhas
  • Tratar a reordenação de símbolos como uma mudança significativa — Deixe a reordenação do grupo de ferramentas versus adições/remoções reais

Audite um Mach-O em busca de direitos e características suspeitas

👤 Revisores AppSec, desenvolvedores auditando dependências de terceiros ⏱ ~20 min intermediate

Quando usar: Você deseja verificar os direitos e as importações de um binário antes de enviá-lo com seu aplicativo.

Fluxo
  1. Inspecione o Mach-O
    Mostre comandos de carregamento, LC_CODE_SIGNATURE e autorizações para <caminho>.✓ Copiado
    → Lista de direitos + informações de assinatura
  2. Listar importações
    Lista símbolos importados agrupados por estrutura.✓ Copiado
    → Limpar tabela de importação

Resultado: Um relatório de auditoria conciso que você pode salvar no tópico de revisão.

Combine com: xcodebuild

Combinações

Combine com outros MCPs para 10× de alavancagem

ipsw-skill + ghidrassistmcp

Transfira funções de interesse para Ghidra para uma análise mais profunda

Nas importações do Mach-O, escolha a função suspeita e abra-a no Ghidra.✓ Copiado

Use o manual de RE mais amplo junto com as ferramentas específicas da Apple do ipsw

Combine o fluxo de trabalho RE genérico com ipsw para trabalho de cache dyld.✓ Copiado
ipsw-skill + xcodebuild

Crie aplicativos locais e valide se eles correspondem ao perfil de direitos esperado

Após o xcodebuild, execute direitos ipsw no arquivo para auditar o que foi conectado.✓ Copiado

Ferramentas

O que este MCP expõe

FerramentaEntradasQuando chamarCusto
ipsw download version/device selector Obtenha firmware para analisar bandwidth only
ipsw extract IPSW + target (dsc / kernelcache / ramdisk) Extraia um artefato específico do IPSW 0
ipsw dyld class-dump dyld_shared_cache + framework Estude APIs de estrutura privada 0
ipsw kernel diff two kernelcaches Análise de kernel versão para versão 0
ipsw macho info/ent Mach-O path Triagem binária 0

Custo e limites

O que custa rodar

Cota de API
Nenhum
Tokens por chamada
A saída varia de acordo com o tamanho do artefato; comandos de escopo firmemente
Monetário
Livre; downloads custam apenas largura de banda
Dica
Use os sinalizadores de filtragem do ipsw para que o agente não cole 50 MB de símbolos no contexto.

Segurança

Permissões, segredos, alcance

Armazenamento de credenciais: Nenhum é necessário para operação básica
Saída de dados: ipsw download extrai IPSWs dos servidores públicos da Apple. Nenhuma telemetria adicional da habilidade em si.

Solução de problemas

Erros comuns e correções

ipsw: comando não encontrado

Instale a CLI via Homebrew tap: brew install blacktop/tap/ipsw.

Verificar: which ipsw
O download expira

Os servidores da Apple podem limitar a taxa; tente novamente com --resume. Certifique-se de que sua rede permite downloads grandes.

Verificar: curl -I https://appldnld.apple.com/...
O despejo de classe retorna vazio

Confirme que você apontou para o cache compartilhado do dispositivo/arquiteto correto. Os caches do simulador são separados dos do dispositivo.

Verificar: ipsw dyld info <cache>

Alternativas

ipsw-skill vs. outros

AlternativaQuando usarTroca
ghidrassistmcpVocê deseja desmontagem completa e scripts via GhidraMuito mais pesado; inicialização mais lenta
ida-pro-mcpVocê já licencia o IDA Pro e deseja integração com o MCPFerramenta comercial
reverse-engineering-assistantVocê quer um assistente de fluxo de trabalho de RE mais amploNão é específico da Apple

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills