Skip to content
Skillpedia
Mobile apps48k · #3358

ios-redteam-pipeline

Helps your agent test iOS app security. Creates a full process to find vulnerabilities.

What it does

This tool helps find a company's iOS apps (iPhone/iPad). It searches app stores, analyzes their files, and looks for important information or secrets.

When to use it

  • ✓When you need to find all of a company's iPhone apps.
  • ✓If you found a link to test an app before its release.
  • ✓When investigating a company app that might have hidden secrets.

Example of what to ask your AI

“I want to find all of 'ExampleCorp's apps on the App Store and analyze their files for secrets.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/ios-redteam-pipeline/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/ios-redteam-pipeline/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool first searches for the company's apps in the store. Then, it downloads the apps (if possible) and examines their internal files, like text and configurations, to find useful information.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill ios-redteam-pipeline

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/ios-redteam-pipeline/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

⚠️ AUTHORIZED USE ONLY This skill is for educational purposes or authorized security assessments only. You must have explicit, written permission from the system owner before using this tool. Misuse of this tool is illegal and strictly prohibited.

Mandatory confirmation gate Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:

  1. Ask the user to state the exact target URL, IP, account, or resource.
  2. Ask the user to confirm written authorization and the permitted scope.
  3. Show the exact command(s) and explain their expected effect.
  4. Wait for explicit confirmation in the current conversation.

Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.

When to use this skill

Trigger when:

  • Recon surfaces 1+ apps under the target's Apple Developer / App Store publisher page
  • A TestFlight public link or enterprise/ad-hoc .ipa/manifest.plist (OTA install) is found
  • Customer-facing app, dealer/partner portal, or employee mobile companion app ships on iOS
  • Bug bounty program lists iOS in scope
  • apk-redteam-pipeline already found Android endpoints/secrets — the iOS build often ships a different backend version worth diffing (see hunt-shadow-api)

DO NOT use for:

  • Android-only targets — that's apk-redteam-pipeline
  • React Native / Flutter apps already fully covered by JS-bundle analysis on the web side
  • Server-side only assessments with no mobile client in scope

Stage 0 — Inventory all org-owned iOS apps

# App Store search API (no auth, no scraping needed)
curl -s "https://itunes.apple.com/search?term=<brand>&country=us&entity=software&limit=50" | python3 -m json.tool

# Pull the full metadata for a known bundle ID (once you have one)
curl -s "https://itunes.apple.com/lookup?bundleId=com.<brand>.app&country=us"

Extract: trackId, bundleId, sellerName (developer account — pivot to find sibling apps), version, releaseNotes (changelogs often reference deprecated/removed API behavior — feeds hunt-shadow-api).

Cross-reference sibling-app bundle IDs surfaced from Android APK inventories (same multi-brand conglomerate usually reuses com.<corp>.<sub-brand> naming on both platforms).


Stage 1 — IPA acquisition

Primary: from a real device you control (no jailbreak needed for a purchased/free app)

# Install the app on a real device via Apple Configurator 2 or Xcode, then pull the .ipa
# Apple Configurator 2 (macOS): Devices > select device > right-click installed app > "Save to..."
# Or via libimobiledevice:
brew install libimobiledevice ideviceinstaller
ideviceinstaller -l              # list installed apps + bundle IDs

Secondary: TestFlight (if the program distributes betas publicly)

Open the public TestFlight link, install via the TestFlight app, then extract as above. TestFlight builds are frequently LESS hardened than App Store releases (debug logging left on, staging API hosts hardcoded) — always prefer a TestFlight build over the Store build if both exist.

Tertiary: enterprise / ad-hoc distribution (OTA install)

# itms-services:// links embed a manifest.plist with a direct .ipa URL
curl -s "https://<target>/manifest.plist" | plutil -convert xml1 -o - -
# Look for <key>software-package</key> — that URL is a directly downloadable, unencrypted IPA
curl -sk -L "<software-package-url>" -o target.ipa

Enterprise/ad-hoc IPAs are not FairPlay-encrypted — no jailbreak or decryption tooling needed, unlike an App Store binary pulled from a device.

Decrypting an App-Store-sourced binary (only if extracted from a jailbroken device)

App Store binaries are FairPlay-encrypted at rest; a binary copied off a jailbroken device needs runtime decryption (frida-ios-dump, bagbak, or flexdecrypt) before static tools can read it meaningfully:

pip install --break-system-packages frida-tools
# with frida-server running on the jailbroken device and the app in foreground:
python3 dump.py <bundle_id>          # frida-ios-dump — outputs a decrypted .ipa

Stage 2 — Unpack and static analysis

# An IPA is just a zip
unzip -o target.ipa -d extracted_target/
cd extracted_target/Payload/*.app

# Info.plist — bundle ID, URL schemes, ATS config, entitlements hint
plutil -convert xml1 -o - Info.plist


…
FAQ

Do I need permission to use this tool?

Yes, this tool is for educational or authorized security purposes only. You need written permission from the system owner before using it.

What is an 'IPA'?

IPA is the file format used to distribute apps on iOS. It's like a package containing all the app's files.

Can this tool find secrets in any app?

It's designed to find information in company apps, especially those that might have been developed with security or testing in mind. It's not guaranteed to work on all apps.

Details

Original description by the author

End-to-end iOS red-team pipeline

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3358
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills