演示对代码编辑器的攻击,导致打开源代码时导致文件泄漏

已经演示了一种攻击 VSCode 代码编辑器的方法,允许在编辑器中打开专门设计的源代码时传输当前用户权限内的任意文件。 在此演示中,当打开使用过程宏的 Rust 代码时,它会建立与主机 127.0.0.1:8080 的连接,并使用用户的 SSH 密钥发送文件“~/.ssh/id_rsa”的内容。

为了妥协,只需打开包含代码的文件就足够了,而不需要对项目执行任何其他操作。 为了使示例正常工作,VSCode 需要 rust-analyzer 插件(标准 rustc 编译器之上的绑定)以及系统中存在用于处理 Rust 语言代码的工具。 该问题与初始代码分析期间过程宏的扩展有关。 使用“cargo build”命令在编译时也可以实现类似的效果。

请注意,该问题可能会影响其他代码编辑器和编程语言。 VSCode 和 rust-analyze 仅用于演示攻击向量。 理论上,任何公开允许您创建语法扩展并在编译时执行代码的过程宏的代码编辑器都容易受到此问题的影响。 研究人员最初调查了代码编译期间发生恶意操作的可能性,但发现在代码编辑器中处理源代码时过程宏被扩展。 该攻击可能会影响其他编程语言;例如,在 Java 中,可以以类似的方式操纵注释处理。



来源: opennet.ru

添加评论