关于 competition-ios-runtime
面向安全竞赛的后续技能,用静态应用证据和定向运行时 hook 分析 iOS 信任边界。须在 `$ctf-sandbox-orchestrator` 建立沙箱假设和证据优先级后使用。
主要功能
- 01检查应用包元数据和存储路径
- 02针对狭窄的运行时信任边界 hook
- 03关联静态与实时证据
- 04复现最小可接受请求路径
适用场景
- 01追踪请求签名或证书检查
- 02调查 Keychain 访问和本地应用存储
- 03利用运行时证据复现受限请求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zhaoxuya520/ reverse-skill --skill competition-ios-runtime安装后在 Claude Code 中输入/competition-ios-runtime确认已加载。
附带文件agents/openai.yamlreferences/ios-runtime.md
详细介绍
Competition iOS Runtime
仅当 $ctf-sandbox-orchestrator 已处于活动状态,并已确立沙箱假设、节点归属和证据优先级后,才将此技能作为下游专项使用。若尚未满足该条件,请先回到 $ctf-sandbox-orchestrator。
当决定性路径需要经过实时 iOS 信任边界,而不仅仅是静态字符串或 plist 值时,请使用此技能。
除非用户明确要求英文,否则请用简体中文回复。
快速开始
- 将原始 IPA、解包后的 bundle,以及任何已解密或重签名的副本分别保留为独立产物。
- 在广泛运行时 hook 之前,先从
Info.plist、entitlements、URL schemes、frameworks、Keychain 使用情况和本地应用存储入手。 - 选择能证明行为的最窄运行时边界:签名器、信任评估器、Keychain 访问器、Objective-C 或 Swift 方法,或网络请求构造器。
- 在声称已理解信任路径之前,将静态 bundle 证据与实时 hook 输出进行关联。
- 用最小 hook 集合复现被接受的请求、token 或受门控分支。
工作流
1. 静态 iOS 初筛
- 梳理 bundle 结构、
Info.plist、entitlements、URL schemes、universal links、内嵌 frameworks 和 app group 路径。 - 记录可能的信任边界:请求签名器、设备绑定、证书检查、越狱检查、Keychain 访问或本地缓存加载。
- 注明敏感逻辑位于 Objective-C、Swift、内嵌 frameworks,还是打包的 Web 界面中。
2. Hook 运行时边界
- 优先 hook 请求构造器、加密辅助函数、信任评估器、Keychain 读取或 Objective-C selectors,而不是宽泛的 UI 处理器。
- 在会改变服务器接受结果的边界处,记录明文输入、headers、nonces、已签名字符串和输出。
- 仅以足以暴露真实请求路径为限,patch 或绕过 pinning 或环境检查。
3. 重放被接受的路径
- 重建最小的有状态序列:本地 token、设备标识符、请求体、签名、headers 和信任检查。
- 确保 hook 日志、bundle 路径、plist keys 和本地存储产物都关联到同一会话或账户状态。
- 如果任务主要变成 transform 恢复,而不是 iOS 运行时,请切回更广泛的 crypto 或 mobile 技能。
阅读此参考
- 加载
references/ios-runtime.md以获取 hook 目标、存储检查清单和证据打包。
需要保留的内容
- Bundle 路径、entitlements、plist keys、selectors、类名、hook 点和 header 名称
- Keychain 项、本地 DB 或 plist 路径、URL schemes 和 app-group 存储位置
- 能证明 iOS 信任边界的最小可重放请求或分支
评论
支持 Markdown