diff --git a/contributing/samples/gepa/rater_lib.py b/contributing/samples/gepa/rater_lib.py
index 50bbdc229d..67c46da71c 100644
--- a/contributing/samples/gepa/rater_lib.py
+++ b/contributing/samples/gepa/rater_lib.py
@@ -167,7 +167,7 @@ def __call__(self, messages: list[dict[str, Any]]) -> dict[str, Any]:
Returns:
A dictionary containing rating information including score.
"""
- env = jinja2.Environment()
+ env = jinja2.Environment(autoescape=True)
env.globals['user_input'] = (
messages[0].get('parts', [{}])[0].get('text', '') if messages else ''
)
diff --git a/contributing/samples/gepa/rubric_validation_template.txt b/contributing/samples/gepa/rubric_validation_template.txt
index eeab5af849..74db111ab0 100644
--- a/contributing/samples/gepa/rubric_validation_template.txt
+++ b/contributing/samples/gepa/rubric_validation_template.txt
@@ -155,12 +155,12 @@ Verdict: no
- {{user_input}}
+ {{user_input|e}}
-{{model_response}}
+{{model_response|e}}