peacenotwar在桌面创建WITH-LOVE-FROM-AMERICA.txt文本文档

栏目: NodeJs 发布时间:2024-12-05

最近,有些人在桌面上发现一个名为 “WITH-LOVE-FROM-AMERICA.txt” 的文本文件,是不是有种莫名其妙的感觉?

这是一个名为 “peacenotwar” 的 npm 包创建的,内容是一些呼吁和平的言辞(下文有详细内容,是针对当前俄乌战争发起的和平倡议)。

你可能会说,我的项目没有使用过 “peacenotwar” 这个包呀,但是你的项目依赖包可能直接或间接引入了 “peacenotwar”。比如 vue-cli 脚手架引入了 node-ipc,而 node-ipc 又在 v11.0.0 等版本引入了 peacenotwar。

import IPC from './services/IPC.js';
import peacenotwar from 'peacenotwar';
console.log(peacenotwar);

那么 peacenotwar 又是个什么包呢?

peacenotwar 即 peace not war,字面意思:“要和平,不要战争”

peacenotwar 官方介绍

This code serves as a non-destructive example of why controlling your node modules is important. It also serves as a non-violent protest against Russia's aggression that threatens the world right now. This module will add a message of peace on your users' desktops, and it will only do it if it does not already exist just to be polite.

To include this module in your code, just run npm i peacenotwar in your code's directory or module root. Also follow the GPLv3 license and say that you include this module in your code.

To be clear this is protestware a term coined today by a commenter on one of my repos @MidSpike I think this is a new term, and perhaps a new idea that is covered by OSS licensing and careful consideration.

引入 peacenotwar 会怎样?

如果你的项目直接或间接引入了 peacenotwar 依赖包,该依赖包会在你的电脑桌面创建一个名为 WITH-LOVE-FROM-AMERICA.txt 的文件,写入如下内容:

War is not the answer, no matter how bad it is. War brings tragedy and destruction, robbing generations of precious moments and hope for the future. 
The goal should always be peace.

The soldier puts on their boots for their country, obeying the orders of their government. 
Find the strength to forgive, come together, and stand up to real injustice and evil.

We are all connected through humanity and only separated because of geographic lines. 
We may feel insignificant as individuals but when enough people act with the same intention, we create big movements.

Do what you think is right, follow your own morals.

May God bless you and your family. Stay safe.

https://www.youtube.com/watch?v=WRmBChQjZPs

------------

Война — это не выход, как бы плохо это ни было. Война несет с собой трагедии и разрушения, отнимая у поколений драгоценные мгновения и надежду на будущее.
Целью всегда должен быть мир.

Солдат надевает сапоги за свою страну, подчиняясь приказам своего правительства.
Найдите в себе силы простить, собраться и противостоять настоящей несправедливости и злу.

Мы все связаны человечеством и разделены только географическими линиями.
Мы можем чувствовать себя незначительными как личности, но когда достаточное количество людей действует с одним и тем же намерением, мы создаем большие движения.

Делай то, что считаешь правильным, следуй своей морали.

Пусть Бог благословит вас и вашу семью. Оставайтесь в безопасности.

------------

ليست الحرب هي الحل مهما كانت سيئة. تجلب الحرب المآسي والدمار ، وتحرم أجيالاً من اللحظات الثمينة والأمل في المستقبل.
يجب أن يكون الهدف دائمًا هو السلام.

يرتدي الجندي أحذيته من أجل وطنه ، مطيعًا لأوامر حكومته.
اعثر على القوة لتسامح ، وتجتمع معًا ، وواجه الظلم الحقيقي والشر.

كلنا مرتبطون من خلال الإنسانية ومنفصلون فقط بسبب الخطوط الجغرافية.
قد نشعر بعدم الأهمية كأفراد ولكن عندما يتصرف عدد كافٍ من الناس بنفس النية ، فإننا نخلق حركات كبيرة.

افعل ما تعتقد أنه صحيح ، اتبع أخلاقك.

ليباركك الرب وعائلتك. ابق آمنا.


------------

无论多么糟糕,战争都不是答案。 战争带来悲剧和破坏,夺走了几代人的宝贵时刻和对未来的希望。
目标应该永远是和平。

士兵穿上他们的靴子为他们的国家,服从他们的政府的命令。
找到宽恕的力量,团结起来,勇敢地面对真正的不公正和邪恶。

我们都是通过人性联系在一起的,只是因为地理界限而分开。
作为个人,我们可能会觉得自己微不足道,但是当有足够多的人以相同的意图行事时,我们就会产生大动作。

做自己认为对的事,遵循自己的道德。

愿上帝保佑你和你的家人。 注意安全。

-----------

どんなに悪くても、戦争は答えではありません。 戦争は悲劇と破壊をもたらし、何世代にもわたる貴重な瞬間と未来への希望を奪います。
目標は常に平和であるべきです。

兵士は彼らの政府の命令に従い、彼らの国のために彼らのブーツを履きます。
許し、団結し、真の不公正と悪に立ち向かう力を見つけてください。

私たちは皆、人類を介してつながっており、地理的な境界線のためにのみ分離されています。
私たちは個人としては取るに足らないと感じるかもしれませんが、十分な数の人々が同じ意図で行動するとき、私たちは大きな動きを生み出します。

あなたが正しいと思うことをしなさい、あなた自身の道徳に従ってください。

神があなたとあなたの家族を祝福してくださいますように。 おげんきで。

如何查找项目中有没有直接或间接引入 peacenotwar?

在项目根目录执行如下命令:

$ grep -r 'peacenotwar' ./

本人在开发项目查了一下,没有引用过 peacenotwar

node-ipc 倒是查到了一堆内容:

$ grep -r 'node-ipc' ./
.//yarn-error.log:      node-ipc "^9.1.1"
.//yarn-error.log:  node-ipc@^9.1.1:
.//yarn-error.log:    resolved "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69"
.//node_modules/js-message/README.md:Normalized JS & JSON Message and event Protocol for node.js, vanilla.js (plain old javascript), react.js, websockets, rest api's, node-ipc, and any other protocol that might use a js object and or a JSON string.
.//node_modules/.yarn-integrity:    "node-ipc@^9.1.1": 
...

总结

看了 peacenotwar 源码,目前来说没有什么大的威胁,只是创建一个和平倡议文件而已,继续关注。

换个角度看问题,大家平时在使用 npm 包时一定要慎重,谨防给项目带来安全风险。

本文地址:https://www.tides.cn/p_node-peacenotwar

标签: node-ipc