3 ms·
Oh interesting. What were you imagining as the injection vector? The earthly backend runs on a modified buildkit so it is running the arbitrary code in a conta
by adamgordonbell 4y ago
Oh interesting. What were you imagining as the injection vector?
The earthly backend runs on a modified buildkit so it is running the arbitrary code in a container, but it's also in its own VM. This was simpler then firecracker to get started but turned out to have pretty good performance and alright cost once we started suspending things.
- iueotnmunto 4y agoMore if you're running `provision --vm-name "$UserSuppliedData"` or similar. I don't know how you've built your wrapping tool, so I can't comment on how likely it would be, but I've seen such breakages IRL (I break things for a living ;) )
- brandonschurman 4y agoGood point, we do have things locked down pretty well in our go code though. The instances can only be provisioned using an API, and that API doesn't allow for arbitrary user-supplied input.