用途:为使用大语言模型检测二进制代码漏洞提供研究支持的技术指南,在 skwaq 智能体执行二进制分析时自动加载以提升效果。
核心原则:反编译优先。LLM 无法有效推理原始字节或汇编,不同 CWE 类型的原始汇编余弦相似度高达 98%,难以分类,因此应先反编译为伪 C 再分析。流程为:二进制 → 反汇编 → 反编译(Ghidra)→ LLM 增强 → 漏洞分析。
主要能力:反编译代码优化(变量重命名、类型恢复、控制流重构、漏洞标注),据 VulBinLLM(2025)可提升检测准确率 20-40%;补丁差分双提示策略(先特征化再排序,据 Bishop Fox 2025 可将易受攻击函数 100% 排入前五);证据优先提示(每条结论须引用代码、函数名与偏移,区分反编译器伪影与真实漏洞,标注置信度);函数级分析与记忆管理(按攻击面×危险汇排序、单函数单次调用、归档摘要、二次分析);LLM 与传统工具混合分析(模糊测试、符号执行、污点分析、SARIF/CodeQL 结合)。
危险 API 模式:涵盖内存破坏(strcpy/strcat、sprintf、memcpy、malloc/realloc)、释放后使用/双重释放、整数问题、命令/代码注入,以及固件/IoT 特有模式(硬编码凭据、默认密钥、无长度检查的 recv/read、无认证 UART 处理)。同时提示编译器优化(内联、循环展开、死存储消除、尾调用优化)带来的干扰。
提示词技巧:避免在提示中标注“恶意”以免引入偏差;提供相关 CWE 定义;强制遍历全部函数;本地模型需拆分任务;提供调用链上下文;指定架构。模型选择上,深度推理推荐云端模型,函数命名/类型推荐专用模型,离线可用 Ollama,批量分诊用快速层。
误报管理:三问测试(可达?可控?可致害?)、多智能体验证、证据要求、置信度评分、反编译器伪影过滤。
限制:资料未提供具体安装命令、收费价格与完整使用步骤;部分效果数据来自特定研究,实际表现可能不同。