webassembly - 在 WASM 文件中存储机密的安全性

我对 WebAssembly 还很陌生,我正试图弄清楚它是如何工作的。

据我了解,有人在 javascript 中调用 WASM 模块并提供参数。我知道这些参数本身可以被客户端公开查看,因为调用发生在 javascript 中。

攻击者是否有可能对 WASM 文件(例如从 Rust 编译)进行逆向工程并查看 (a) 函数逻辑和 (2) 声明的任何私有常量?如果是这样,这是否意味着 WASM 文件中的 store 机密不安全?

谢谢

回答1

是的,可以对 WASM 文件的代码进行逆向工程,就像其他二进制文件一样。可以提取包含的逻辑和数据/常量。因此,假设攻击者可以访问 WASM 二进制文件,那么在 WASM 文件中保存 store 机密是不安全的。

可以使用的工具是 https://webassembly.github.io/wabt/doc/wasm2wat.1.html,它将 wasm 二进制格式转换为人类可读的文本格式。