К основному содержанию
скилл CX Codex

analyzing-ios-app-security-with-objection — скилл для Claude Code

Скилл для runtime-тестирования iOS-приложений через Objection и Frida: дамп keychain, обход SSL pinning, проверка защиты от джейлбрейка.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-ios-app-security-with-objection -a claude-code
Открыть на GitHub

Что делает analyzing-ios-app-security-with-objection

Скилл ведёт агента по шагам ручного аудита iOS-приложения в рамках разрешённого пентеста. Objection — это надстройка над Frida с готовыми командами, поэтому не нужно писать скрипты на JavaScript для каждой проверки. Внутри семь шагов: подготовка окружения, подключение к приложению, разбор хранилища, сети, аутентификации, бинарных защит и взаимодействия с платформой.

На шаге хранилища скилл показывает, как выгрузить элементы keychain, прочитать Info.plist, посмотреть NSUserDefaults и подключиться к SQLite-базе приложения. Дальше идёт отключение SSL pinning командой ios sslpinning disable — трафик смотрят через Burp Suite. Для аутентификации агент перечисляет классы Objective-C, ищет их по подстрокам вроде Auth или Token и вешает хук на методы с выводом аргументов и возвращаемых значений.

Что нужно заранее: Python 3.10+ с pip, пакеты objection и frida-tools, целевое устройство на iOS — либо с джейлбрейком и запущенным Frida server, либо без него, но с пересобранным IPA через objection patchipa. Для iOS-тестирования советует macOS с Xcode и ideviceinstaller. Важный момент: Objection меняет поведение приложения в рантайме и может сработать на системах мониторинга, поэтому на рабочих устройствах без явного разрешения его не применяют. Все правки живут только до перезапуска приложения — находки фиксируйте сразу. Некоторые приложения детектируют Frida и падают при подключении; скилл предлагает вешать хуки на анти-Frida проверки через --startup-command на старте.

Какие задачи решает

  • выгрузить элементы keychain, доступные приложению
  • отключить SSL pinning и посмотреть HTTPS-трафик через прокси
  • найти классы и методы аутентификации по имени и повесить на них хук
  • проверить, как приложение детектирует джейлбрейк
  • поискать пароли и API-ключи в памяти процесса

Примеры запросов агенту

  • Подготовь окружение для аудита iOS-приложения: джейлбрейк-устройство, Frida server, Objection
  • Выгрузи keychain и NSUserDefaults целевого приложения и покажи, что там лежит
  • Отключи SSL pinning и проверь, проходит ли трафик через Burp Suite

Как установить analyzing-ios-app-security-with-objection

1Через Skills CLI (Vercel)

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-ios-app-security-with-objection -a claude-code

2Вручную: положить файлы

~/.claude/skills/analyzing-ios-app-security-with-objection/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/analyzing-ios-app-security-with-objection/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о analyzing-ios-app-security-with-objection

Как установить analyzing-ios-app-security-with-objection в Claude?

Одной командой: npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-ios-app-security-with-objection -a claude-code. После этого файл скилла окажется в ~/.claude/skills/analyzing-ios-app-security-with-objection/SKILL.md.

Что делает этот скилл?

Проводит runtime-аудит iOS-приложения через Objection поверх Frida: смотрит keychain, файловую систему и память, обходит SSL pinning и защиту от джейлбрейка, хукает методы аутентификации.

Можно ли использовать его на устройстве без джейлбрейка?

Да, но IPA придётся пересобрать: objection patchipa --source target.ipa --codesign-signature "Apple Development: [email protected]", а затем поставить через ideviceinstaller. На джейлбрейк-устройстве достаточно запустить Frida server.

Исходный текст

SKILL.md · Apache-2.0
---
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:**
```bash
# 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):**
```bash
# Patch IPA with Frida gadget
objection patchipa --source target.ipa --codesign-signature "Apple Development: [email protected]"

# Install patched IPA
ideviceinstaller -i target-patched.ipa
```

### Step 2: Attach Objection to Target App

```bash
# 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)

