{% extends "base_generic.html" %} {% load bleach_tags extra_fields custom_tags %} {% block pagetitle %}{{ finding.display_title }} Details{% endblock %} {% block content %}
Finding

{{ finding.display_title }}

{{ finding.severity.severity }}{% if finding.cvss_score %} ยท {{ finding.cvss_score }}{% endif %} {{ finding.finding_type.finding_type }} {% for tag in finding.tags.names %} {{ tag|bleach }} {% endfor %}
Narrative

Description

{% if finding.description %}
{{ finding.description|bleach }}
{% else %}

Description needed

Explain what the finding is and where it applies.

{% endif %}
Risk

Impact

{% if finding.impact %}
{{ finding.impact|bleach }}
{% else %}

Impact needed

Describe the consequence if this issue is exploited.

{% endif %}
Remediation

Recommendations

{% if finding.mitigation %}
{{ finding.mitigation|bleach }}
{% else %}

Recommendations needed

Provide practical steps for reducing or removing the risk.

{% endif %}
{% if finding.finding_guidance %}
Operator Context

Finding Guidance

{{ finding.finding_guidance|bleach }}
{% endif %}
Defensive Guidance

Detection Recommendations

{% if finding.host_detection_techniques or finding.network_detection_techniques %}
{% if finding.host_detection_techniques %}
Host Detection
{{ finding.host_detection_techniques|bleach }}
{% endif %} {% if finding.network_detection_techniques %}
Network Detection
{{ finding.network_detection_techniques|bleach }}
{% endif %}
{% else %}

No detection recommendations

Add host or network detection guidance when it applies.

{% endif %}
Validation

Replication Steps

{% if finding.replication_steps %}
{{ finding.replication_steps|bleach }}
{% else %}

Replication steps needed

Document how another operator can reproduce the issue.

{% endif %}
Supporting Material

References

{% if finding.references %}
{{ finding.references|bleach }}
{% else %}

No references provided

Link trusted standards, tools, or research when available.

{% endif %}
{% if finding_extra_fields_spec %}

Extra Fields

Finding-level values use the template reference shown on each card. Project- and report-aware expressions are rendered when the finding is used in those contexts.

Edit Extra Fields
{% for field_spec in finding_extra_fields_spec %}
{{ field_spec.display_name }}
{% if field_spec.type == "rich_text" %}Rich Text{% else %}{{ field_spec.get_type_display }}{% endif %}
Template reference object.extra_fields.{{ field_spec.internal_name }}
Current value
{% if field_spec.type == "rich_text" %} Formatted content is available in Preview. {% elif field_spec.type == "json" %} Structured content is available in View JSON. {% else %} {% include "user_extra_fields/field.html" with extra_fields=finding.extra_fields field_spec=field_spec preview_report=False %} {% endif %}
{% if field_spec.type == "rich_text" %} {% elif field_spec.type == "json" %} {% endif %} Edit
{% endfor %}
{% endif %}

Finding Notes

Capture reusable context for operators maintaining this library finding.

Add a Note
{% if finding.findingnote_set.all %}
{% for note in finding.findingnote_set.all reversed %}
{{ note.note|bleach }}
{% if request.user == note.operator or request.user|is_privileged %} {% endif %}
{% if note.operator %} {{ note.operator.username }} {% else %} Deleted user {% endif %}
{% endfor %}
{% else %}

No notes yet

Add a note when operators need context that does not belong in the report narrative.

{% endif %}
{% endblock %} {% block morescripts %} {% include "confirm_delete_modal.html" %} {% if finding_extra_fields_spec %} {% for field_spec in finding_extra_fields_spec %} {% url 'reporting:finding_extra_field_json' finding.id field_spec.internal_name as extra_field_json_url %} {% include "user_extra_fields/extra_field_modal.html" with extra_fields=finding.extra_fields field_spec=field_spec lazy_json_url=extra_field_json_url preview_report=False %} {% endfor %} {% include "user_extra_fields/lazy_json_modal_script.html" %} {% endif %} {% endblock %}