iOS Security Wizard — Skill
Purpose: Become a deep iOS security operator: static Mach-O/dyld analysis, entitlement and provisioning profile auditing, gadget-mode dynamic instrumentation (no root), XPC/URL scheme/extension attack surface mapping, pointer authentication (PAC) bypass research, and IPA risk-weighted delta analysis. This skill encodes the tooling, workflows, and methodology to operate at that level on iOS devices you own or have explicit authorization to test.
Scope: iOS app security, Mach-O static analysis, dyld shared cache extraction, entitlement/provisioning audit, ObjC/Swift metadata recovery, hardened runtime flags, Frida/Objection gadget-mode instrumentation, dyld_interpose tracing, XPC service enumeration, launchd job inspection, IPA delta risk analysis, probe planning for XPC/URL schemes/extensions, device baseline drift detection (mobilegestalt/sysctl), PAC bypass research, crypto weakness scanning, jailbreak/compromise assessment, unified reporting.
Unique Angle: No root = all dynamic analysis is gadget-mode or debugserver; focus on entitlement bypass, XPC hardening, pointer authentication (PAC) bypasses. Public iOS triage is mostly "run MobSF" — this fills the tooling gap: stdlib Mach-O parser, delta tool, drift baseline.
Corpus: This skill is a complete corpus — INDEX.md maps everything; README.md is the human entry point; AGENT-GUIDE.md is the AI operating manual with the decision tree, evidence schema, and output interpretation rules. Load AGENT-GUIDE.md before executing any iOS security task.
Public corpus: https://github.com/savagedamage/ios-security-wizard — the maintained repository (same content, versioned releases). Direct sibling of android-security-wizard.
Static Analysis Layer
Mach-O Parser (stdlib only)
- Parse Mach-O headers, load commands, segments, sections, symbols, code signatures
- Extract: LC_CODE_SIGNATURE, LC_DYLD_INFO, LC_DYLD_EXPORTS_TRIE, LC_DYLD_CHAINED_FIXUPS
- Identify: PIE, stack canaries, ARC, hardened runtime flags, pointer authentication (PAC) markers
- No external deps — pure Python stdlib for portability
dyld Shared Cache Extraction
- Locate and parse dyld shared cache (macOS/iOS)
- Extract individual dylibs from shared cache for analysis
- Map: address → symbol → library for cross-referencing
- Support: iOS 14+ cache formats (AOT, split cache)
Entitlements & Provisioning Profile Audit
- Parse embedded.mobileprovision (CMS/SignedData)
- Extract: application-identifier, keychain-access-groups, com.apple.developer.* entitlements
- Validate: team ID, expiration, provisioned devices, entitlement consistency
- Hardened runtime flags: com.apple.security.cs.* flags audit
- Detect: over-privileged entitlements, missing restrictions, wildcard keychain groups
ObjC/Swift Metadata Recovery
- Class/method/protocol extraction from _objc* sections
- Swift metadata: type metadata, protocol conformances, witness tables
- Selector/method name recovery for dynamic call graph
- Property/ivar layout reconstruction
Dynamic Analysis Layer (Gadget-Mode Only)
Frida/Objection on iOS (Gadget Mode)
- Frida-gadget injection via IPA re-signing (no jailbreak)
- Objection exploration: bundle, keychain, filesystem, IPC
- Custom Frida scripts for: method hooking, crypto tracing, XPC interception
- Stalker-based coverage-guided tracing for unknown code paths
dyld_interpose Tracing
- Interpose dyld APIs: dyld_image_path_containing_address, dyld_get_image_name
- Trace dynamic library loads, symbol resolution, chained fixup application
- Correlate with static shared cache map
XPC Service Enumeration
- Enumerate XPC services from: launchd, app bundles, system directories
- Parse: Info.plist XPC service definitions, launchd plists
- Identify: privileged helpers, mach service bootstrap names, audit token handling
- Test: XPC connection hijacking, message fuzzing, reply validation
launchd Job Inspection
- Parse: /Library/LaunchDaemons, /Library/LaunchAgents, ~/Library/LaunchAgents
- Extract: ProgramArguments, RunAtLoad, KeepAlive, StandardErrorPath
- Identify: suspicious persistence, unsigned binaries, excessive privileges
- Correlate with running processes (launchctl list)
Pentest Suite
ipa_diff.py — Risk-Weighted Delta
- Input: two .ipa files (baseline + target)
- Extract: Mach-O binaries, entitlements, provisioning profiles, Info.plist, resources
- Diff: binary changes (symbol add/remove, code signature changes), entitlement diff, provisioning diff, resource diff
- Risk weighting:
- CRITICAL: new entitlements, removed hardened runtime flags, code signature changes
- HIGH: new XPC services, new URL schemes, new extensions
- MEDIUM: new symbols, changed logic in security-critical paths
- LOW: resource changes, version bumps
- Output: SARIF + markdown report with evidence
probe_plan.py — XPC/URL Schemes/Extensions Attack Surface
- Input: extracted app bundle or IPA
- Enumerate: CFBundleURLTypes, NSExtension, XPC service definitions
- Generate: Frida/Objection probe scripts per entry point
- Prioritize: exported services, privileged helpers, custom URL schemes
- Output: executable probe plan with reproduction steps
device_baseline.py — MobileGestalt/Sysctl Drift
- Capture: mobilegestalt keys (hardware, OS, build, device identity)
- Capture: security-relevant sysctls (kern., security., vm., machdep.)
- Baseline: known-good device snapshot (JSON)
- Drift detection: compare current → baseline, flag anomalies
- Alert: unexpected kernel params, modified boot args, PAC configuration changes
- Use case: device integrity verification, jailbreak detection bypass validation
Tooling Gap Filled
| Gap |
Public State |
This Skill |
| Mach-O parser |
ida/ghidra/MobSF (heavy) |
stdlib-only, scriptable |
| IPA delta |
manual diff |
risk-weighted, SARIF |
| Device baseline |
none |
mobilegestalt+sysctl drift |
| XPC enum |
Frida scripts only |
structured enumeration + probe gen |
| PAC bypass research |
scattered blogs |
consolidated methodology |
| Gadget-mode workflow |
fragmented docs |
end-to-end pipeline |
Workflows
1. Static Triage (IPA → Report)
# Extract IPA
unzip -q app.ipa -d /tmp/app
# Run static analyzers
python3 static/macho_parser.py /tmp/app/Payload/App.app/App
python3 static/entitlements.py /tmp/app/Payload/App.app/embedded.mobileprovision
python3 static/objc_swift.py /tmp/app/Payload/App.app/App
python3 static/dyld_cache.py --info /path/to/dyld_shared_cache_arm64
2. Gadget-Mode Dynamic Setup
# Re-sign with Frida gadget (requires Apple Developer cert)
objection patchipa -s app.ipa -o app-gadget.ipa
# Install via altstore/sideloadly
# Connect Frida
frida -U -f com.target.app --no-pause
3. IPA Delta Analysis
python3 pentest/ipa_diff.py baseline.ipa target.ipa --output delta-report/
# Review delta-report/delta.sarif + delta-report/delta.md
4. XPC/Extension Probe Generation
python3 pentest/probe_plan.py /tmp/app/Payload/App.app --output probes/
# Run generated probes against live device
5. Device Baseline & Drift
# Baseline (known-good)
python3 pentest/device_baseline.py --capture --baseline baseline.json
# Drift check
python3 pentest/device_baseline.py --check --baseline baseline.json
Key Files & Scripts
ios-security-wizard/
├── ios-wizard # unified CLI entry point
├── SKILL.md # this skill definition
├── INDEX.md # corpus map (start here)
├── README.md # human quick start
├── AGENT-GUIDE.md # AI operating manual (load first for tasks)
├── GLOSSARY.md # terminology
├── CHANGELOG.md # version history
├── LICENSE # MIT + usage notice
├── static/
│ ├── macho_parser.py # stdlib Mach-O parser
│ ├── ipa_structure.py # IPA/bundle anatomy analyzer
│ ├── dyld_cache.py # dyld shared cache extractor
│ ├── entitlements.py # provisioning/entitlement audit
│ ├── objc_swift.py # ObjC/Swift metadata recovery (full 64-bit runtime)
│ ├── hardened_runtime.py # flag audit
│ └── crypto_scan.py # crypto API + weakness scanner
├── dynamic/
│ ├── gadget_frida.py # Frida gadget injection helpers
│ ├── dyld_interpose.py # dyld API interposition tracing
│ ├── xpc_enum.py # XPC service enumeration
│ ├── launchd_inspect.py # launchd job inspection
│ └── jailbreak_check.py # multi-indicator compromise assessment
├── pentest/
│ ├── ipa_diff.py # risk-weighted IPA delta (SARIF)
│ ├── probe_plan.py # XPC/URL/extension probe gen
│ ├── device_baseline.py # mobilegestalt/sysctl drift
│ └── report_gen.py # unified evidence-schema reporting
├── scripts/
│ ├── re-sign_gadget.sh # IPA re-signing with gadget
│ ├── extract_dyld_cache.sh # macOS dyld cache extraction
│ └── baseline_capture.sh # device baseline capture
├── test/
│ └── macho_fixture.py # minimal valid Mach-O builder
├── test_fixtures.py # component test suite (15 tests)
├── references/ # knowledge base (12 topics)
│ ├── macho_format.md # Mach-O binary format
│ ├── ipa_structure.md # IPA/app bundle anatomy
│ ├── entitlements_ref.md # entitlement keys reference
│ ├── crypto_analysis.md # crypto APIs and weaknesses
│ ├── network_security.md # ATS, pinning, traffic analysis
│ ├── data_storage.md # keychain, defaults, file protection
│ ├── xpc_services.md # XPC architecture and enumeration
│ ├── jailbreak_detection.md # detection + bypass methods
│ ├── anti_tampering.md # anti-debugging, integrity checks
│ ├── frida_scripts.md # runnable Frida script library
│ ├── pac_bypass.md # PAC techniques
│ └── masvs_mapping.md # OWASP MASVS/MSTG mapping
└── templates/
├── pentest_report.md # report structure template
└── entitlements_plist.xml # secure entitlements baseline
Verification
Run the component test suite:
cd ~/.hermes/skills/security/ios-security-wizard
./ios-wizard test
Expected output: Results: 15 passed, 0 failed (builds real Mach-O fixtures and exercises parsers, scanners, and report generation end-to-end).
Prerequisites
- macOS host for: dyld shared cache extraction, IPA re-signing, Xcode toolchain
- Linux host for: static analysis, Frida server (remote device)
- Apple Developer Program membership (for gadget re-signing)
- Frida 16+, Objection latest
- Python 3.11+ (stdlib only for core parsers)
Safety & Authorization
- Only test devices you own or have explicit written authorization for
- Gadget-mode requires re-signing — valid Apple Developer cert needed
- No jailbreak, no root — all dynamic via gadget/debugserver
- PAC bypass research: document only, do not weaponize
- Respect Apple's security model; report findings responsibly
Integration
- Complements: android-security-wizard (mobile security pair)
- Feeds: threat-intel-processing (IOCs from IPA analysis)
- Consumes: web-recon-scanning (C2 infrastructure from dynamic traces)
- Outputs: SARIF for CI/CD integration, markdown for human review
Quick Reference
| Task |
Entry Point |
| Full static triage |
`./ios-wizard triage <target.ipa |
| Parse Mach-O |
./ios-wizard static macho <binary> |
| Analyze IPA structure |
`./ios-wizard static ipa <target.ipa |
| Audit entitlements |
./ios-wizard static entitlements <.mobileprovision> |
| Extract dyld cache |
./ios-wizard static dyld --info <cache> |
| Recover ObjC/Swift |
./ios-wizard static objc <binary> |
| Scan crypto |
./ios-wizard static crypto <binary> |
| Inject Frida gadget |
./scripts/re-sign_gadget.sh <.ipa> |
| Trace dyld interpose |
./ios-wizard dynamic interpose --frida-script out.js |
| Enumerate XPC |
./ios-wizard dynamic xpc <app_bundle> |
| Inspect launchd |
./ios-wizard dynamic launchd --audit |
| Jailbreak check |
./ios-wizard dynamic jailbreak |
| IPA delta |
./ios-wizard pentest diff <old.ipa> <new.ipa> |
| Generate probes |
./ios-wizard pentest probes <app_bundle> |
| Device baseline |
./ios-wizard pentest baseline --capture |
| Check drift |
./ios-wizard pentest baseline --check --baseline <file> |
| Unified report |
./ios-wizard pentest report <findings.json...> -o report.md |
| Run tests |
./ios-wizard test |
Direct sibling of android-security-wizard — same philosophy, iOS constraints.
1---2name: ios-security-wizard3description: Use when doing iOS security: Mach-O, dyld, entitlements.4license: MIT5---67# iOS Security Wizard — Skill89**Purpose:** Become a deep iOS security operator: static Mach-O/dyld analysis, entitlement and provisioning profile auditing, gadget-mode dynamic instrumentation (no root), XPC/URL scheme/extension attack surface mapping, pointer authentication (PAC) bypass research, and IPA risk-weighted delta analysis. This skill encodes the tooling, workflows, and methodology to operate at that level on iOS devices you own or have explicit authorization to test.1011**Scope:** iOS app security, Mach-O static analysis, dyld shared cache extraction, entitlement/provisioning audit, ObjC/Swift metadata recovery, hardened runtime flags, Frida/Objection gadget-mode instrumentation, dyld_interpose tracing, XPC service enumeration, launchd job inspection, IPA delta risk analysis, probe planning for XPC/URL schemes/extensions, device baseline drift detection (mobilegestalt/sysctl), PAC bypass research, crypto weakness scanning, jailbreak/compromise assessment, unified reporting.1213**Unique Angle:** No root = all dynamic analysis is gadget-mode or debugserver; focus on entitlement bypass, XPC hardening, pointer authentication (PAC) bypasses. Public iOS triage is mostly "run MobSF" — this fills the tooling gap: stdlib Mach-O parser, delta tool, drift baseline.1415**Corpus:** This skill is a complete corpus — INDEX.md maps everything; README.md is the human entry point; AGENT-GUIDE.md is the AI operating manual with the decision tree, evidence schema, and output interpretation rules. Load AGENT-GUIDE.md before executing any iOS security task.1617**Public corpus:** https://github.com/savagedamage/ios-security-wizard — the maintained repository (same content, versioned releases). Direct sibling of `android-security-wizard`.1819## Static Analysis Layer2021### Mach-O Parser (stdlib only)22- Parse Mach-O headers, load commands, segments, sections, symbols, code signatures23- Extract: LC_CODE_SIGNATURE, LC_DYLD_INFO, LC_DYLD_EXPORTS_TRIE, LC_DYLD_CHAINED_FIXUPS24- Identify: PIE, stack canaries, ARC, hardened runtime flags, pointer authentication (PAC) markers25- No external deps — pure Python stdlib for portability2627### dyld Shared Cache Extraction28- Locate and parse dyld shared cache (macOS/iOS)29- Extract individual dylibs from shared cache for analysis30- Map: address → symbol → library for cross-referencing31- Support: iOS 14+ cache formats (AOT, split cache)3233### Entitlements & Provisioning Profile Audit34- Parse embedded.mobileprovision (CMS/SignedData)35- Extract: application-identifier, keychain-access-groups, com.apple.developer.* entitlements36- Validate: team ID, expiration, provisioned devices, entitlement consistency37- Hardened runtime flags: com.apple.security.cs.* flags audit38- Detect: over-privileged entitlements, missing restrictions, wildcard keychain groups3940### ObjC/Swift Metadata Recovery41- Class/method/protocol extraction from __objc_* sections42- Swift metadata: type metadata, protocol conformances, witness tables43- Selector/method name recovery for dynamic call graph44- Property/ivar layout reconstruction4546## Dynamic Analysis Layer (Gadget-Mode Only)4748### Frida/Objection on iOS (Gadget Mode)49- Frida-gadget injection via IPA re-signing (no jailbreak)50- Objection exploration: bundle, keychain, filesystem, IPC51- Custom Frida scripts for: method hooking, crypto tracing, XPC interception52- Stalker-based coverage-guided tracing for unknown code paths5354### dyld_interpose Tracing55- Interpose dyld APIs: dyld_image_path_containing_address, dyld_get_image_name56- Trace dynamic library loads, symbol resolution, chained fixup application57- Correlate with static shared cache map5859### XPC Service Enumeration60- Enumerate XPC services from: launchd, app bundles, system directories61- Parse: Info.plist XPC service definitions, launchd plists62- Identify: privileged helpers, mach service bootstrap names, audit token handling63- Test: XPC connection hijacking, message fuzzing, reply validation6465### launchd Job Inspection66- Parse: /Library/LaunchDaemons, /Library/LaunchAgents, ~/Library/LaunchAgents67- Extract: ProgramArguments, RunAtLoad, KeepAlive, StandardErrorPath68- Identify: suspicious persistence, unsigned binaries, excessive privileges69- Correlate with running processes (launchctl list)7071## Pentest Suite7273### ipa_diff.py — Risk-Weighted Delta74- Input: two .ipa files (baseline + target)75- Extract: Mach-O binaries, entitlements, provisioning profiles, Info.plist, resources76- Diff: binary changes (symbol add/remove, code signature changes), entitlement diff, provisioning diff, resource diff77- Risk weighting:78 - CRITICAL: new entitlements, removed hardened runtime flags, code signature changes79 - HIGH: new XPC services, new URL schemes, new extensions80 - MEDIUM: new symbols, changed logic in security-critical paths81 - LOW: resource changes, version bumps82- Output: SARIF + markdown report with evidence8384### probe_plan.py — XPC/URL Schemes/Extensions Attack Surface85- Input: extracted app bundle or IPA86- Enumerate: CFBundleURLTypes, NSExtension, XPC service definitions87- Generate: Frida/Objection probe scripts per entry point88- Prioritize: exported services, privileged helpers, custom URL schemes89- Output: executable probe plan with reproduction steps9091### device_baseline.py — MobileGestalt/Sysctl Drift92- Capture: mobilegestalt keys (hardware, OS, build, device identity)93- Capture: security-relevant sysctls (kern.*, security.*, vm.*, machdep.*)94- Baseline: known-good device snapshot (JSON)95- Drift detection: compare current → baseline, flag anomalies96- Alert: unexpected kernel params, modified boot args, PAC configuration changes97- Use case: device integrity verification, jailbreak detection bypass validation9899## Tooling Gap Filled100| Gap | Public State | This Skill |101|-----|--------------|------------|102| Mach-O parser | ida/ghidra/MobSF (heavy) | stdlib-only, scriptable |103| IPA delta | manual diff | risk-weighted, SARIF |104| Device baseline | none | mobilegestalt+sysctl drift |105| XPC enum | Frida scripts only | structured enumeration + probe gen |106| PAC bypass research | scattered blogs | consolidated methodology |107| Gadget-mode workflow | fragmented docs | end-to-end pipeline |108109## Workflows110111### 1. Static Triage (IPA → Report)112```bash113# Extract IPA114unzip -q app.ipa -d /tmp/app115116# Run static analyzers117python3 static/macho_parser.py /tmp/app/Payload/App.app/App118python3 static/entitlements.py /tmp/app/Payload/App.app/embedded.mobileprovision119python3 static/objc_swift.py /tmp/app/Payload/App.app/App120python3 static/dyld_cache.py --info /path/to/dyld_shared_cache_arm64121```122123### 2. Gadget-Mode Dynamic Setup124```bash125# Re-sign with Frida gadget (requires Apple Developer cert)126objection patchipa -s app.ipa -o app-gadget.ipa127# Install via altstore/sideloadly128# Connect Frida129frida -U -f com.target.app --no-pause130```131132### 3. IPA Delta Analysis133```bash134python3 pentest/ipa_diff.py baseline.ipa target.ipa --output delta-report/135# Review delta-report/delta.sarif + delta-report/delta.md136```137138### 4. XPC/Extension Probe Generation139```bash140python3 pentest/probe_plan.py /tmp/app/Payload/App.app --output probes/141# Run generated probes against live device142```143144### 5. Device Baseline & Drift145```bash146# Baseline (known-good)147python3 pentest/device_baseline.py --capture --baseline baseline.json148# Drift check149python3 pentest/device_baseline.py --check --baseline baseline.json150```151152## Key Files & Scripts153154```155ios-security-wizard/156├── ios-wizard # unified CLI entry point157├── SKILL.md # this skill definition158├── INDEX.md # corpus map (start here)159├── README.md # human quick start160├── AGENT-GUIDE.md # AI operating manual (load first for tasks)161├── GLOSSARY.md # terminology162├── CHANGELOG.md # version history163├── LICENSE # MIT + usage notice164├── static/165│ ├── macho_parser.py # stdlib Mach-O parser166│ ├── ipa_structure.py # IPA/bundle anatomy analyzer167│ ├── dyld_cache.py # dyld shared cache extractor168│ ├── entitlements.py # provisioning/entitlement audit169│ ├── objc_swift.py # ObjC/Swift metadata recovery (full 64-bit runtime)170│ ├── hardened_runtime.py # flag audit171│ └── crypto_scan.py # crypto API + weakness scanner172├── dynamic/173│ ├── gadget_frida.py # Frida gadget injection helpers174│ ├── dyld_interpose.py # dyld API interposition tracing175│ ├── xpc_enum.py # XPC service enumeration176│ ├── launchd_inspect.py # launchd job inspection177│ └── jailbreak_check.py # multi-indicator compromise assessment178├── pentest/179│ ├── ipa_diff.py # risk-weighted IPA delta (SARIF)180│ ├── probe_plan.py # XPC/URL/extension probe gen181│ ├── device_baseline.py # mobilegestalt/sysctl drift182│ └── report_gen.py # unified evidence-schema reporting183├── scripts/184│ ├── re-sign_gadget.sh # IPA re-signing with gadget185│ ├── extract_dyld_cache.sh # macOS dyld cache extraction186│ └── baseline_capture.sh # device baseline capture187├── test/188│ └── macho_fixture.py # minimal valid Mach-O builder189├── test_fixtures.py # component test suite (15 tests)190├── references/ # knowledge base (12 topics)191│ ├── macho_format.md # Mach-O binary format192│ ├── ipa_structure.md # IPA/app bundle anatomy193│ ├── entitlements_ref.md # entitlement keys reference194│ ├── crypto_analysis.md # crypto APIs and weaknesses195│ ├── network_security.md # ATS, pinning, traffic analysis196│ ├── data_storage.md # keychain, defaults, file protection197│ ├── xpc_services.md # XPC architecture and enumeration198│ ├── jailbreak_detection.md # detection + bypass methods199│ ├── anti_tampering.md # anti-debugging, integrity checks200│ ├── frida_scripts.md # runnable Frida script library201│ ├── pac_bypass.md # PAC techniques202│ └── masvs_mapping.md # OWASP MASVS/MSTG mapping203└── templates/204 ├── pentest_report.md # report structure template205 └── entitlements_plist.xml # secure entitlements baseline206```207208## Verification209210Run the component test suite:211```bash212cd ~/.hermes/skills/security/ios-security-wizard213./ios-wizard test214```215216Expected output: `Results: 15 passed, 0 failed` (builds real Mach-O fixtures and exercises parsers, scanners, and report generation end-to-end).217218## Prerequisites219- macOS host for: dyld shared cache extraction, IPA re-signing, Xcode toolchain220- Linux host for: static analysis, Frida server (remote device)221- Apple Developer Program membership (for gadget re-signing)222- Frida 16+, Objection latest223- Python 3.11+ (stdlib only for core parsers)224225## Safety & Authorization226- **Only test devices you own or have explicit written authorization for**227- Gadget-mode requires re-signing — valid Apple Developer cert needed228- No jailbreak, no root — all dynamic via gadget/debugserver229- PAC bypass research: document only, do not weaponize230- Respect Apple's security model; report findings responsibly231232## Integration233- Complements: android-security-wizard (mobile security pair)234- Feeds: threat-intel-processing (IOCs from IPA analysis)235- Consumes: web-recon-scanning (C2 infrastructure from dynamic traces)236- Outputs: SARIF for CI/CD integration, markdown for human review237238## Quick Reference239240| Task | Entry Point |241|------|-------------|242| Full static triage | `./ios-wizard triage <target.ipa|App.app> -o report/` |243| Parse Mach-O | `./ios-wizard static macho <binary>` |244| Analyze IPA structure | `./ios-wizard static ipa <target.ipa|App.app>` |245| Audit entitlements | `./ios-wizard static entitlements <.mobileprovision>` |246| Extract dyld cache | `./ios-wizard static dyld --info <cache>` |247| Recover ObjC/Swift | `./ios-wizard static objc <binary>` |248| Scan crypto | `./ios-wizard static crypto <binary>` |249| Inject Frida gadget | `./scripts/re-sign_gadget.sh <.ipa>` |250| Trace dyld interpose | `./ios-wizard dynamic interpose --frida-script out.js` |251| Enumerate XPC | `./ios-wizard dynamic xpc <app_bundle>` |252| Inspect launchd | `./ios-wizard dynamic launchd --audit` |253| Jailbreak check | `./ios-wizard dynamic jailbreak` |254| IPA delta | `./ios-wizard pentest diff <old.ipa> <new.ipa>` |255| Generate probes | `./ios-wizard pentest probes <app_bundle>` |256| Device baseline | `./ios-wizard pentest baseline --capture` |257| Check drift | `./ios-wizard pentest baseline --check --baseline <file>` |258| Unified report | `./ios-wizard pentest report <findings.json...> -o report.md` |259| Run tests | `./ios-wizard test` |260261---262*Direct sibling of android-security-wizard — same philosophy, iOS constraints.*