auditing-appstore-readiness

🧾 专业级 iOS 上架合规审查工具

iOS App Store 合规审计工具,支持 Swift/RN/Expo 项目本地只读扫描,检测隐私清单与发布风险,输出专业级 PASS/WARN/FAIL 评估报告。

收藏
10.9k
安装
2.8k
版本
v1.0.0
CLS 安全性认证2026-05-12
点击查看完整报告 >

使用说明

该 Skill 是一款专为 iOS 应用商店发布准备的合规性审计工具,支持原生 Swift/Objective-C、React Native 及 Expo 项目。通过运行本地 Node.js 脚本,它能够对代码仓库进行全面的静态分析,检测隐私清单、权限配置、应用图标、启动图等关键合规项,并生成包含 PASS/WARN/FAIL 评级的专业报告。

核心用法围绕 audit.mjs 脚本展开。开发者只需在项目根目录执行命令,即可获得 Markdown 或 JSON 格式的审计结果。工具会自动识别项目类型(通过检测 package.json、Xcode 项目文件等),并执行分层检查:基础层包括仓库卫生、Bundle ID 识别、隐私政策链接检查;进阶层涵盖隐私清单(PrivacyInfo.xcprivacy)完整性、ATS 配置安全性、第三方 SDK 合规性;对于 macOS 环境,还可选配 Xcode 构建验证,通过 xcodebuild 命令检测编译可行性。

显著优点在于其多框架兼容性与安全设计。不同于单一技术栈工具,它统一支持原生开发与跨平台方案,满足多样化团队需求。安全层面采用"默认只读"原则,所有可能修改工作区的操作(如依赖安装、构建归档)均被明确标记为 MUTATING,需用户显式授权后方可执行,有效防止误操作。此外,工具完全本地运行,无网络通信,不收集敏感数据,反而能扫描并警告仓库中可能泄露的密钥。

局限性方面,完整功能依赖 Node.js 运行环境,且深度构建检查仅限 macOS/Xcode 环境可用,Linux/Windows 用户仅能获取静态分析结果。作为 T3 来源的社区工具,虽代码已开源审查,但仍建议团队在使用前进行内部安全评估。此外,工具无法替代人工审核,App Store Connect 元数据、版权合规、出口管制等关键事项仍需开发者手动确认。

适用群体主要包括:准备提交 TestFlight 或 App Store 的 iOS 开发者;需要 CI/CD 集成自动化合规检查的 DevOps 工程师;以及使用 React Native/Expo 技术栈的跨平台团队。对于追求发布流程标准化、希望降低因配置疏漏导致审核驳回风险的团队尤为适用。

使用风险主要集中在执行环境上。尽管工具本身无恶意代码,但其通过 child_process.spawnSync 调用外部二进制文件(git、plutil、python3),虽参数经过严格过滤且禁用 shell 解释,但在极端输入情况下仍需警惕命令注入可能。建议仅在受信任的代码仓库上运行,并妥善保管生成的审计报告(可能包含 Bundle ID 等应用指纹信息)。

安全解读

功能概述

auditing-appstore-readiness 是一款面向 iOS 开发者的自动化合规审计工具,旨在评估应用仓库是否满足 App Store / TestFlight 提交要求。该 Skill 支持三种主流技术栈:原生 iOS(Swift/Objective-C)、React Native(bare)以及 Expo(managed 或 prebuild),通过静态分析与可选的构建验证相结合,生成结构化的发布就绪报告。

核心用法

该 Skill 采用只读优先的设计理念,核心工作流包括:

1. 项目识别:自动检测仓库类型(Expo/React Native/原生 iOS),识别 bundle ID、版本号、构建号等关键标识符
2. 静态合规检查:无需 Xcode 即可执行的多项关键验证:

3. 构建准确性验证(可选,需 macOS + Xcode):通过 xcodebuild 执行 Release 构建验证,检测编译问题
4. 报告生成:输出 PASS/WARN/FAIL 综合 verdict,附带详细检查项、证据、修复建议及可勾选的发布清单

  • 仓库卫生(Git 状态清洁、无硬编码密钥泄露)
  • iOS 标识符完整性
  • App Store 图标(1024×1024)及启动屏存在性
  • 隐私合规:PrivacyInfo.xcprivacy 清单、权限使用说明字符串、ATS 配置审查
  • 第三方 SDK 许可证与隐私声明
  • 商店列表基础信息(隐私政策 URL、支持联系方式)

用户可通过 node scripts/audit.mjs --repo . --format md 快速启动审计,支持 Markdown 和 JSON 双格式输出。

显著优点

  • 多栈兼容:单一工具覆盖 iOS 开发生态的主流技术路径,降低团队切换成本
  • 安全设计:默认只读操作,明确标注 MUTATING 命令(如 pod installxcodebuild archive),避免意外修改生产仓库
  • 供应链安全:审计脚本仅依赖 Node.js 内置模块(fs, path, child_process),零第三方 npm 依赖,消除供应链攻击面
  • 合规前瞻:内置 Apple 隐私清单(Privacy Manifest)、权限字符串、ATS 策略等最新审核要求,减少被拒风险
  • 自动化集成:JSON 输出格式便于接入 CI/CD 流水线,实现发布门禁自动化

潜在局限与风险

  • 平台依赖:完整功能(构建验证、签名检查)需 macOS + Xcode 环境,Linux/Windows 节点仅能执行静态检查,置信度降级为 WARN
  • 无法验证的项:商店元数据(截图、描述、关键词、年龄分级)、出口合规声明、知识产权授权、应用内购买配置等仍需人工审核
  • 规则时效性:App Store 审核指南更新频繁,内置检查清单需持续维护,存在滞后风险
  • 误报可能:密钥检测基于文件扩展名模式匹配(.p12, .p8, .env 等),可能将合法示例文件标记为风险

适合人群

  • iOS 开发团队:在发布冲刺阶段执行标准化合规预检
  • React Native/Expo 开发者:弥补跨平台开发中对原生 iOS 审核要求的专业知识缺口
  • CI/CD 工程师:构建自动化发布门禁,阻断明显不合规的构建进入提交流程
  • 技术负责人:建立团队级发布 Checklist,降低因配置疏漏导致的审核延误

常规风险管控

  • 始终优先使用只读模式审计,避免在生产分支执行自动修复
  • 审计前确认仓库 Git 状态清洁,防止未提交的本地修改干扰检测结果
  • 对 WARN 级别 verdict 建立人工复核机制,不自动视为可发布
  • 定期同步 Skill 内置规则与 Apple 官方审核指南的最新变更

auditing-appstore-readiness 内容

references文件夹
scripts文件夹
手动下载zip · 17.9 kB
expo.mdtext/markdown
请选择文件