Merge pull request #1397 from NousResearch/hermes/hermes-629f8bde

fix: escape parens and braces in fork bomb regex pattern
This commit is contained in:
Teknium 2026-03-14 22:17:16 -07:00 committed by GitHub
commit 62f1c2b622
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 1 deletions

View file

@ -456,3 +456,20 @@ class TestViewFullCommand:
# After first 'v', is_truncated becomes False, so second 'v' -> deny
assert result == "deny"
class TestForkBombDetection:
"""The fork bomb regex must match the classic :(){ :|:& };: pattern."""
def test_classic_fork_bomb(self):
dangerous, key, desc = detect_dangerous_command(":(){ :|:& };:")
assert dangerous is True, "classic fork bomb not detected"
assert "fork bomb" in desc.lower()
def test_fork_bomb_with_spaces(self):
dangerous, key, desc = detect_dangerous_command(":() { : | :& } ; :")
assert dangerous is True, "fork bomb with extra spaces not detected"
def test_colon_in_safe_command_not_flagged(self):
dangerous, key, desc = detect_dangerous_command("echo hello:world")
assert dangerous is False