Dynamic attribute access via getattr()
Low
- Category
- Dangerous Code Execution
- Content
def _row(model: Any, fields: tuple[str, ...]) -> dict[str, Any]: return {field: _json_value(getattr(model, field)) for field in fields} def _snapshot_hash(payload: dict[str, Any]) -> str:- Confidence
- 50% confidence
- Finding
- Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.
