Skip to content

Commit f12d106

Browse files
committed
fix(security): Add validation for full_custom_query input
> > Adds read-only SQL validation to the field in the observation form. This prevents arbitrary SQL execution by ensuring that only SELECT statements can be submitted, mitigating a potential security vulnerability.
1 parent e62d680 commit f12d106

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/ui/observations/inputs.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,15 @@ def render(
417417
st.warning(f"Custom Test IDs Query validation failed: {e}")
418418
return None
419419

420+
# Validate full custom query separately with SQL query validation
421+
if full_custom_query and full_custom_query.strip():
422+
try:
423+
ValidationUtils.validate_sql_query(full_custom_query)
424+
except Exception as e:
425+
st.toast(f"Invalid SQL query for Full Custom Query: {str(e)}", icon="⚠️")
426+
st.warning(f"Full Custom Query validation failed: {e}")
427+
return None
428+
420429
return cls(
421430
observation=ObservationFormData(
422431
experiment_id=experiment_id,

0 commit comments

Comments
 (0)