关于 Mobile Application Security
面向 Android 和 iOS 应用评估的 Claude 技能,依据 OWASP MASVS 与 MASTG 指导静态分析、动态测试及恶意应用排查。仅适用于自有或已获授权的应用。
主要功能
- 01APK 与 IPA 静态分析
- 02检查存储与密钥保护
- 03评估网络传输与证书固定
- 04使用 Frida 和 objection 指导动态测试
- 05审查平台交互与防篡改控制
- 06可疑 APK 恶意软件排查
适用场景
- 01检查 Android 应用清单、组件与硬编码密钥
- 02评估 iOS 应用配置和敏感数据存储
- 03在测试设备上排查 TLS 与运行时行为
- 04分析可疑 APK 的权限和潜在指标
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ masriyan/ claude-code-cybersecurity-skill --skill mobile-application-security安装后在 Claude Code 中输入/mobile-application-security确认已加载。
附带文件examples/example_usage.mdscripts/apk_analyzer.py
详细介绍
移动应用安全
目的
帮助 Claude 根据 OWASP MASVS(移动应用安全验证标准)评估 Android 和 iOS 应用安全,并执行 OWASP MASTG(移动应用安全测试指南)中的测试。Claude 会对 APK/IPA 制品执行静态分析,指导动态插桩(Frida/objection),审查安全存储、传输和平台交互控制,并对可能存在恶意行为的移动应用进行分类。
需要授权:仅测试你拥有或已获明确授权评估的应用。反编译和修改第三方应用可能违反许可协议和法律。开始前请确认书面授权范围。
触发条件
用户询问以下内容时,将启用此技能:
- Android(APK/AAB)或 iOS(IPA)应用安全测试
- OWASP MASVS / MASTG 验证或移动渗透测试清单
- 反编译、逆向或移动应用静态分析
- 不安全的数据存储、硬编码密钥或 keystore/keychain 审查
- 证书固定、SSL 绕过或移动 TLS/传输安全
- Frida / objection 动态插桩或运行时 Hook
AndroidManifest.xml、导出组件、深层链接或Info.plist审查- 移动恶意软件分析或可疑 APK 分类
- Root/越狱检测、篡改或反向工程控制
前置条件
pip install requests pyaxmlparser
可选增强功能:
apktool— APK 解码/重建jadx— Dalvik → Java 反编译器apkid— 加壳工具/混淆器/编译器指纹识别frida/objection— 动态插桩mobsf(MobSF) — 自动化静态和动态分析平台- Android SDK platform-tools (
adb)、unzip、openssl
核心功能
1. APK 静态分析
收到 APK 分析请求时:
- 解包与解码 —
apktool d app.apk;提取AndroidManifest.xml、classes*.dex、resources.arsc、原生库(lib/)和资源文件。 - 审查清单 — 标记:
android:debuggable="true"、android:allowBackup="true"- 缺少权限保护的导出组件(带有
exported="true"或通过 intent-filter 隐式导出的activity/service/receiver/provider) usesCleartextTraffic="true"/ 过于宽松的network_security_config- 危险/过多权限;
protectionLevel较弱的自定义权限 - 深层链接 /
android:autoVerify(应用链接劫持)、已导出的ContentProvider路径
- 查找密钥 — 扫描反编译后的源代码/资源文件/资产,查找 API 密钥、令牌、私钥、云凭据、硬编码的加密密钥/IV 和后端 URL。
- 反编译 — 使用
jadx转换为 Java;审查身份验证、加密、WebView(addJavascriptInterface、setJavaScriptEnabled、使用不可信输入调用loadUrl)和 SQL。 - 原生代码与加壳 — 使用
apkid检查加壳工具/混淆器;检查lib/*/*.so中的 JNI 入口点和硬编码数据。 - 签名 — 验证签名方案(v1/v2/v3)、是否使用调试证书以及完整性。
使用 scripts/apk_analyzer.py 执行自动化初步分析。
2. iOS(IPA)静态分析
收到 IPA 分析请求时:
- 解压 IPA;找到
Payload/<App>.app/。 Info.plist— 检查NSAppTransportSecurity例外(NSAllowsArbitraryLoads)、URL 方案、UIFileSharingEnabled和权限用途说明字符串。- 二进制检查 — 检查加密(
cryptid)、PIE、栈保护和 ARC;使用otool/class-dump检测缺失的加固措施。 - 查找密钥 — 使用
strings并扫描资源,查找密钥、端点和令牌。 - 数据存储 — 检查
NSUserDefaults、Core Data、Keychain 辅助功能类别(避免使用kSecAttrAccessibleAlways)以及静态存储的 plist 数据。 - 内嵌配置描述文件 — 检查授权和分发方式(临时分发或企业分发)。
3. 不安全的数据存储(MASVS-STORAGE)
检查敏感数据静态存储的位置:
- Android:SharedPreferences、SQLite、内部/外部文件、日志、WebView 缓存、剪贴板。确认敏感材料使用 Keystore 保护的密钥。
- iOS:Keychain(访问权限设置正确),NSUserDefaults/plists 中不存储机密信息,应用快照/备份中不包含敏感数据。
- 标记以明文或使用应用派生密钥存储的任何 PII、令牌或凭据。
4. 网络与传输(MASVS-NETWORK)
- 确认所有流量均使用 TLS;不存在明文回退。
- 存在并验证证书/公钥固定;记录使用 objection/Frida 绕过固定以进行测试的方法。
- 使用拦截代理(Burp/mitmproxy)检查 API 流量;测试是否存在与 Web 相同的 API 漏洞(→ Skill 09):IDOR、认证失效、批量赋值。
5. 动态分析与插桩
指导在已 root/越狱的测试设备或模拟器上进行运行时测试:
- objection 快速检查:
android sslpinning disable、android root disable、导出 keystore/keychain、列出 activities、启动导出的组件。 - 使用 Frida hook 加密 API、认证检查、root/越狱检测绕过,并跟踪敏感方法调用。
- 使用过程中观察文件系统和 logcat,检查是否发生数据泄漏。
6. 平台交互与防篡改(MASVS-PLATFORM / RESILIENCE)
- IPC:验证导出的组件、intent 处理、
ContentProvider权限、自定义 URL scheme/深层链接验证。 - WebView:不需要时禁用 JS;绝不向不可信内容暴露特权 JS 接口。
- 弹性(纵深防御,本身并非漏洞):root/越狱检测、反调试、反 hook、代码混淆、完整性检查。
7. 移动恶意软件初筛
对于可疑 APK:检查 apkid 加壳情况、请求的权限与所述功能是否相符、滥用辅助功能服务、短信/拨号器/悬浮层权限(银行木马标志)、字符串中的 C2 URL、动态代码加载(DexClassLoader)。将已确认的 IOC 提交至 → Skill 06,深入 RE 转至 → Skill 04/05。
输出规范
# Mobile App Security Assessment — [App / Package]
Date: [Date] | Platform: [Android/iOS] | Version: [x.y.z] | Analyst: [Name]
## Executive Summary
[Posture, count by severity, top risks]
## MASVS Coverage
| Category | Result | Notes |
|----------|--------|-------|
| STORAGE | Fail | Token in SharedPreferences plaintext |
| CRYPTO | Pass | ... |
| NETWORK | Partial | No pinning |
| PLATFORM | ... |
| CODE / RESILIENCE | ... |
## Findings
### [M-01] Hardcoded API Key in resources (High)
- MASTG-TEST ref / MASVS-STORAGE
- Evidence: res/values/strings.xml:api_key=...
- Impact / Remediation: [rotate, move to backend, ...]
## Recommendations (Prioritized)
脚本参考
apk_analyzer.py
# Static triage of an APK: manifest flags, permissions, exported components, secrets
python scripts/apk_analyzer.py --apk app.apk --output apk_report.json
# Secret-scan the decoded sources too (point at an apktool/jadx output dir)
python scripts/apk_analyzer.py --apk app.apk --sources ./jadx_out --output apk_report.json
技能集成
| 下一步 | 条件 | 目标技能 |
|---|---|---|
| 后端 API 测试 | 应用与 REST/GraphQL API 通信 | → Skill 09 |
| 深入原生/二进制 RE | .so / 混淆逻辑 | → Skill 04 |
| 恶意软件分类 | 可疑/加壳 APK | → Skill 05 |
| IOC 关联分析 | 发现 C2/恶意基础设施 | → Skill 06 |
| 加密实现审查 | 应用中使用自定义加密 | → Skill 13 |
参考资料
评论
支持 Markdown