AppPoet: Large Language Model based Android malware detection via multi-view prompt engineering
<|reference_start|>AppPoet: Large Language Model based Android malware detection via multi-view prompt engineering: Due to the vast array of Android applications, their multifarious functions and intricate behavioral semantics, attackers can adopt various tactics to conceal their genuine attack intentions within legitimate functions. However, numerous learning-based methods suffer from a limitation in mining behavioral semantic information, thus impeding the accuracy and efficiency of Android malware detection. Besides, the majority of existing learning-based methods are weakly interpretive and fail to furnish researchers with effective and readable detection reports. Inspired by the success of the Large Language Models (LLMs) in natural language understanding, we propose AppPoet, a LLM-assisted multi-view system for Android malware detection. Firstly, AppPoet employs a static method to comprehensively collect application features and formulate various observation views. Then, using our carefully crafted multi-view prompt templates, it guides the LLM to generate function descriptions and behavioral summaries for each view, enabling deep semantic analysis of the views. Finally, we collaboratively fuse the multi-view information to efficiently and accurately detect malware through a deep neural network (DNN) classifier and then generate the human-readable diagnostic reports. Experimental results demonstrate that our method achieves a detection accuracy of 97.15% and an F1 score of 97.21%, which is superior to the baseline methods. Furthermore, the case study evaluates the effectiveness of our generated diagnostic reports.<|reference_end|>
@article{zhao2024apppoet:,
    title={AppPoet: Large Language Model based Android malware detection via
  multi-view prompt engineering},
    author={Wenxiang Zhao, Juntao Wu, Zhaoyi Meng},
    journal={arXiv preprint arXiv:2404.18816},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.18816},
    primaryClass={cs.CR cs.SE}
}