一句话:移动端的活一半在"读代码"(反编译后的 Java/Swift),这正好是 AI 的主场。

一、移动端渗透的特点

特点 说明 AI 适配度
反编译产物可读 Java/Smali、Swift/OC 伪代码 ★★★★★
硬编码问题多 密钥、接口、凭据 ★★★★★
组件暴露 Android 四大组件 ★★★★☆
加壳/混淆 加固后的代码 ★★☆☆☆
抓包/改包 需要工具链 ★★★☆☆
动态调试 Frida hook ★★★★☆

二、反编译代码的批量审计

APK 反编译后有几千个类,人工看不完。让 AI 批量扫:

# 任务
扫描以下反编译的 Java 代码,找出安全问题:
1. 硬编码敏感信息(API Key、密钥、账号密码、内网地址)
2. 不安全的加密使用(ECB、硬编码 IV、弱随机)
3. 明文传输(http:// 而非 https://)
4. 日志泄露敏感信息(Log.d 打印 token)
5. WebView 配置不当(setJavaScriptEnabled + addJavascriptInterface)
6. 不安全的外部存储(SD 卡写敏感数据)

# 输出
| 类型 | 文件 | 代码片段 | 风险 | 建议 |

# 代码
[java 代码]

硬编码检测是 AI 的高价值场景——它比正则强,因为能区分"这是个示例字符串"和"这是个真实密钥"。

三、硬编码密钥的智能识别

# 任务
判断以下字符串是否为真实敏感信息(而非示例/占位符):
- "AIzaSyD-9tSrke72PouQMnMX-a7eZSW0jkFMBWY"  (Google API Key?)
- "AKIAIOSFODNN7EXAMPLE"                      (AWS?)
- "sk-xxxx"                                    (占位符?)
- "http://192.168.1.100:8080/api"             (内网地址?)

# 输出
{"value": "", "type": "", "is_real": bool, "confidence": 0.0, "note": ""}

AI 能识别出 AWS Key 的格式规律、Google API Key 的前缀特征,以及哪些明显是文档示例。

四、Android 组件暴露分析

# 输入
AndroidManifest.xml:
```xml
<activity android:name=".UserProfileActivity" android:exported="true">
    <intent-filter>
        <action android:name="com.app.PROFILE"/>
    </intent-filter>
</activity>
<provider android:name=".FileProvider" 
          android:authorities="com.app.file" 
          android:exported="true" 
          android:grantUriPermissions="true"/>
<receiver android:name=".SmsReceiver" android:exported="true">
    <intent-filter><action android:name="android.provider.Telephony.SMS_RECEIVED"/></intent-filter>
</receiver>

任务

  1. 找出所有导出的组件
  2. 分析每个组件的安全风险
  3. 给出利用思路(如通过 adb 构造 Intent 调用)
  4. 标出高危项

AI 会指出:导出的 Activity 可被任意 App 调用、导出的 Provider 可能造成任意文件读取、导出的 Receiver 可能被伪造广播。

并给出验证命令:

```bash
# 调用导出的 Activity
adb shell am start -n com.app/.UserProfileActivity --es user_id 1002

# 尝试访问导出的 Provider
adb shell content query --uri content://com.app.file/../../data/data/com.app/shared_prefs/

五、Frida Hook 脚本生成

这是 AI 在移动端最有价值的用法之一:

# 背景
目标 App 使用 AES 加密请求参数,我需要拿到明文和密钥。
已定位到类 com.app.utils.EncryptUtil,方法 encrypt(String)。

# 任务
生成 Frida hook 脚本,要求:
1. hook encrypt 方法,打印入参和返回值
2. hook 密钥相关方法,打印密钥
3. 输出可直接运行的 JS 脚本

AI 输出:

Java.perform(function() {
    var EncryptUtil = Java.use('com.app.utils.EncryptUtil');
    
    EncryptUtil.encrypt.implementation = function(input) {
        console.log('[+] encrypt 输入: ' + input);
        var result = this.encrypt(input);
        console.log('[+] encrypt 输出: ' + result);
        return result;
    };
    
    // hook 密钥获取
    try {
        var KeyUtil = Java.use('com.app.utils.KeyUtil');
        KeyUtil.getSecretKey.implementation = function() {
            var key = this.getSecretKey();
            console.log('[+] 密钥: ' + key);
            return key;
        };
    } catch(e) { console.log('[-] KeyUtil 未找到'); }
});

六、SSL Pinning 绕过

# 背景
目标 App 启用了证书校验(SSL Pinning),Fiddler 抓包失败。
App 未加固。

# 任务
给出 3 种绕过方案:
1. Frida 通用脚本(SSL unpinning)
2. 基于常见库(OkHttp/TrustManager)的定向 hook
3. 重打包方案(修改 AndroidManifest + 注入)
每种给出完整代码和操作步骤。

AI 会输出常用的 frida-multiple-unpinning 脚本核心逻辑,以及 OkHttp 的 CertificatePinner hook 代码。

七、iOS 端辅助

# 输入
iOS 二进制中的类方法列表(class-dump 输出):
[贴入]

# 任务
1. 识别与安全相关的类(加密、认证、存储)
2. 找出可能的敏感方法
3. 生成对应的 Frida hook 脚本(Objective-C)

iOS 的 Objective-C 方法名可读性好,AI 分析效果比 Android 更好。

八、协议与接口梳理

从 App 里提取所有接口,让 AI 整理:

# 输入
从 APK 中提取的 URL 列表(部分):
https://api.target.com/v1/user/login
https://api.target.com/v1/order/list
http://old-api.target.com/debug/test
https://test-api.target.com/v1/admin/all

# 任务
1. 按功能分组
2. 标出高风险接口(admin/debug/test/old)
3. 标出使用 http 的接口
4. 推测哪些接口可能无鉴权
5. 输出测试优先级

这一招在实战中极其有效——测试环境接口、老版本接口往往是突破口。

九、自动化流水线

解包(apktool/jadx)
  → 提取敏感字符串(AI 过滤)
  → 分析 Manifest 组件暴露(AI 分析)
  → 提取接口清单(AI 分组排序)
  → 静态审查代码(AI 扫描)
  → Frida 动态验证(AI 生成 hook)
  → 输出报告(AI 汇总)

十、注意事项

  1. 只测授权 App:包括你自有的和客户授权的
  2. 加固 App 处理:AI 对加固代码帮助有限,需要先脱壳
  3. 隐私合规:测试中接触的用户数据要严格保密
  4. Frida 反检测:部分 App 有反调试,需要配合绕过
  5. 环境隔离:用模拟器/测试机,不用主力手机

十一、小结

移动端渗透是静态分析密集的场景,AI 优势明显:

环节 AI 价值
反编译代码审计 ★★★★★
硬编码识别 ★★★★★
Manifest 组件分析 ★★★★☆
Frida 脚本生成 ★★★★★
接口梳理 ★★★★☆
SSL Pinning 绕过 ★★★★☆
加壳/混淆处理 ★★☆☆☆

下一篇:AI 辅助云安全配置审计。


系列文章:AI 渗透测试与漏洞挖掘实战