igf

GitHub

IGF CLI技能,用于移动端应用动态插桩、运行时检查及证据捕获。支持iOS/Android设备管理、存储与元数据查询,以及通过REST API和Socket.IO RPC进行Frida脚本执行和会话控制。

skills/igf/SKILL.md ChiChou/grapefruit

Trigger Scenarios

需要检查移动端应用内部状态或文件结构 执行移动端运行时动态插桩或抓包 查询已持久化的移动端取证证据

Install

npx skills add ChiChou/grapefruit --skill igf -g -y
More Options

Use without installing

npx skills use ChiChou/grapefruit@igf

指定 Agent (Claude Code)

npx skills add ChiChou/grapefruit --skill igf -a claude-code -g -y

安装 repo 全部 skill

npx skills add ChiChou/grapefruit --all -g -y

预览 repo 内 skill

npx skills add ChiChou/grapefruit --list

SKILL.md

Frontmatter
{
    "name": "igf",
    "description": "Use Grapefruit's CLI for platform-specific mobile app inspection and managed captures. Query persisted evidence through the REST API. Use Frida directly for custom scripts and generic runtime primitives."
}

IGF CLI

Scope

Use IGF for platform-specific inspection (storage, keychain/keystore, manifests, frameworks) and managed captures with persisted evidence and hook snapshots. Use Frida's Python API or CLI for custom scripts, memory operations, threads, module/symbol enumeration, and basic process metadata. Attach a separate Frida session for that work.

The CLI and its daemon do not expose script.*, memory.*, threads.*, symbol.* (except platform-specific symbol.strings), info.processInfo, webview.evaluate, jsc.run, or rn.inject.

Commands

igf rpc [target options] <namespace.method> [args...]
igf session ls --json
igf session open [target options]
igf session close <id>
igf session gc
igf daemon stop
igf setup [--global]

Target options:

  • --device <id> --platform <ios|android> --bundle <id> for an app.
  • --device <id> --platform <ios|android> --pid <pid> [--name <name>] for a process.
  • --session <id> to reuse an explicit daemon session.

Reuse the target supplied by the user. -L <label> selects an isolated daemon; --project <path> selects its data directory. --replace replaces an active iOS app session when needed. --json requests predictable machine output.

RPC arguments are positional JSON values or plain strings. Use the actual namespace and method names from agent/src/{fruity,droid}/router.ts and their exported modules; there are no igf agent, igf device, igf log, or igf history subcommands.

Examples

# Inspect app storage
igf rpc --device DEVICE --platform android --bundle com.example.app fs.roots
igf rpc --session SESSION fs.ls /data/user/0/com.example.app
igf rpc --session SESSION sqlite.tables /path/to/database
igf rpc --session SESSION sqlite.dump /path/to/database users

# Inspect app metadata
igf rpc --device DEVICE --platform android --bundle com.example.app app.info
igf rpc --device DEVICE --platform ios --bundle com.example.app info.plist

# Manage captures
igf rpc --session SESSION pins.list
igf rpc --session SESSION pins.start crypto
igf rpc --session SESSION pins.snapshot
igf rpc --session SESSION pins.stop crypto

Common pin IDs:

  • Both: crypto, flutter, privacy.
  • Android: http, jni, classloader, clipboard, broadcast, intent, sharedpref, pendingintent, sslpinning, webview.
  • iOS: nsurl, xpc, sqlite, pasteboard, deviceid, biometric, fileops.

RPC acquires a short lease and releases it after the call. The daemon keeps the instrumentation session alive until idle collection closes it. Stop captures when finished and retrieve their persisted results.

Persisted Evidence and Device Discovery

The Web server is separate from the CLI daemon. Start igf --no-open with the same --project directory to query its REST API (default localhost:31337).

curl -s http://localhost:31337/api/devices
curl -s http://localhost:31337/api/device/DEVICE/apps
curl -s 'http://localhost:31337/api/history/crypto/DEVICE/com.example.app?limit=50'
curl -s 'http://localhost:31337/api/history/http/DEVICE/com.example.app?limit=50'
curl -s 'http://localhost:31337/api/history/nsurl/DEVICE/com.example.app?limit=50'

Additional history types include jni, flutter, xpc, privacy, and hermes. Hook records are at /api/hooks/DEVICE/IDENTIFIER. Consult src/routes/data.ts and src/routes/hermes.ts for filters and attachments. Present findings with actual captured evidence. Summarize large results and retrieve only the records needed.

Version History

  • 05852a9 Current 2026-10-19 21:28

    从CLI RPC接口中移除了通用的Frida原语功能

  • d16322f 2026-08-20 11:16

Same Skill Collection

skills/mastg/SKILL.md

Metadata

Files
0
Version
05852a9
Hash
ecf71a06
Indexed
2026-08-20 11:16

홈 - 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-24 12:31
浙ICP备14020137号-1