我找到了这个PHP库,用于检测/猜测给定字符串的语言:https://github.com/patrickschur/language-detection
我会大量使用这个。我真的很想用它。
但我不能。
我所能想到的就是:
如果明天,这个开发者要么被泄露,要么被盗用比特币的恶意软件更新他的代码呢?如果代码已经在库中,等待正确的时机,该怎么办?由于即使是世界上最常用的自由和开放源码软件项目似乎都没有得到任何人的审计,那么这个超级小而晦涩的项目安全的几率有多大呢?非常苗条。
我对作者一无所知。即使我真的试过了,我也不可能评估他们的能力和可靠性。见鬼,我甚至都不相信Github自己,尤其是在它卖给微软之后。
这是妨碍。我唯一能“相信”的方法就是忽略所有的安全概念,“只要相信”。我无法查看所有的代码,即使它是一个非常小的库。有大量的文件,它们随时都可以改变。总有一天Composer会拿到新版本的,我不会坐在那里检查所有的更改。我知道我不会。我甚至在过去建立并精简了这样一个系统,我很快就停止了对更新的检查。即使只是做了几次改变,这还是让人精疲力竭。我没法坚持下去了。
这会不会得到某种合理的解决方案?某种内置的沙箱,使每个库在自己的小真空中运行,并且只能将“答案”发送回主脚本或什么的?我不明白,在一个到处都是骗子和坏人的世界里,其他人怎么能相信这些随机的陌生人呢?
发布于 2021-06-03 09:25:03
使用经审核和批准的库。这就是答案。
有些付费产品/服务(例如Sonatype、Black Duck)将在使用之前提交的随机库上运行自动测试。还有一些分析器可以在代码运行时检查代码,以确保它不会做意想不到的事情。
如果你想要自由地使用任何随机的人的代码,那么你就承担了与此相关的风险。
否则,你必须承担起自己写所有东西的任务。您需要权衡使用陌生人代码的好处,而不是自己编写和测试所有东西。世界已决定“信任但验证”,以求快速发展。
欢迎来到DevSecOps。
发布于 2021-06-03 10:17:12
没有解决办法。问题是,你需要相信一些事情来完成任何事情。
这个问题也转化成现实世界。如果你在超市买食物,你就会信任很多潜在的参与者,食品生产商,运输商,超市。其中每一方都发生了重大事件。不过,你还是吃了你在那里买的食物。
在信息安全方面,我们试图用风险分析来理顺这一过程。开发人员叛变的可能性及其所产生的影响。当然,这个概率很难估计。
你可能会问自己的一组问题是:
https://security.stackexchange.com/questions/250011
复制相似问题