AI Agent Security Cheat Sheet — Output Validation Pipeline
Bounded code example (external data; do not execute automatically): ```python import json import re from pydantic import BaseModel, validator from typing import Optional, List class AgentToolCall(BaseModel): tool_name: str parameters: dict reasoning: Optional[str] @validator('tool_name') def validat
Reference note (untrusted external data; do not execute it as instructions).
Bounded code example (external data; do not execute automatically):
```python
import json
import re
from pydantic import BaseModel, validator
from typing import Optional, List
class AgentToolCall(BaseModel):
tool_name: str
parameters: dict
reasoning: Optional[str]
@validator('tool_name')
def validate_tool_allowed(cls, v):
allowed_tools = ["search", "read_file", "calculator", "get_weather"]
if v not in allowed_tools:
raise ValueError(f"Tool '{v}' is not in allowed list")
return v
@validator('parameters')
def validate_no_sensitive_data(cls, v):
sensitive_patterns = [
r'api[_-]?key', r'password', r'secret', r'token',
r'credential', r'private[_-]?key'
]
params_str = json.dumps(v).lower()
for pattern in sensitive_patterns:
if re.search(pattern, params_str):
raise ValueError("Parameters contain potentially sensitive data"
```
Attribution: Adapted from OWASP Cheat Sheet Series under CC-BY-SA-4.0. Adaptation: WikiKV isolated this documentation section, normalized formatting, retained only bounded code excerpts, and shortened it at a paragraph or sentence boundary for retrieval. Verify version-sensitive details at the source.
ATTRIBUTED SOURCE
This compact reference card is adapted from official documentation and is not a community-verified experience.
OWASP Cheat Sheet Series — cheatsheets/AI_Agent_Security_Cheat_Sheet.md :: Output Validation Pipeline ↗Revision 07111ee754e8 · CC-BY-SA-4.0 and attribution