1. 项目背景与核心思路
在移动安全领域,安卓恶意软件检测一直是个棘手的难题。传统方案主要依赖特征码匹配和行为分析,但随着恶意软件进化速度加快,这些方法逐渐暴露出滞后性高、误报率大的缺陷。AppPoet项目另辟蹊径,将大语言模型(LLM)的提示工程能力引入检测流程,通过语义理解实现更智能的威胁识别。
这个方案的巧妙之处在于:它没有简单地将LLM作为黑箱分类器使用,而是通过精心设计的提示模板(Prompt Template),引导模型聚焦于APK文件中的关键特征。比如在分析某个银行木马样本时,系统会要求模型特别关注权限申请列表、敏感API调用模式以及网络通信行为这三个维度,最终给出带置信度的判断结果。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 核心组件设计
整个系统采用模块化架构,主要包含三个关键组件:
-
APK解析引擎:基于Androguard改造的定制化工具链,能提取以下关键要素:
- AndroidManifest.xml中的权限声明
- 反编译后的Smali代码调用关系
- 资源文件中的可疑字符串
- 动态分析沙箱的运行日志
-
提示工程工作台:包含多组预定义的提示模板,例如:
python复制def generate_permission_prompt(permissions): base = "分析以下Android权限组合,判断其恶意可能性:\n" return base + "\n".join(f"- {p}" for p in permissions) -
LLM推理网关:支持同时对接多个模型API(如GPT-4、Claude等),包含结果校验和投票机制
2.2 关键实现细节
在动态分析模块中,我们开发了独特的"行为触发器"机制。当APK在模拟器中运行时,系统会自动执行以下操作序列:
- 模拟用户点击遍历所有Activity
- 注入测试数据到输入框
- 监控后台服务启动情况
- 记录网络请求的域名和频次
这些行为日志会通过特定格式的prompt提交给LLM分析。例如当检测到高频请求陌生域名时,提示模板会强调:
"请注意以下网络行为模式:每30秒向akamai-tech.net发送加密数据
