Spaces:
Sleeping
Sleeping
Commit ·
7532e50
1
Parent(s): e090821
feat(models): add framing sanitizer validator to strip injection patterns
Browse files
models.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from enum import Enum
|
| 2 |
-
from pydantic import BaseModel, Field
|
| 3 |
|
| 4 |
class StrategyType(str, Enum):
|
| 5 |
ROLEPLAY = "roleplay"
|
|
@@ -22,3 +22,11 @@ class AttackAction(BaseModel):
|
|
| 22 |
target_category: TargetCategory
|
| 23 |
intensity: float = Field(ge=0.0, le=1.0)
|
| 24 |
framing: str = Field(max_length=500)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
from enum import Enum
|
| 2 |
+
from pydantic import BaseModel, Field, field_validator
|
| 3 |
|
| 4 |
class StrategyType(str, Enum):
|
| 5 |
ROLEPLAY = "roleplay"
|
|
|
|
| 22 |
target_category: TargetCategory
|
| 23 |
intensity: float = Field(ge=0.0, le=1.0)
|
| 24 |
framing: str = Field(max_length=500)
|
| 25 |
+
|
| 26 |
+
@field_validator("framing")
|
| 27 |
+
@classmethod
|
| 28 |
+
def sanitize_framing(cls, v: str) -> str:
|
| 29 |
+
dangerous = ["<script>", "javascript:", "onerror="]
|
| 30 |
+
for pattern in dangerous:
|
| 31 |
+
v = v.replace(pattern, "[FILTERED]")
|
| 32 |
+
return v.strip()
|