【问题标题】:Are dependencies dangerous? [closed]依赖是危险的吗? [关闭]
【发布时间】:2018-01-03 07:25:39
【问题描述】:

android 的某些依赖项使用起来会有危险吗?我的意思是他们里面可能有恶意代码吗?毕竟它们是由我们不认识的用户写的

【问题讨论】:

    标签: android dependencies gradle-dependencies


    【解决方案1】:

    依赖项是在项目中使用“外部”文件的一种方式。 Android 无关紧要,因为这个概念是通用的。您可以依赖同一代码库中的代码,但这超出了本问题的范围。

    考虑依赖关系的一种有用方法是将其他开发人员编写的源代码添加到您的源代码中。请注意,这在技术上是错误的,因为依赖项可能会添加已编译的库或其他类型的文件,但它可能对初学者有所帮助。

    说威胁源于依赖是不准确的,因为危险是在singular依赖的基础上发生的。

    您必须检查每个依赖项的可信度。如果您添加了由数百名开发人员进行了数千次修改的依赖项,您可能会相信该依赖项是安全的。但是,如果添加一个作者和少数用户的依赖项,通常会有更高的危险代码风险。

    除了作者之外,依赖的来源也很重要。在审查依赖项的可信包管理器中不太可能存在危险代码。

    这些规则是一个起点,但也有例外。最后,您需要决定什么可以信任,什么不可以信任。我假设大多数依赖项都是安全的,尤其是当它们的目的适用于广泛的项目时。

    【讨论】:

    • 我要补充一点——你永远不应该包含依赖项,除非它是一个你相信作者没有恶意的知名库(基本上是大公司),或者你已经对整个图书馆自己。如果你要去 github,找到一个可以做你想做的事情的随机库,并希望它不是恶意的——你应该得到你所得到的。
    • 我喜欢@GabeSechan 强调对作者的信任。添加依赖项并允许自动更新是很常见的。这意味着您不仅需要信任您现在添加的代码,还需要信任同一作者未来所做的更改(如果您允许自动更新)。
    • 谢谢你的回答!!!
    • 没问题@user4938227!很高兴我能帮上忙。如果您需要,请将其标记为正确,以供将来的读者阅读。
    • 每个答案旁边都有一个绿色复选标记,可让您指出最佳解决方案。它在赞成/反对票附近。
    【解决方案2】:

    android 的某些依赖项使用起来会有危险吗?

    对我来说,危险意味着我的项目曾经无法运行! 示例:我将包含一个超级库,编译测试并发布。大家都开心。该库将一些数据发布到他们的服务器并做一些事情:崩溃报告、谷歌分析,甚至可能会向我的客户发送垃圾邮件,无论如何,也可能是恶意软件。真正的问题是,如果图书馆将使用他们的服务器更改协议,我将收到一封通知邮件。也许我会在垃圾邮件文件夹中收到,我会忽略它。一段时间后,我的应用程序将开始崩溃并产生警告。这就是包含代码的真正危险。

    我的意思是他们里面会不会有恶意代码?

    可以,但每个人都会测试它,如果有,它将被删除。

    毕竟它们是由我们不认识的用户写的

    如果您能亲自认识代码编写者,您会高兴吗? - 他吃什么,喝什么,他的鞋码是多少?他属于一家公司,甚至可以出售,而您只需醒来,其他开发人员正在修改代码。 您应该关注代码而不是编写代码的人。

    包含的代码部分是一把双刃剑,在短期内可能会对您有所帮助,但从长远来看肯定不会,但您必须为昨天提供结果......这就是为什么有时需要包含。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多