chore: Added a little dev script to help contributors #4793
2 issues
Medium
Command injection via solution argument on Windows - `dev.cs:53`
The solution argument in CleanSlateAsync and SolutionRestoreAsync is interpolated into a command string with only double-quote escaping. On Windows, when the command is routed through cmd.exe /c (lines 130-136), an attacker can escape the quotes using characters like " & malicious_command &. For example, a solution argument of test" & calc & echo " would execute arbitrary commands. While this is a dev helper script and the risk is limited to developers running it manually, it violates secure coding practices for command execution.
Low
Potential command injection when routing through cmd.exe on Windows - `dev.cs:127-129`
On Windows, user-provided solution argument is interpolated into a string that gets passed to cmd.exe /c. While the solution path is quoted, shell metacharacters like "& could break out of quotes and execute arbitrary commands. For example, a solution argument of foo" & malicious & " would result in command execution. Since this is a local dev script where the user controls both execution and input, the practical risk is minimal, but the pattern is worth noting.
4 skills analyzed
| Skill | Findings | Duration | Cost |
|---|---|---|---|
| code-review | 1 | 37.8s | $0.12 |
| find-bugs | 1 | 37.0s | $0.13 |
| gha-security-review | 0 | 12.9s | $0.08 |
| security-review | 0 | 7.6s | $0.08 |
Duration: 1m 35s · Tokens: 102.6k in / 3.1k out · Cost: $0.43 (+extraction: $0.01, +dedup: $0.01)