The problem isn't the language here, it's cargo executing build.rs from dependencies which necessarily allows arbitrary code execution.
The problem isn't the language here, it's cargo executing build.rs from dependencies which necessarily allows arbitrary code execution.
(as I and others have mentioned in the thread): The attacker can just move the malicious code from build.rs to lib.rs (ie. build-time -> test/execution-time).
Then the problem is the language, as the grandparent observes.
Sure, but I don't expect build to execute arbitrary code. That's a big difference.
It's like if `git clone` ran random stuff from the cloned repo.
Running what you've built when you've added a malicious dependency also causes arbitrary code execution.