返回

文章详情

我们利用开源AI安全代理发现了24个Android漏洞

Hacker News2026年9月29日 00:55

回顾这些发现背后的目标AI任务流程、它们揭露的关键Android漏洞,以及如何在自己的应用程序上运行相同的开源代理。2026年9月28日 | 10分钟分享:随着AI在安全领域的兴起,我们的团队创建了GitHub安全实验室任务流代理,以便安全研究人员可以轻松地自动化、打包和分享他们发现的有效AI提示和工作流程。在这篇博客中,我将分享如何创建审计任务流以发现Android应用程序中的漏洞。尽管新模型在理解代码方面越来越出色,自定义任务流提示可以让安全研究人员引导它们——将研究分解为逐步的流程,以帮助大语言模型更快地找到复杂的漏洞,或者发现它完全忽略的漏洞。使用这些任务流,我在Android应用程序中报告了20多个漏洞。您可以查看我们的公告页面,了解何时会披露新漏洞。否则,请继续阅读,了解这些任务流发现的一些高影响力漏洞的具体示例。如何在自己的项目上运行任务流想立即开始吗?这些任务流是开源的,您可以轻松运行。请注意:需要一个GitHub Copilot许可证,并且提示将使用高级模型请求。运行任务流可能会导致许多工具调用,这会轻易消耗大量的令牌。前往seclab-taskflows存储库,启动一个代码空间。等待几分钟以初始化代码空间。在终端中运行 ./scripts/audit/run_mobile.sh myorg/myrepo 在一个中等大小的存储库上完成可能需要一到两个小时。当它完成时,会打开一个带有结果的SQLite查看器。打开“audit_results”表,寻找“has_vulnerability”列中带有勾号的行。为Android应用程序创建目标审计任务流我的同事Peter和Mo之前写过一篇关于他们审计任务流的博客文章。尽管这些任务流本身已经很好地工作,但Android应用程序有其特定的漏洞类别,我们希望任务流关注这些类别,因此我们需要引导它们。首先,我添加了一个名为gather_mobile_entry_point_info.yaml的任务流。入口点是代码中攻击者控制的数据可能流经的地方。这个任务流会将入口点分离为移动入口点和非移动入口点。这使得AI能够在包含多种不同应用程序类型的存储库上运行——一个移动应用程序、网络服务器、桌面应用程序,同时仍然理解正确的攻击面。其次,我编辑了classify_application_local.yaml。在其中,我指定了一个流行漏洞类别的列表,并要求大语言模型在每个入口点和组件的上下文中考虑它们。由于移动应用程序漏洞不太为人所知且大语言模型是非确定性的,我们应该确保大语言模型检查某些重要的漏洞类别。例如,如果在前一步中,任务流识别了基于意图的入口点,则它应该有一个常见基于意图的漏洞检查列表,例如混淆的代理或不安全的广播。这有助于大语言模型找到组件之间的联系并保持对威胁模型的整体把握。通过在多次运行中结合这两个提示,我们得到了各自的优点:严格的提示和反复的运行确保不会遗漏明显的漏洞,而广泛的提示则让AI最大程度地发挥它的创造力。任务流发现的两个漏洞示例在本节中,我们将展示任务流发现的并已披露的两个漏洞示例。到目前为止,我们已经发现并报告了24个漏洞。通过OsmAnd跟踪用户OsmAnd是一个流行的第三方导航应用,使用Open-Street-Map作为其主要数据源。在App Store和Play Store均可用,我们将关注Android版本,其下载量超过1000万。在本节中,我们将关注发现的三个漏洞中最有趣的一个:一个允许恶意应用跟踪设备位置的漏洞。OsmAnd导出了一个名为MapActivity的活动。Android活动是应用中的一个、专注的屏幕,为用户提供界面进行交互。MapActivity处理在应用内打开设置文件和深层链接,并被导出。导出活动是指可以由其应用外部的组件启动的活动。然而,在打开设置文件时,该应用允许意图附加项(settings_version,silent_import,replace,export_type_list_key)。意图是Android中的消息对象,用于请求另一个应用组件的操作,而意图附加项是附加在意图上的数据的键值对,用于在这个请求中传递信息。MapActivity仅期望这些附加项来自AIDL服务。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