mirror of
https://github.com/langgenius/dify-sandbox.git
synced 2026-07-25 21:46:12 -04:00
[PR #140] [MERGED] feat: prevent nodejs code injection #178
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/langgenius/dify-sandbox/pull/140
Author: @Yeuoly
Created: 3/24/2025
Status: ✅ Merged
Merged: 3/24/2025
Merged by: @Yeuoly
Base:
main← Head:fix/nodejs-code-injection📝 Commits (4)
2ec2e26feat: enhance Node.js runner security by encoding code in base64 to prevent code injection0489c65chore: squash system dependencies installation steps7ddc12ebump koffibd3fd35fix: tests logics📊 Changes
66 files changed (+1362 additions, -1386 deletions)
View changed files
📝
docker/amd64-test/dockerfile(+4 -4)📝
docker/amd64/dockerfile(+4 -4)📝
docker/arm64-test/dockerfile(+4 -4)📝
docker/arm64/dockerfile(+4 -4)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/.package-lock.json(+4 -4)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/CHANGELOG.md(+117 -40)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/README.md(+6 -0)➖
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_arm32hf/koffi.node(+0 -0)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_arm64/koffi.node(+0 -0)➕
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_armhf/koffi.node(+0 -0)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_ia32/koffi.node(+0 -0)➕
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_riscv64/koffi.node(+0 -0)➖
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_riscv64hf64/koffi.node(+0 -0)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/linux_x64/koffi.node(+0 -0)➕
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/build/koffi/musl_x64/koffi.node(+0 -0)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/index.d.ts(+2 -1)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/index.js(+179 -136)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/indirect.js(+130 -118)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/package.json(+4 -2)📝
internal/core/runner/nodejs/dependens/node_temp/node_modules/koffi/src/cnoke/assets/FindCNoke.cmake(+16 -3)...and 46 more files
📄 Description
FIXES NODEJS CODE INJECTION
extra codes may be executed in nodejs runtime, as function could be re-implemented to hijack code flows and execute untrusted code before setup seccomp
PoC was placed at
testsFIX
ALL untrusted codes were encoded by base64 and executed by
eval(Buffer.from(code, 'base64'))after seccomp was ready🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.