Findings
++ Confirmed vulnerabilities saved by Agent +
++ No findings found +
++ Agent saves a finding only after it has concrete evidence, + reliable reproduction, and a working PoC. +
++ Confirmed vulnerabilities saved by Agent +
++ No findings found +
++ Agent saves a finding only after it has concrete evidence, + reliable reproduction, and a working PoC. +
+Finding deleted
++ This structured finding is no longer available. +
+
+ {finding.poc_script_code}
+
+
+ {location.snippet}
+
+ )}
+ {location.fix_before && location.fix_after && (
+
+ {location.fix_before}
+
+
+ {location.fix_after}
+
+ - No findings found + {hasActiveFilters + ? "No matching findings" + : "No findings yet"}
- Agent saves a finding only after it has concrete evidence, - reliable reproduction, and a working PoC. + {hasActiveFilters + ? "Try a different search or clear your filters to see all findings." + : "Use Agent to test a target. Once it confirms a vulnerability with solid evidence and a working proof of concept, you’ll find it here."}
Finding deleted
@@ -106,170 +165,427 @@ export function FindingDetail({ onDeleted?.(); } } catch { - toast.error("Could not delete finding"); + toast.error("Could not delete finding. Try again."); } finally { setIsDeleting(false); } }; + const sectionId = (section: string) => `${finding.finding_id}-${section}`; + const discoveredAt = new Intl.DateTimeFormat(undefined, { + dateStyle: "medium", + timeStyle: "short", + }).format(new Date(finding.created_at)); + return ( -
- {finding.poc_script_code}
-
-
- {location.snippet}
-
- )}
- {location.fix_before && location.fix_after && (
-
- {location.fix_before}
-
+ {finding.poc_script_code}
+
+
- {location.fix_after}
-
+ {location.label && (
+
+ {location.snippet}
+
+ )}
+ {location.fix_before && location.fix_after && (
+
+
+ {location.fix_before}
+
+
+
+ {location.fix_after}
+
+
- {finding.poc_script_code}
-
+
+ {finding.poc_script_code}
+
+