Skip to content

fix: close rm wipe-target and flag bypasses (M-12) - #69

Merged
jkyberneees merged 1 commit into
mainfrom
fix/m12-rm-wipe-target-bypass
Jul 18, 2026
Merged

fix: close rm wipe-target and flag bypasses (M-12)#69
jkyberneees merged 1 commit into
mainfrom
fix/m12-rm-wipe-target-bypass

Conversation

@jkyberneees

Copy link
Copy Markdown
Contributor

Closes two rm-related danger-classifier bypasses (M-12):\n\n- rm -rf ./ and rm -rf ./.. are now caught the same as . and .. after normalising a leading ./.\n- default-value parameter expansions that expand to rm flags are treated as fail-closed.\n\nChanges:\n- internal/danger/classifier.go: updated rmRecursiveOrForce and isWipeTarget.\n- Added regression tests.\n- Updated docs/SECURITY.md and AGENTS.md.

The danger classifier treated rm -rf ./ as local_write (equivalent to
rm -rf .) and missed -rf default-value flag substitutions.

Changes:
- internal/danger/classifier.go: isWipeTarget now normalises a leading
  ./ so ./ and ./.. match . and ..; rmRecursiveOrForce treats
  <flags> substitutions as fail-closed.
- Added regression tests for rm -rf ./, rm -rf ./.., and
  rm -rf /.
- Updated docs/SECURITY.md and AGENTS.md.
@jkyberneees
jkyberneees merged commit 4aa471b into main Jul 18, 2026
1 check was pending
@jkyberneees
jkyberneees deleted the fix/m12-rm-wipe-target-bypass branch July 18, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant