ipsw-skill
A skill that teaches an agent to analyze Apple firmware and binaries with the ipsw CLI: kernel, dyld_shared_cache, sandbox, diffs.
- 106 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The skill drives work with Apple firmware, the kernel, the sandbox and entitlements, a dual-use tool for security research.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/ipsw-skillDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The skill drives work with Apple firmware, the kernel, the sandbox and entitlements, a dual-use tool for security research.
This is third-party code. Review the repository files before installing.
What it does
ipsw-skill is a skill for reverse engineering Apple firmware and binaries on top of the `ipsw` CLI. The agent first inspects IPSW and OTA files remotely and pulls a single component without downloading the whole image. Next it works with the kernel and KEXTs, with `dyld_shared_cache` for symbol lookup, disassembly and cross-references, and with ObjC and Swift headers that it diffs between releases. Separate references cover sandbox profiles and entitlements, diffs between builds, panic and crash symbolication and USB-connected devices. The `ipsw/` skill with `SKILL.md` sits next to plugin manifests for Claude Code and Codex. It also supports Antigravity, Gemini CLI and Pi.
Who it is for. Security researchers and Apple developers who analyze firmware, the kernel and system libraries with an agent.
Good fit when
- You need to see what an exclave bundle of the latest IPSW holds without downloading the whole image.
- Between two betas you look for which KEXTs and ObjC methods changed.
- A kernel panic is symbolicated from a log to find the function.
- You need to know which sandbox profiles open a specific kernel user client.
Not a fit when
- You do ordinary app development: the skill is entirely about firmware analysis.
- You cannot install `ipsw`: without it the instructions do not work.
- You want to analyze systems you have no right to: the skill describes a tool and does not replace permission.
Example request
Grab just the kernelcache from the newest iOS beta and tell me which KEXTs changed.Limitations
The `ipsw` CLI must be installed, for example `brew install blacktop/tap/ipsw`: the skill only describes how to work with it. Pick one install method per agent, otherwise the skill loads twice as `ipsw` and `ipsw:ipsw`. The tool deals with firmware, the kernel, the sandbox and entitlements, so use it for research you have a right to do. The last commit in the repository was made in September 2026.
How to disable. For Claude Code run `claude plugin uninstall ipsw@ipsw-skill`, for others delete the `ipsw/` folder from the skills directory. The `ipsw` CLI is removed separately with `brew uninstall`.
FAQ
How do I install the skill through skills.sh?
First install the CLI with `brew install blacktop/tap/ipsw`, then run `npx skills add https://github.com/blacktop/ipsw-skill --skill ipsw`.
How do I install it in Claude Code?
Run `claude plugin marketplace add blacktop/ipsw-skill`, then `claude plugin install ipsw@ipsw-skill`.
How do I update the skill?
For skills.sh run `npx skills update`, for the Claude Code plugin `claude plugin update ipsw@ipsw-skill`. Auto-update is off for third-party marketplaces.
Do I have to download the whole IPSW?
No. The skill works remotely and pulls single components such as the kernelcache or dyld_shared_cache.
Which agents are supported?
Claude Code, Codex CLI, Antigravity, Gemini CLI and Pi.
Discussion
No questions or reviews yet.
Related
SkillsA Claude Code skill that unpacks IPA files, finds API endpoints, secrets and vulnerabilities, and analyzes Mach-O binaries.
122 skills for reverse engineering: malware, firmware, protocols, mobile apps, CTF work and vulnerability research.
Security scanner for agent skills and MCP servers: finds prompt injection, data exfiltration and supply chain risks before install
VibeSec
VibeSec-Skill
A secure coding skill: the agent looks at code from a bug hunter's perspective and prevents common web vulnerabilities
A security scanner for agent skills: finds prompt injection, data exfiltration and malicious code before you install
A Claude Code skill scanner checks the whole folder, not just SKILL.md, and installs a skill only after your decision.
README in short
The repository has an `ipsw/` folder with `SKILL.md` and references for download, firmware, dyld, class-dump, Mach-O, kernel, sandbox, entitlements, diffing, symbolication and devices. Plugin manifests for Claude Code and Codex sit separately, and the skill version is set in `metadata.version`.
README badge
Original SKILL.md
---
name: ipsw
description: Reverse-engineers Apple firmware and binaries with the ipsw CLI. Inspects IPSWs and OTAs remotely or locally; extracts kernelcaches, dyld_shared_cache, exclave, SEP, and coprocessor firmware; disassembles and cross-references DSC dylibs, KEXTs, and Mach-Os; dumps and diffs ObjC/Swift headers; decompiles and queries sandbox profiles; searches entitlements; symbolicates crashes and panics; and diffs releases. Use for iOS/macOS internals, private frameworks, kernel or firmware research, and Apple security research, even when ipsw is not named.
license: MIT
metadata:
version: "2.0.0"
ipsw-version: "3.1.725-6-g6e0291a8f"
---
# ipsw
`ipsw` is one CLI for Apple firmware work, organized into command groups (`download`,
`extract`, `dyld`, `kernel`, `macho`, `fw`, `sb`, `ent`, `diff`, `symbolicate`, `idev`, ...).
Install it with `brew install blacktop/tap/ipsw` (other platforms: github.com/blacktop/ipsw
releases). Remote and download commands need network access; `idev` needs a USB-connected
device. This skill describes ipsw as of commit 6e0291a8f (after release 3.1.725); on 3.1.725
and earlier, apply the "Older releases" table below. Flags change between releases:
`ipsw version` shows the installed build, and `ipsw <group> <command> --help` is the source of
truth. Commands marked 🚧 in `--help` are works in progress.
Examples use these shell variables (POSIX sh/bash/zsh syntax):
```bash
IPSW=./iPhone18,1_26.4_23E246_Restore.ipsw # local IPSW or OTA
URL=https://updates.cdn-apple.com/... # remote IPSW or OTA (see "Triage a release")
DSC=./dyld_shared_cache_arm64e # main file of an extracted cache; subcaches beside it
KC=./kernelcache.release.iPhone18,1 # extracted kernelcache
DEVICE=iPhone18,1 # any product type from `ipsw device-list`
```
## Working rules
These are where agents most often go wrong with ipsw.
1. **Make every choice explicit on the command line.** Without a terminal, ipsw cannot prompt:
the command stops with an error such as "use --confirm to proceed unattended" (older
releases skip the step silently; see "Older releases" below). Pass the selection instead:
- A short dylib name that matches several images (`UIKit`, `SwiftUI`, `SpringBoard`) fails.
Pass the full install path, found with
`ipsw dyld info --dylibs --json "$DSC" | jq -r '.dylibs[].name' | grep -i <name>`.
- Fat Mach-Os need `--arch arm64e`; multi-device IPSWs need `--device <product-type>`.
- Downloads and payload searches need `-y`/`--confirm` (`download`, `ota extract --pattern`).
- `ipsw mount` blocks until Ctrl+C: pass `--detach`, then run the `hdiutil detach …`
command it prints.
- `idev crash pull` needs a path or `--all`; `idev syslog` streams forever unless given