Minecraft mineflayer runner evals model-generated JS — document the sandbox boundary
Hi — in the Minecraft/Voyager environment, generated skill code is executed via eval:
// metagpt/environment/minecraft/mineflayer/index.js:256 await eval("(async () => {" + programs + "\n" + code + "})()"); code here is model-generated JavaScript, so this is model output reaching eval. I recognize this is by design for a code-writing skill agent — flagging it only so the trust boundary is explicit: the eval runs in the mineflayer Node process, and a prompt injection during skill generation would execute there.
If this already runs in an isolated/disposable sandbox, a one-line note in the env's README would settle it. If not, it may be worth constraining what the generated code can reach.
Surfaced with release-gate. Design-intent, not an exploit report — just making the assumption explicit.
Source: FoundationAgents/MetaGPT