我们的 AI 引擎 Neutron 在加州大学伯克利分校的 CyberGym 基准测试中取得了 96.75% 的成绩。 了解更多

工程

工程

Android 外部库!

对 Android 开发者来说,使用外部库来轻松扩展移动应用的功能已经成为标准做法。借助 Gradle 便捷的依赖集成,HTTP 框架、数据库 ORM、炫酷滚动效果、高效图片加载、缓存、社交网络集成等众多功能都可以轻松添加。

对 Android 开发者来说,使用外部库来轻松扩展移动应用的功能 已经成为标准做法。借助 Gradle 便捷的依赖集成,HTTP 框架、数据库 ORM、 炫酷滚动效果、高效图片加载、缓存、社交网络集成等众多功能都可以轻松添加。

dependencies {
compile 'com.android.support:appcompat-v7:22.0.0'
}

外部库让开发变得更加轻松高效,甚至被视为一种最佳实践。

然而,外部库也带来了安全风险,从新的漏洞、危险的隐藏功能,甚至到 令人不安的后门。

通过扫描排名前 150 的应用的外部依赖,我们找出了以下最常用的外部库:

排名前 150 的应用的外部依赖
热门应用的依赖

这些库大多由 Twitter、Facebook 或 Square 等公司支持,但也有一些仅由一位 开发者维护。以 ButterKnife 为例,该项目 列出了 45 名贡献者,排名第一的贡献者有 251 次提交,第二名有 13 次提交,其余大多数仅有 1 次提交。

一旦植入后门的版本被推送到生产环境,这个库的沦陷就可能导致数百万用户受到危害。 还有一些库以黑盒形式提供,您甚至无法检查其源代码,例如 Flurry。

外部库的安全并不是一个简单的话题,但以下是一些可以采用的建议:

  • 定期查看库的安全公告,并相应地更新库
  • 在将每个外部库引入您的应用之前对其进行审计。
  • 控制外部库与您的应用之间的交互
  • 在更新任何库之前,检查新提交的内容
  • 代码托管网站经常成为恶意攻击的目标(例如针对 github.com 的大规模 DDoS 攻击)。请关注它们的 博客和推文以及时获取信息。

标签:

android, third party