You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ed01a9d
Browse filesBrowse the repository at this point in the historyBrowse files
DAST reports leave out code findings with an exception or a false positive
A scan's AI triage and a site's AI risk read keep what the model wrote, so
a code finding given an exception afterward went on appearing in the PDF.
Saved reviews are now checked each time they are shown. A summary that
names a code finding since excepted, out of scope or graded info is hidden
with a note to run it again, and priorities, next steps, matches and
correlations that name one are dropped. The code finding counts and the
list sent to the model also filter on excepted, and both prompts ask the
model to cite finding ids.
{% for paragraph in narrative %}<p>{{ paragraph | sentence_spaced }}</p>{% endfor %}
140
-
{% if ai_summary and ai_summary.summary %}
140
+
{% if ai_summary and (ai_summary.summary or ai_summary.withheld) %}
141
141
<h3>2.1 What the enhanced review found</h3>
142
-
<p>{{ ai_summary.summary | sentence_spaced }}</p>
142
+
{% if ai_summary.summary %}<p>{{ ai_summary.summary | sentence_spaced }}</p>
143
+
{% else %}<p>{{ "The review's summary is left out. It named code findings that have since been given an exception or marked a false positive. Run the enhanced review again for a new one." | sentence_spaced }}</p>{% endif %}
143
144
{% if ai_summary.priorities %}<ol>{% for p in ai_summary.priorities %}<li>{{ p | sentence_spaced }}</li>{% endfor %}</ol>{% endif %}
144
145
<pclass="faint">Written from the findings in section 4. Check it against them.</p>
Copy file name to clipboardExpand all lines: app/web/templates/external_scan.html
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -144,7 +144,8 @@
144
144
{% if ai.status == 'running' or ai.status == 'wanted' %}<divclass="faint">{{ 'Waiting for the scan to finish.' if ai.status == 'wanted' else 'Asking the model.' }}</div>
145
145
{% elif ai.status == 'failed' %}<divclass="notice bad"><div>{{ (ai.summary or {}).error or 'The model gave no usable answer.' }}</div></div>
146
146
{% else %}
147
-
<p>{{ ai.summary.summary }}</p>
147
+
{% if ai.summary.summary %}<p>{{ ai.summary.summary }}</p>
148
+
{% elif ai.summary.withheld %}<divclass="notice info"><div>The summary is hidden. It named {{ ai.summary.withheld }} code finding{{ '' if ai.summary.withheld == 1 else 's' }} since given an exception or marked a false positive. Use AI triage again for a new one.</div></div>{% endif %}
148
149
{% if ai.summary.priorities %}<olclass="small">{% for p in ai.summary.priorities %}<li>{{ p }}</li>{% endfor %}</ol>{% endif %}
149
150
<divclass="small faint">The model's verdicts are shown on each finding below. They do not change any severity.
150
151
<ahref="{{ here }}?verdict=likely_real">Likely real</a> ·
<div><spanclass="badge {{ review.rating }}">{{ review.rating }}</span><spanclass="small faint">{{ asset.ai_at | dt('%Y-%m-%d %H:%M') }}{% if review.model %}, {{ review.model }}{% endif %}. Written by a model from the findings below: check it against them.</span></div>
176
-
<p>{{ review.summary }}</p>
176
+
{% if review.summary %}<p>{{ review.summary }}</p>
177
+
{% elif review.withheld %}<divclass="notice info"><div>The summary is hidden. It named {{ review.withheld }} code finding{{ '' if review.withheld == 1 else 's' }} since given an exception or marked a false positive. Read it again for a new one.</div></div>{% endif %}
177
178
{% if review.correlations %}<divclass="small"><strong>Seen in both the site and the code</strong>
178
179
{% for c in review.correlations %}<divstyle="margin:.25rem 0">{{ c.dast }} ↔ <spanclass="mono">{{ c.sast }}</span><divclass="faint">{{ c.why }}</div></div>{% endfor %}</div>{% endif %}
179
180
{% if review.next_steps %}<divclass="small" style="margin-top:.5rem"><strong>Next</strong><ol>{% for s in review.next_steps %}<li>{{ s }}</li>{% endfor %}</ol></div>{% endif %}
0 commit comments