Dynamic attribute access via getattr()
Low
- Category
- Dangerous Code Execution
- Content
def build_query(args: argparse.Namespace, fields: list[str]) -> str: pairs: list[tuple[str, str]] = [] for field in fields: value = getattr(args, field.replace("-", "_"), None) if value is None or value == "": continue if isinstance(value, list):- Confidence
- 50% confidence
- Finding
- Dynamic getattr() with a non-literal attribute name can access arbitrary object attributes, potentially bypassing access controls.
