依赖性危险吗?

Are dependencies dangerous?

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

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

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

说威胁因依赖关系而产生是不准确的,因为危险存在于单一依赖关系基础上。

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

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

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

Can some dependencies for android be dangerous to use?

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

I mean could they have malicious code in them?

可以,但是大家测试一下,如果有就删掉。

After all they are been written from users who we don't know

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

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