```bash
# 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)

```bash
# 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)

```bash
# 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)

```bash
# 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)

```bash
# 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. Use `--startup-command` to hook anti-Frida checks early in the app lifecycle.
- **Keychain access scope**: Objection can only dump keychain items within the app's access group. System keychain items require separate jailbreak-level tools.
- **Swift name mangling**: Swift method names are mangled in the runtime. Use `ios hooking list classes` with grep to find demangled names.
- **Non-persistent changes**: All Objection modifications are runtime-only and reset on app restart. Document findings immediately.

© mahipal · Apache-2.0 · mukul975/Anthropic-Cybersecurity-Skills

Похожие скиллы

Всё по теме «Безопасность» →
mobile-ssl-pinning-bypass yaklang Плейбук по обходу SSL pinning в мобильных приложениях: методы для Android и iOS, отдельные приёмы под Flutter, React Native и Xamarin. CX Codex +1 3 600установок ios-pentesting-tricks yaklang Плейбук по тестированию iOS-приложений: извлечение данных из keychain, перехват URL-схем, разбор Universal Links, работа с runtime. CX Codex +1 3 700установок ios-app-intents официальный OpenAI Помогает проектировать App Intents, сущности и App Shortcuts для iOS. Пригодится, когда нужно вынести действия приложения в Siri, Spotlight, шорткаты или виджеты. CX Codex GP ChatGPT 99установок mobile-audit briiirussell Скилл проверяет безопасность мобильных приложений под iOS и Android по стандартам OWASP MASVS и MASTG. Пригодится при аудите кода, настроек хранилища, криптографии и сетевого слоя. CX Codex +1 389установок SwiftUI iOS App taste f Набор правил для SwiftUI-проекта: как строить экраны, где хранить состояние и что делать с устаревшими API. Пригодится, когда агент пишет новый код для iOS. GP ChatGPT ★ 174 597звёзд репо security-payloads Eyadkelleh Набор готовых пейлоадов из SecLists для проверки фильтрации имён файлов, загрузки данных и работы антивируса. Пригодится пентестерам и разработчикам при аудитах защищённости. CX Codex +1 564установок

Из того же набора89

abusing-dpapi-for-credential-access Руководство по извлечению секретов Windows DPAPI: сохранённых паролей Credential Manager, кук браузеров и ключей. Пригодится на пентестах после получения доступа к хосту. CX Codex +1 442установок analyzing-linux-kernel-rootkits Скилл ищет признаки руткитов уровня ядра в дампах памяти Linux и на работающей системе. Пригодится для расследований и форензики. CX Codex +1 442установок analyzing-golang-malware-with-ghidra Разбирает Go-бинарники в Ghidra: достаёт buildinfo, pclntab, имена функций и зависимости. Нужен при анализе образца, собранного на Go. CX Codex +1 441установок analyzing-network-packets-with-scapy Скилл направляет анализ сетевых пакетов через Scapy: от разбора pcap до поиска аномального трафика. Нужен для авторизованного тестирования и сетевой криминалистики. CX Codex +1 441установок implementing-secret-scanning-with-gitleaks Скилл помогает настроить Gitleaks для поиска секретов в Git-репозитории и блокировать их попадание в историю. Нужен для локальных хуков и CI/CD. CX Codex +1 439установок testing-for-json-web-token-vulnerabilities Пошаговое руководство для агента по аудиту JWT: поиск обхода проверки подписи, подмена RS256 на HS256, инъекции в kid и перебор секретов. CX Codex +1 431установок analyzing-network-traffic-for-incidents Скилл для разбора сетевого трафика во время инцидента: ищет C2-каналы, боковое перемещение и утечки данных по PCAP и flow-данным. CX Codex +1 430установок performing-web-application-vulnerability-triage Разбирает отчёты DAST- и SAST-сканеров, отсекает ложные срабатывания и рассчитывает риски по OWASP. Помогает приоритизировать баги для разработчиков. CX Codex +1 433установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой