Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js I';恐怕我';我们安装了一个scam npm包:如何分析Wasm?_Node.js_Webassembly_Honeypot - Fatal编程技术网

Node.js I';恐怕我';我们安装了一个scam npm包:如何分析Wasm?

Node.js I';恐怕我';我们安装了一个scam npm包:如何分析Wasm?,node.js,webassembly,honeypot,Node.js,Webassembly,Honeypot,我已经安装并执行了npm的一个包(使用nodejs): 不知何故,我没有意识到它的声誉不好(在twitter、github上几乎没有活动/明星)。现在我担心这是个骗局。最坏的情况是窃取/加密我的数据或类似的东西 我在活动监视器中检查了流程、I/O和网络,但没有什么有趣的内容。 但我想有更多的信心,一切都很好 因为它是一个Wasm文件,所以我不能只检查源代码。 我曾尝试使用此工具进行反编译:但它为该项目中的所有二进制文件提供了以下错误:错误:@0x00000004:bad magic value

我已经安装并执行了npm的一个包(使用nodejs):

不知何故,我没有意识到它的声誉不好(在twitter、github上几乎没有活动/明星)。现在我担心这是个骗局。最坏的情况是窃取/加密我的数据或类似的东西

我在活动监视器中检查了流程、I/O和网络,但没有什么有趣的内容。 但我想有更多的信心,一切都很好

因为它是一个Wasm文件,所以我不能只检查源代码。 我曾尝试使用此工具进行反编译:但它为该项目中的所有二进制文件提供了以下错误:
错误:@0x00000004:bad magic value

也许是因为在openssl.js包的自述文件中,他们声称它是用wasienv工具链构建的

另一个想法是安装一个蜜罐并在蜜罐中运行相同的命令。但是哪个蜜罐适合这个呢

//编辑

我能够在这个文件上运行wasm2c:src/raw wasm/openssl.wasm。 但我如何确保没有网络互动?

以下是输出的第一行:

作者提到它仍然是一个测试项目。无论如何,它应该像从项目中删除任何npm包一样简单,因为这些编译是根据项目完成的。启动npm卸载openssl.js,它将删除程序包对您的项目所做的任何更改。@MaulikParmar我不确定这是否正确-这如何撤消命令的执行?只要您不全局包含二进制文件,它将按项目编译。您可以通过转到供应商软件包目录dist文件夹进行检查。您可以找到在运行时加载的已编译二进制文件和已编译节点绑定。这是一种沙箱包的方法,可以防止它们滥用包管理器权限,破坏其他项目,并将应用程序保持在安全上下文中。当您安装node sass、node dart或任何其他具有C库绑定的包时,也会执行相同的操作。它执行Cmake为您的平台编译二进制文件,然后包括它。我没有全局安装它。但即使是在当地:最坏的情况是什么?我在没有sudo的情况下(在mac上)运行该命令。所以在运行期间,任何代码都可以正确执行?所以我的用户文件可以被扫描(不是系统文件),但足够访问我的私有RSA密钥并将它们发送到某处,对吗?顺便说一句,wasm的一个很好的特性是wasm模块本身不能进行任何系统调用。它所能做的(无论如何在节点上下文中)就是调用您提供给它的JS函数。如果你想知道它在做什么,一种方法是注释你传递给它的所有导入。作者提到它仍然是一个测试项目。无论如何,它应该像从项目中删除任何npm包一样简单,因为这些编译是根据项目完成的。启动npm卸载openssl.js,它将删除程序包对您的项目所做的任何更改。@MaulikParmar我不确定这是否正确-这如何撤消命令的执行?只要您不全局包含二进制文件,它将按项目编译。您可以通过转到供应商软件包目录dist文件夹进行检查。您可以找到在运行时加载的已编译二进制文件和已编译节点绑定。这是一种沙箱包的方法,可以防止它们滥用包管理器权限,破坏其他项目,并将应用程序保持在安全上下文中。当您安装node sass、node dart或任何其他具有C库绑定的包时,也会执行相同的操作。它执行Cmake为您的平台编译二进制文件,然后包括它。我没有全局安装它。但即使是在当地:最坏的情况是什么?我在没有sudo的情况下(在mac上)运行该命令。所以在运行期间,任何代码都可以正确执行?所以我的用户文件可以被扫描(不是系统文件),但足够访问我的私有RSA密钥并将它们发送到某处,对吗?顺便说一句,wasm的一个很好的特性是wasm模块本身不能进行任何系统调用。它所能做的(无论如何在节点上下文中)就是调用您提供给它的JS函数。如果您想知道它在做什么,一种方法是对传递给它的所有导入进行注释。