Repository navigation
Conversation
Co-authored-by: bobdivx <6737167+bobdivx@users.noreply.github.com>
|
π Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a π emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Closing as a duplicate: #283 already covers the same command validation bypass in workdir_cmd.rs and is kept open for review (security-sensitive). |
π¨ Severity: CRITICAL
π‘ Vulnerability: Command validation in
tools::workdir_cmdchecked for blocklist terms only on the joined command string. This allowed for bypasses likenpm run rmbecause it bypassed the"rm "substring check, which was intended to block thermcommand.π― Impact: This could allow a malicious user to execute arbitrary commands or potentially delete files within the project working directory by chaining valid binaries with exact matches of sensitive binaries (e.g.,
npm run rm).π§ Fix: Validates both the joined string for multi-word blocks AND individual tokenized arguments for exact matches of sensitive binaries (
rm,sudo,chmod,chown,curl,wget,ssh,scp). Added unit tests to ensure these exact token bypasses are correctly blocked.β Verification: Ran
cargo test -p devforge-agent --lib tools::workdir_cmd::testswhich includes new test cases fornpm run rm,npm test sudo, etc. All tests passed successfully.PR created automatically by Jules for task 13555328786545318873 started by @bobdivx