/ Directorio / Playground / ipsw-skill
● Comunidad blacktop 🔑 Requiere tu clave

ipsw-skill

por blacktop · blacktop/ipsw-skill

Controle la CLI ipsw desde su agente: descarga/extracción de IPSW, diferencias de kernelcache, clasificación Mach-O, encabezados ObjC de marco privado.

ipsw-skill le enseña a Claude (y agentes compatibles como Codex CLI / Gemini CLI) cómo manejar el ipsw de blacktop, el CLI del ejército suizo para firmware y análisis binario de Apple. Conoce los subcomandos para descargar/extraer IPSW y kernelcaches, volcar encabezados Objective-C de marcos privados, diferenciar kernels entre versiones, auditar derechos e inspeccionar archivos binarios Mach-O. Dirigido a investigadores de seguridad de la plataforma Apple, ingenieros inversos e ingenieros que depuran el comportamiento a nivel de marco.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

ipsw-skill.replay ▶ listo
0/0

Instalar

Elige tu 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
    }
  }
}

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

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

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

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

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

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

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

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

Continue usa un array de objetos de servidor en lugar de un mapa.

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

Añádelo a context_servers. Zed recarga en caliente al guardar.

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

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: ipsw-skill

Vuelque los encabezados Obj-C de un marco privado para el descubrimiento de API

👤 Investigadores de seguridad y mantenedores de SDK que trabajan contra los componentes internos de Apple ⏱ ~30 min advanced

Cuándo usarlo: Necesita la superficie pública (clase + nombres de selector) de un marco privado para estudiar los cambios de comportamiento.

Requisitos previos
  • IPSw CLI instalada — instalar cerveza blacktop/tap/ipsw
  • Una dyld_shared_cache extraída de un IPSW — Utilice ipsw extract en el IPSW que descargó
Flujo
  1. Descarga el IPSW
    Utilice la descarga de ipsw para la versión de iOS que especifique.✓ Copiado
    → IPSW guardado localmente
  2. Extraer el caché compartido
    Extraiga dyld_shared_cache del IPSW.✓ Copiado
    → Archivo de caché compartido extraído
  3. Volcar encabezados para el marco de destino
    Vuelque los encabezados de Obj-C para <FrameworkName>.✓ Copiado
    → Volcado de encabezado con clases y selectores

Resultado: Tiene encabezados legibles para diferenciar entre versiones.

Errores comunes
  • Confundir los binarios del simulador con los binarios del dispositivo — Especifique siempre el dispositivo/arco que está estudiando; las porciones del simulador difieren
Combinar con: ghidrassistmcp

Diferenciar kernelcaches en dos versiones de iOS

👤 Investigadoras del núcleo y XNU ⏱ ~60 min advanced

Cuándo usarlo: Se lanzó una nueva versión de iOS; quieres ver qué cambió en el kernel.

Flujo
  1. Extrae ambos kernelcaches
    Extraiga el kernelcache de IPSW A e IPSW B.✓ Copiado
    → Dos archivos kernelcache en el disco
  2. diferencia
    Diferenciar los dos kernelcaches; lista de símbolos agregados/eliminados/modificados.✓ Copiado
    → Cambiar lista con categorías de símbolos

Resultado: Un registro de cambios centrado en los cambios a nivel del kernel.

Errores comunes
  • Tratar la reordenación de símbolos como un cambio significativo — Deje que el grupo de herramientas se reordene frente a adiciones/eliminaciones reales

Auditar un Mach-O en busca de derechos y características sospechosas

👤 Revisores de AppSec y desarrolladores que auditan dependencias de terceros ⏱ ~20 min intermediate

Cuándo usarlo: Desea verificar los derechos y las importaciones de un binario antes de enviarlo con su aplicación.

Flujo
  1. Inspeccionar el Mach-O
    Mostrar comandos de carga, LC_CODE_SIGNATURE y derechos para <ruta>.✓ Copiado
    → Lista de derechos + información de firma
  2. Listar importaciones
    Lista de símbolos importados agrupados por marco.✓ Copiado
    → Borrar tabla de importación

Resultado: Un informe de auditoría conciso que puede guardar en el hilo de revisión.

Combinar con: xcodebuild

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

ipsw-skill + ghidrassistmcp

Traspasar funciones de interés a Ghidra para un análisis más profundo

Desde las importaciones de Mach-O, elija la función sospechosa y ábrala en Ghidra.✓ Copiado

Utilice el manual RE más amplio junto con las herramientas específicas de Apple de ipsw

Combine el flujo de trabajo RE genérico con ipsw para el trabajo de caché dyld.✓ Copiado
ipsw-skill + xcodebuild

Cree aplicaciones locales y valide que coincidan con el perfil de derechos que espera

Después de xcodebuild, ejecute ipsw entitlements en el archivo para auditar lo que terminó con la sesión iniciada.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
ipsw download version/device selector Obtener firmware para analizar bandwidth only
ipsw extract IPSW + target (dsc / kernelcache / ramdisk) Extraer un artefacto específico del IPSW 0
ipsw dyld class-dump dyld_shared_cache + framework Estudiar API de marco privado 0
ipsw kernel diff two kernelcaches Análisis del kernel versión a versión 0
ipsw macho info/ent Mach-O path triaje binario 0

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Ninguna
Tokens por llamada
La salida varía según el tamaño del artefacto; comandos de alcance estrictamente
Monetario
Gratis; las descargas solo cuestan ancho de banda
Consejo
Utilice los indicadores de filtrado de ipsw para que el agente no pegue 50 MB de símbolos en contexto.

Seguridad

Permisos, secretos, alcance

Almacenamiento de credenciales: No se requiere ninguno para el funcionamiento básico
Salida de datos: ipsw download extrae IPSW de los servidores públicos de Apple. No hay telemetría adicional de la propia habilidad.

Resolución de problemas

Errores comunes y soluciones

ipsw: comando no encontrado

Instale la CLI a través de Homebrew tap: brew install blacktop/tap/ipsw.

Verificar: which ipsw
Tiempos de descarga agotados

Los servidores de Apple pueden limitar la velocidad; Vuelva a intentarlo con --resume. Asegúrese de que su red permita descargas grandes.

Verificar: curl -I https://appldnld.apple.com/...
El volcado de clase devuelve vacía

Confirme que apuntó al caché compartido para el dispositivo/arco correcto. Los cachés del simulador están separados de los del dispositivo.

Verificar: ipsw dyld info <cache>

Alternativas

ipsw-skill vs otros

AlternativaCuándo usarlaContrapartida
ghidrassistmcpQuieres un desmontaje y secuencias de comandos completos a través de GhidraMucho más pesado; inicio más lento
ida-pro-mcpYa tienes la licencia de IDA Pro y quieres la integración de MCPherramienta comercial
reverse-engineering-assistantQuieres una asistente de flujo de trabajo de RE más ampliaNo específica de Apple

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills