/analyzing-ios-app-security-with-objection
Runtime iOS app security testing with Objection (Frida): inspect keychain and filesystem data, explore app internals at runtime, and validate/bypass client-side protections during authorized mobile assessments.
$ npx -y skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-ios-app-security-with-objection --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/analyzing-ios-app-security-with-objection
Context preview
The summary Claude sees to decide when to auto-load this skill.
Runtime iOS app security testing with Objection (Frida): inspect keychain and filesystem data, explore app internals at runtime, and validate/bypass client-side protections during authorized mobile assessments.
SKILL.md
analyzing-ios-app-security-with-objection.SKILL.mdname: analyzing-ios-app-security-with-objection
description: >-
Runtime iOS app security testing with Objection (Frida): inspect keychain and
filesystem data, explore app internals at runtime, and validate/bypass
client-side protections during authorized mobile assessments.
domain: cybersecurity
subdomain: mobile-security
author: mahipal
tags:
- mobile-security
- ios
- objection
- frida
- owasp-mobile
- penetration-testing
version: 1.0.0
license: Apache-2.0
atlas_techniques:
- AML.T0054
nist_ai_rmf:
- MEASURE-2.7
- MANAGE-2.4
- GOVERN-6.2
- MAP-5.1
nist_csf:
- PR.PS-01
- PR.AA-05
- ID.RA-01
- DE.CM-09
mitre_attack:
- T1635
- T1414
- T1417.001
- T1409
Analyzing iOS App Security with Objection
When to Use
Use this skill when:
- Performing runtime security assessment of iOS applications during authorized penetration tests
- Inspecting iOS keychain, filesystem, and memory for sensitive data exposure
- Bypassing client-side security controls (SSL pinning, jailbreak detection) during security testing
- Evaluating iOS app behavior at runtime without access to source code
**Do not use** this skill on production devices without explicit authorization -- Objection modifies app runtime behavior and may trigger security monitoring.
Prerequisites
- Python 3.10+ with pip
- Objection installed: `pip install objection`
- Frida installed: `pip install frida-tools`
- Target iOS device (jailbroken with Frida server, or non-jailbroken with repackaged IPA)
- For non-jailbroken: `objection patchipa` to inject Frida gadget into IPA
- macOS recommended for iOS testing (Xcode, ideviceinstaller)
- USB connection to target device or network Frida server
Workflow
Step 1: Prepare the Testing Environment
**For jailbroken devices:**
# Install Frida server on device via Cydia/Sileo
# SSH to device and start Frida server
ssh root@<device_ip> "/usr/sbin/frida-server -D"
# Verify Frida connectivity
frida-ps -U # List processes on USB-connected device
**For non-jailbroken devices (authorized testing):**
# Patch IPA with Frida gadget
objection patchipa --source target.ipa --codesign-signature "Apple Development: test@example.com"
# Install patched IPA
ideviceinstaller -i target-patched.ipa
Step 2: Attach Objection to Target App
# Attach to running app by bundle ID
objection --gadget "com.target.app" explore
# Or spawn the app fresh
objection --gadget "com.target.app" explore --startup-command "ios hooking list classes"
Once attached, Objection provides an interactive REPL for runtime exploration.
Step 3: Assess Data Storage Security (MASVS-STORAGE)
# Dump iOS Keychain items accessible to the app
ios keychain dump
# List files in app sandbox
ios plist cat Info.plist
env # Show app environment paths
# Inspect NSUserDefaults for sensitive data
ios nsuserdefaults get
# List SQLite databases
sqlite connect app_data.db
sqlite execute query "SELECT * FROM credentials"
# Check for sensitive data in pasteboard
ios pasteboard monitor
Step 4: Evaluate Network Security (MASVS-NETWORK)
# Disable SSL/TLS certificate pinning
ios sslpinning disable
# Verify pinning is bypassed by observing traffic in Burp Suite proxy
# Monitor network-related class method calls
ios hooking watch class NSURLSession
ios hooking watch class NSURLConnection
Step 5: Inspect Authentication and Authorization (MASVS-AUTH)
# List all Objective-C classes
ios hooking list classes
# Search for authentication-related classes
ios hooking search classes Auth
ios hooking search classes Login
ios hooking search classes Token
# Hook authentication methods to observe parameters
ios hooking watch method "+[AuthManager validateToken:]" --dump-args --dump-return
# Monitor biometric authentication calls
ios hooking watch class LAContext
Step 6: Assess Binary Protections (MASVS-RESILIENCE)
# Check jailbreak detection implementation
ios jailbreak disable
# Simulate jailbreak detection bypass
ios jailbreak simulate
# List loaded frameworks and libraries
memory list modules
# Search memory for sensitive strings
memory search "password" --string
memory search "api_key" --string
memory search "Bearer" --string
# Dump specific memory regions
memory dump all dump_output/
Step 7: Review Platform Interaction (MASVS-PLATFORM)
# List URL schemes registered by the app
ios info binary
ios bundles list_frameworks
# Hook URL scheme handlers
ios hooking watch method "-[AppDelegate application:openURL:options:]" --dump-args
# Monitor clipboard access
ios pasteboard monitor
# Check for custom keyboard restrictions
ios hooking search classes UITextField
Key Concepts
| Term | Definition | |------|-----------| | **Objection** | Runtime mobile exploration toolkit built on Frida that provides pre-built scripts for common security testing tasks | | **Frida Gadget** | Shared library injected into app process to enable Frida instrumentation without jailbreak | | **Keychain** | iOS secure credential storage system; Objection can dump items accessible to the target app's keychain access group | | **SSL Pinning Bypass** | Runtime modification of certificate validation logic to allow proxy interception of HTTPS traffic | | **Method Hooking** | Intercepting Objective-C/Swift method calls at runtime to observe arguments, return values, and modify behavior |
Tools & Systems
- **Objection**: High-level Frida-powered mobile security exploration toolkit with pre-built commands
- **Frida**: Dynamic instrumentation framework providing JavaScript injection into native app processes
- **Frida-tools**: CLI utilities for Frida including frida-ps, frida-trace, and frida-discover
- **ideviceinstaller**: Cross-platform tool for installing/managing iOS apps via USB
- **Burp Suite**: HTTP proxy for intercepting traffic after SSL pinning bypass
Common Pitfalls
- **App crashes on attach**: Some apps implement Frida detection.
Read more
name: analyzing-ios-app-security-with-objection description: >- Runtime iOS app security testing with Objection (Frida): inspect keychain and filesystem data, explore app internals at runtime, and validate/bypass client-side protections during authorized mobile assessments. domain: cybersecurity subdomain: mobile-security author: mahipal tags: - mobile-security - ios - objection - frida - owasp-mobile - penetration-testing version: 1.0.0 license: Apache-2.0 atlas_techniques: - AML.T0054 nist_ai_rmf: - MEASURE-2.7 - MANAGE-2.4 - GOVERN-6.2 - MAP-5.1 nist_csf: - PR.PS-01 - PR.AA-05 - ID.RA-01 - DE.CM-09 mitre_attack: - T1635 - T1414 - T1417.001 - T1409
Analyzing iOS App Security with Objection
When to Use
Use this skill when:
- Performing runtime security assessment of iOS applications during authorized penetration tests
- Inspecting iOS keychain, filesystem, and memory for sensitive data exposure
- Bypassing client-side security controls (SSL pinning, jailbreak detection) during security testing
- Evaluating iOS app behavior at runtime without access to source code
**Do not use** this skill on production devices without explicit authorization -- Objection modifies app runtime behavior and may trigger security monitoring.
Prerequisites
- Python 3.10+ with pip
- Objection installed: `pip install objection`
- Frida installed: `pip install frida-tools`
- Target iOS device (jailbroken with Frida server, or non-jailbroken with repackaged IPA)
- For non-jailbroken: `objection patchipa` to inject Frida gadget into IPA
- macOS recommended for iOS testing (Xcode, ideviceinstaller)
- USB connection to target device or network Frida server
Workflow
Step 1: Prepare the Testing Environment
**For jailbroken devices:**
# Install Frida server on device via Cydia/Sileo # SSH to device and start Frida server ssh root@<device_ip> "/usr/sbin/frida-server -D" # Verify Frida connectivity frida-ps -U # List processes on USB-connected device
**For non-jailbroken devices (authorized testing):**
# Patch IPA with Frida gadget objection patchipa --source target.ipa --codesign-signature "Apple Development: test@example.com" # Install patched IPA ideviceinstaller -i target-patched.ipa
Step 2: Attach Objection to Target App
# Attach to running app by bundle ID objection --gadget "com.target.app" explore # Or spawn the app fresh objection --gadget "com.target.app" explore --startup-command "ios hooking list classes"
Once attached, Objection provides an interactive REPL for runtime exploration.
Step 3: Assess Data Storage Security (MASVS-STORAGE)
# Dump iOS Keychain items accessible to the app ios keychain dump # List files in app sandbox ios plist cat Info.plist env # Show app environment paths # Inspect NSUserDefaults for sensitive data ios nsuserdefaults get # List SQLite databases sqlite connect app_data.db sqlite execute query "SELECT * FROM credentials" # Check for sensitive data in pasteboard ios pasteboard monitor
Step 4: Evaluate Network Security (MASVS-NETWORK)
# Disable SSL/TLS certificate pinning ios sslpinning disable # Verify pinning is bypassed by observing traffic in Burp Suite proxy # Monitor network-related class method calls ios hooking watch class NSURLSession ios hooking watch class NSURLConnection
Step 5: Inspect Authentication and Authorization (MASVS-AUTH)
# List all Objective-C classes ios hooking list classes # Search for authentication-related classes ios hooking search classes Auth ios hooking search classes Login ios hooking search classes Token # Hook authentication methods to observe parameters ios hooking watch method "+[AuthManager validateToken:]" --dump-args --dump-return # Monitor biometric authentication calls ios hooking watch class LAContext
Step 6: Assess Binary Protections (MASVS-RESILIENCE)
# Check jailbreak detection implementation ios jailbreak disable # Simulate jailbreak detection bypass ios jailbreak simulate # List loaded frameworks and libraries memory list modules # Search memory for sensitive strings memory search "password" --string memory search "api_key" --string memory search "Bearer" --string # Dump specific memory regions memory dump all dump_output/
Step 7: Review Platform Interaction (MASVS-PLATFORM)
# List URL schemes registered by the app ios info binary ios bundles list_frameworks # Hook URL scheme handlers ios hooking watch method "-[AppDelegate application:openURL:options:]" --dump-args # Monitor clipboard access ios pasteboard monitor # Check for custom keyboard restrictions ios hooking search classes UITextField
Key Concepts
| Term | Definition | |------|-----------| | **Objection** | Runtime mobile exploration toolkit built on Frida that provides pre-built scripts for common security testing tasks | | **Frida Gadget** | Shared library injected into app process to enable Frida instrumentation without jailbreak | | **Keychain** | iOS secure credential storage system; Objection can dump items accessible to the target app's keychain access group | | **SSL Pinning Bypass** | Runtime modification of certificate validation logic to allow proxy interception of HTTPS traffic | | **Method Hooking** | Intercepting Objective-C/Swift method calls at runtime to observe arguments, return values, and modify behavior |
Tools & Systems
- **Objection**: High-level Frida-powered mobile security exploration toolkit with pre-built commands
- **Frida**: Dynamic instrumentation framework providing JavaScript injection into native app processes
- **Frida-tools**: CLI utilities for Frida including frida-ps, frida-trace, and frida-discover
- **ideviceinstaller**: Cross-platform tool for installing/managing iOS apps via USB
- **Burp Suite**: HTTP proxy for intercepting traffic after SSL pinning bypass
Common Pitfalls
- **App crashes on attach**: Some apps implement Frida detection.
817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0
Repo: mukul975/Anthropic-Cybersecurity-Skills
Other skills on cybersecurity-skills.
- /abusing-dpapi-for-credential-access
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket's dpapi.py, including domain-wide decryption via the DPAPI backup key. Use
Open skill - /abusing-shadow-credentials-for-privesc
Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target's NT hash without a password reset. Use when BloodHound shows
Open skill - /achieving-cmmc-level-2-compliance
Prepare a defense-contractor environment for CMMC Level 2 certification: scope CUI and FCI, implement the 110 NIST SP 800-171 Rev 2 security requirements across 14 families, compute the SPRS score with the DoD Assessment Methodology, manage a compliant POA&M, and ready the
Open skill - /acquiring-disk-image-with-dd-and-dcfldd
Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving
Open skill - /analyzing-active-directory-acl-abuse
Detect dangerous ACL misconfigurations in Active Directory using ldap3
Open skill - /analyzing-android-malware-with-apktool
Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and
Open skill

