diff --git a/vulnerabilities/templates/advisory_detail.html b/vulnerabilities/templates/advisory_detail.html
index 24a4b0d2c..114edc495 100644
--- a/vulnerabilities/templates/advisory_detail.html
+++ b/vulnerabilities/templates/advisory_detail.html
@@ -4,6 +4,7 @@
{% load static %}
{% load show_cvss %}
{% load url_filters %}
+{% load utils %}
{% block title %}
VulnerableCode Advisory Details - {{ advisory.advisory_id }}
@@ -583,7 +584,7 @@
{{ ssvc.options|pprint }}
+ {{ ssvc.options|yaml_dump }}
diff --git a/vulnerabilities/templatetags/utils.py b/vulnerabilities/templatetags/utils.py
index cea889808..556a065ed 100644
--- a/vulnerabilities/templatetags/utils.py
+++ b/vulnerabilities/templatetags/utils.py
@@ -10,6 +10,7 @@
from aboutcode.pipeline import humanize_time
from django import template
+import saneyaml
register = template.Library()
@@ -39,3 +40,14 @@ def active_item(context, url_name):
@register.filter
def get_item(dictionary, key):
return dictionary.get(key)
+
+
+@register.filter
+def yaml_dump(value):
+ """Render structured data as YAML using saneyaml.dump."""
+ if value is None:
+ return ""
+ try:
+ return saneyaml.dump(value)
+ except (TypeError, ValueError):
+ return str(value)