查找可执行文件传播病毒的自由软件项目时,正确的做法是什么


19
今天,我在SourceForge上找到了一个GPLed项目,其可执行文件正在传播病毒。在项目审查中已经多次指出了这一事实,并且受感染的可执行文件仍然可以下载。显然,较旧的可执行文件不会被感染,因此该项目本身似乎并不是出于恶意目的而设计的。没有首选的联系开发人员的方法,并且该项目的论坛已死。我该怎么办?

2
这个问题是话题,但是在将来,如果您想问一个问题是否是话题,请使用meta网站

1
为什么要等一下再直接联系SourceForge?验证是否是病毒,然后立即与他们联系。
彼得·布顿

1
您的编辑使此问题脱离了主题范围 / 过于局限。Programmers.SE用于与大多数程序员有关的主题的主观或扩展讨论,而不是用于诊断病毒扫描。

@Mark Trapp是的,我正在考虑如何将其分为两部分,一个用于一般情况,一个用于特定情况。第二部分可以认为是题外话。
AndrejaKo 2010年

Answers:


26

如果您无法与开发人员联系,请联系SourceForge。报告问题,为他们提供可用于验证问题的详细信息,他们(可能)会解决该问题。他们是一个信誉良好的网站,我想他们不想与恶意软件相关联。


嗨,梅森,您如何看待这个问题,直到今天发布此问题时,SourceForge的声誉双双下降,所有权已经易手(而且SourceForge 的声誉可能慢慢恢复了)?这个答案是否应该反映出这样一个事实,即当人们实际要求SourceForge对其进行处理时,他们什么也没做,有时是SourceForge本身负责通过广告或通过自己的意图来传播这些病毒。 ?
WHN

@opa哇,是的,这是一个尚未成熟的答案……
Mason Wheeler


0

项目状况

如果有人能够盗用该帐户并上传新的编译版本,那么经常使用的旧的,不再维护和遗忘的项目通常可以用作传播病毒的媒介。自动更新系统通常也会做同样的事情,甚至更糟,因为它们会自行交付并经常在最终用户不知情的情况下在用户的系统上安装更新。

可能采取的行动

维护者和开发者

您可以尝试与开发人员/维护人员联系,但是如果这是一个旧项目,他们不太可能会回应。如果他们的帐户被盗用,那么您将抬起头来抬高他们,或者让他们大喊大叫。

平台/交付网络

通过与托管该软件的平台联系,您可能有更好的机会删除恶意代码。我本人并没有尝试直接联系Sourceforge或NPM之类的平台。您收到回复的可能性通常取决于企业的规模以及是否已获利-如果是一个人表演,那么祝您好运!

您需要越多的信息来验证您的下架请求,该请求就越有可能和更快地发生。

社区与你的声音

通常,您可以尝试上述步骤,并感到无能为力,但是,如果您能够对软件发表评论或评论,那可能就是最好的选择。即使许多最终用户仍会盲目下载软件或以前信任该软件。


额外:最近和将来的预防

在这里停止阅读或继续 ¯\_(ツ)_/¯

原始维护者使用的是一个使用率很高的NPM软件包-因为许多开源项目在其生命周期中都达到了。有人伸出手要求维护它。当然,这一定感觉就像是开发者肩上的沉重负担。不幸的是,新的维护者发布了恶意软件来窃取加密钱包

具有讽刺意味的是,我通过口耳相传,并阅读了在github仓库上打开的问题之前听说了这件事,然后阅读了有关它的文章或看到它出现在npm audit这表明您在公共平台上的声音确实可以产生影响

我们的聚会小组快速讨论了社区可以采取哪些措施来预防此类事件以及其责任是防止此类事件的发生。

平台/交付网络

使其成为npm的责任将需要一个货币化的情况,这种情况会很糟糕,或者可能仅对企业可用-但是其他人会免费受益吗?

源维护者

作为开源维护者,我们需要注意我们行动的后果。如果您曾经是开源维护者,那么从项目中获得的内在价值会逐渐减少,这可能会变得很繁琐。对于似乎曾经拥有过精力以保持项目前进的人,很难说不。需要注意的一件事是,如果适当的权限级别到位,则某些平台允许在发布之前进行审阅过程。在这种情况下,项目的所有权已完全移交给他人,除非您绝对信任个人/实体,否则您应尽量不要这样做-即便如此,这仍然感觉这不是进行已建立并受信任的软件延续的干净方法。人们也可以使用代码,但是那样可能会变得凌乱。

社区与消费者

当前的基础架构可以使用某些功能来提供帮助。

例如,发布可以由社区进行验证,批准或标记,就像社区可以如何对种子进行评级或评级一样,以便其他人可以在暴跌之前迅速做出决定。较高的负面评分可能会标记包装并警告消费者有关包装和未来的安装。

作为盲目安装软件并对其进行更新的消费者,您有责任注意自己所消费的东西。您可以使用具有版本锁定功能的软件包管理器来帮助消除此问题。不幸的是,我怀疑许多人在放置好东西时会花时间检查他们正在安装的100多个软件包npm install。当软件更改时,一些企业会经历供应商流程;我希望没有企业对NPM软件包执行此操作(这可能会严重阻止开发),但这是一个不错的选择。

钱$$$

没有人愿意为免费的开源软件付费,但是如果那些写代码的人因其贡献而得到回报,那么他们可能会更有动力维护他们的软件和社区形象。金钱可能直接来自消费者,也可能是其交付平台所花的钱。尽管我不愿看到它,但我可以看到库遵循与CI平台相同的方式-免费提供开源资源,但私人/商业成本-这可以通过许可来处理,但是开发人员不想浪费时间许可行业(也许可以简化和直接)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.