Files
litterbox/app/templates/report.html
T
2025-05-22 09:22:37 -07:00

895 lines
118 KiB
HTML

{% set page_title = dynamic_results.moneta.findings.process_info.name
or ('PID ' ~ pid) if is_process_analysis
else (file_info.original_name or 'Unknown File') %}
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LitterBox Analysis Report</title>
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
colors: {
accent: '#ef4444',
risk: { critical: '#dc2626', high: '#f97316', medium: '#eab308', low: '#10b981' }
}
}
}
}
</script>
<style>
.glass { backdrop-filter: blur(20px); background: rgba(15, 23, 42, 0.8); }
.fade-in { animation: fadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1); }
@keyframes fadeIn { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
body { font-family: 'Inter', -apple-system, system-ui, sans-serif; }
.shadow-custom { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); }
.border-custom { border: 1px solid rgba(51, 65, 85, 0.3); }
</style>
</head>
<body class="min-h-screen bg-gradient-to-br from-black via-gray-950 to-slate-950 text-gray-100 antialiased">
<div class="max-w-7xl mx-auto px-6 py-10">
<!-- Header -->
<header class="glass border-custom rounded-3xl p-8 mb-10 shadow-custom fade-in">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-6">
<div class="w-20 h-20 bg-gradient-to-br {% if risk_level == 'Low' %}from-green-500 to-green-600{% else %}from-accent to-red-600{% endif %} rounded-2xl flex items-center justify-center shadow-lg">
<img src="data:image/png;base64,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+JiaqAc/vFO8bxhgBEhrayvNP/61uJhr1twQ9HqsZuHaF0ihLpBSnk0IZiilahmltFhzny/cOGY2EckvBCHFn8Ax/fwKQAaEJKDUAAjpppQepMBewugeXdN3G2F+4EcPP5kceaFn6knnbwfvRwYoog2g61paaDQaVWOFSj9/221lduJQg+2RRlDVIIWsh0KNkF45pTRIGdOIAlFQQgphEULSIBimjA1RSYYU1BDlGOYwh3mAx42pocQPfxjLneSSaMvR63nPEn0k3tcMMAqkra2NFKaSTaQ/3dYGum6dP6krGo2qvE5XE3W+icR/JwYYC6StrY2M9RRx4NiyqpO939zcrO5pby88RfJ9R+QSSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEkoooYQSSiihhBJKKOH/L/w/UZfggN7w8OMAAAAASUVORK5CYIKJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYAAG4jSURBVHic7b13fGRXebj/nHPLVI3qant3Xa8bxjbGRYsBF0wLIAgEYwyJ6RACBBIS5CUkISFACL8AgS8lAQKxCJ2Yanvde/e6rddbtbuqM6Opt5zz++PeOxppteuttiTf5+OxtNLozp07933P+77nLRATExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExNzKIienh4TkAC9vb1Gb2+v8RyfU0xMzNFmqqALKRvf9wUKQTzb5zRTiS9EzFxC9Pb2yv7+fr+vry+5456brvA8541a0W5a5iOJROY/v/rjX/0eoK+vT65fv1491yf8XBMrgJg5QbNAv/M1L3uFV6v9k0Cv9ZVCa42UwcIvTfO/lq9e8oH1X/5+MVYCsQKImQP09PSYGzZs8L7d15e88e4N/+y7zgeUUnhKeUILoQVCoBUa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QY/MAa01vtKAGBVS7jKkeFpI83HTMh81EuZjLV3dT33+a9/drafkPfSCMdjTI8KVXhML/REhVgAzA9HX1ydCN0ExpRDl/770pcRv7r5+Va1UPqlec05T2l+rlT7WV3qJFOSMJlGPym+jwSKNKUaBxCoChbFP4dET6cwy0CZTt/wavgjNNr4mmFIM+EpTloaRR+sR0zT2KKUGTDuxQ6O3Je30dmGJnbnOtt3//NXvj+xrElJvb68xODgo4lX+6BIrgBlIlGQ0ODgoujds0NONltZai6s/+p55w9t3LHGd2grf85e7nlohJYs9z10ghOxUvt8GZIUQSa2VKRCNffTpXIbm8WLBNCPpaa1rWuuKYVrjWqsiiIJl26Oe44wZtjViG8ZgpVIZaevsGqqVKyPt89rHlJ0YW3v26uKV7/h07Zn8jWhlB+ju7tbxXv2zS6wAZgeir69PbNy4UexPKTSjtZZ/+c7XZNLJ9ozvi5btm5/ICMtIZ9va075LwjKwZdPMME8pz/e0a9miVhwbrWrXryxddVzZMPT4aGFP5d++d21VSsPV+uDibH0gb+jpaTQn6O7u1mvWrNFXr1+vI6PloA4Yc0SJFcDsRWgNV189oRgAQuVwNE1m2QsiWrUjuru7NUAs3LOLWAHMXQQEkburr+4TABs3bpz0eUdKAyYEOGLNmjUa4Oqr1+sprn5MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzMHOf/B0ZcMK0e9bGgAAAAAElFTkSuQmCC" class="w-22 h-22" alt="LitterBox Icon" />
</div>
<div>
<h1 class="text-4xl font-bold bg-gradient-to-r from-white via-gray-100 to-gray-300 bg-clip-text text-transparent mb-2">
{{ page_title }}
</h1>
<p class="text-gray-400 text-lg">Security Analysis Report</p>
<p class="text-xs text-gray-600 mt-2">Generated: {{ generated_on }}</p>
</div>
</div>
<div class="text-right">
{% set badge_class = {'Critical':'bg-risk-critical','High':'bg-risk-high','Medium':'bg-risk-medium text-black','Low':'bg-risk-low'}[risk_level] %}
<div class="px-8 py-4 rounded-2xl font-bold text-xl {{ badge_class }} shadow-lg">
{{ risk_level }} Risk
</div>
<div class="text-gray-400 text-sm mt-2">{{ risk_score }}% Confidence</div>
</div>
</div>
<div class="mt-8">
<div class="w-full bg-gray-900/60 rounded-full h-4 shadow-inner">
<div class="{{ badge_class }} h-4 rounded-full transition-all duration-1500 shadow-sm" style="width: {{ risk_score }}%;"></div>
</div>
</div>
</header>
<!-- Navigation -->
<div class="hidden lg:block fixed top-24 right-6 w-56 glass border-custom rounded-2xl p-6 z-50 shadow-custom">
<h3 class="text-sm font-bold text-gray-200 mb-4 uppercase tracking-wide">Navigation</h3>
<nav class="space-y-2 text-sm">
<a href="#executive-summary" class="block py-3 px-4 text-gray-300 hover:text-accent hover:bg-accent/10 rounded-xl transition-all duration-200">Executive Summary</a>
{% if file_info %}<a href="#file-information" class="block py-3 px-4 text-gray-300 hover:text-accent hover:bg-accent/10 rounded-xl transition-all duration-200">File Information</a>{% endif %}
{% if static_results %}<a href="#static-analysis" class="block py-3 px-4 text-gray-300 hover:text-accent hover:bg-accent/10 rounded-xl transition-all duration-200">Static Analysis</a>{% endif %}
{% if dynamic_results %}<a href="#dynamic-analysis" class="block py-3 px-4 text-gray-300 hover:text-accent hover:bg-accent/10 rounded-xl transition-all duration-200">Dynamic Analysis</a>{% endif %}
</nav>
</div>
<!-- Executive Summary -->
<section class="glass border-custom rounded-3xl p-8 mb-10 shadow-custom fade-in" id="executive-summary">
<div class="flex items-center mb-6">
<h2 class="text-3xl font-bold text-gray-100">Executive Summary</h2>
{% set badge_class = {'Critical':'bg-risk-critical','High':'bg-risk-high','Medium':'bg-risk-medium text-black','Low':'bg-risk-low'}[risk_level] %}
<span class="ml-auto px-6 py-3 rounded-2xl font-bold text-lg {{ badge_class }} shadow-lg">
{{ risk_level }} Risk ({{ risk_score }}%)
</span>
</div>
<div class="w-full bg-gray-900/40 rounded-full h-3 mb-8 shadow-inner">
<div class="{{ badge_class }} h-3 rounded-full transition-all duration-1500" style="width: {{ risk_score }}%;"></div>
</div>
<div class="mb-8">
<h3 class="text-lg font-bold text-gray-200 mb-5 uppercase tracking-wide">Key Findings</h3>
<ul class="space-y-4 text-base">
{% for factor in risk_factors %}
<li class="flex items-start">
<span class="w-2 h-2 rounded-full bg-accent mt-2.5 mr-4 shadow-sm"></span>
<span class="text-gray-300 leading-relaxed">{{ factor }}</span>
</li>
{% endfor %}
</ul>
</div>
{% if file_info %}
<div class="bg-black/40 border border-gray-800/50 rounded-2xl p-6 shadow-lg">
<div class="flex items-center cursor-pointer" onclick="toggleSection('file-info-details')">
<h3 class="font-bold text-accent text-lg">Sample Information</h3>
<svg class="h-5 w-5 ml-auto text-gray-400 transition-transform hover:text-accent" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<div id="file-info-details" class="mt-5 grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm">
<div><span class="text-gray-500 font-medium">Filename:</span> <strong class="text-gray-200">{{ file_info.original_name or 'Unknown' }}</strong></div>
<div><span class="text-gray-500 font-medium">Type:</span> <strong class="text-gray-200">{{ file_info.detected_type.type if file_info.detected_type else 'Unknown' }}</strong></div>
<div><span class="text-gray-500 font-medium">Size:</span> <strong class="text-gray-200">{{ format_size(file_info.size) }}</strong></div>
<div><span class="text-gray-500 font-medium">MD5:</span> <code class="text-xs bg-gray-800/60 rounded-lg px-2 py-1 text-gray-300">{{ file_info.md5 or 'N/A' }}</code></div>
<div class="col-span-full"><span class="text-gray-500 font-medium">SHA256:</span> <code class="text-xs bg-gray-800/60 rounded-lg px-2 py-1 text-gray-300">{{ file_info.sha256 or 'N/A' }}</code></div>
</div>
</div>
{% elif is_process_analysis and dynamic_results %}
{% set pinfo = dynamic_results.moneta.findings.process_info %}
<div class="bg-black/40 border border-gray-800/50 rounded-2xl p-6 shadow-lg">
<div class="flex items-center cursor-pointer" onclick="toggleSection('process-info-details')">
<h3 class="font-bold text-accent text-lg">Process Information</h3>
<svg class="h-5 w-5 ml-auto text-gray-400 transition-transform hover:text-accent" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7" />
</svg>
</div>
<div id="process-info-details" class="mt-5 grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm">
<div><span class="text-gray-500 font-medium">Process:</span> <strong class="text-gray-200">{{ pinfo.name or ('PID ' ~ pid) }}</strong></div>
<div><span class="text-gray-500 font-medium">PID:</span> <strong class="text-gray-200">{{ pid }}</strong></div>
<div class="col-span-full"><span class="text-gray-500 font-medium">Path:</span> <strong class="text-gray-200">{{ pinfo.path or 'N/A' }}</strong></div>
</div>
</div>
{% endif %}
{% if file_info.office_info %}
{% set oi = file_info.office_info %}
<details class="mt-6">
<summary class="cursor-pointer font-bold text-accent p-3 hover:bg-accent/10 rounded-xl transition-all duration-200 text-lg">Office Document Information</summary>
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Property</th><th class="py-4 px-6 text-left font-bold text-gray-200">Value</th></tr>
</thead>
<tbody>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-400 font-medium">Contains Macros</td>
<td class="py-4 px-6">
<span class="px-3 py-1 rounded-xl text-xs text-white bg-risk-{{ 'high' if oi.has_macros else 'low' }} shadow-sm">{{ oi.has_macros }}</span>
</td>
</tr>
{% if oi.has_macros and oi.macro_info %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-400 font-medium">Macro Analysis</td>
<td class="py-4 px-6">
<pre class="whitespace-pre-wrap bg-black/60 border border-gray-800/50 p-4 rounded-xl font-mono text-xs text-gray-300">{{ oi.macro_info }}</pre>
</td>
</tr>
{% endif %}
</tbody>
</table>
</div>
</details>
{% endif %}
<div class="mt-8">
<h3 class="font-bold text-accent mb-5 text-lg uppercase tracking-wide">Detection Summary</h3>
{% set has_detections = false %}
<!-- Check for dynamic detections -->
{% if detections %}
{% for engine,count in detections.items() if count>0 %}
{% set has_detections = true %}
{% endfor %}
{% endif %}
<!-- Check for static detections -->
{% if static_results %}
{% if static_results.yara.matches and static_results.yara.matches|length > 0 %}
{% set has_detections = true %}
{% endif %}
{% if static_results.checkplz.findings and (static_results.checkplz.findings.initial_threat or static_results.checkplz.findings.scan_results.final_threat_detection) %}
{% set has_detections = true %}
{% endif %}
{% if static_results.stringnalyzer.findings %}
{% set st = static_results.stringnalyzer.findings %}
{% if (st.found_suspicious_strings and st.found_suspicious_strings|length > 0) or (st.found_url and st.found_url|length > 0) or (st.found_ip and st.found_ip|length > 0) or (st.found_domains and st.found_domains|length > 0) or (st.found_emails and st.found_emails|length > 0) %}
{% set has_detections = true %}
{% endif %}
{% endif %}
{% endif %}
{% if has_detections %}
<div class="grid sm:grid-cols-2 md:grid-cols-3 gap-4">
<!-- Static Analysis Results -->
{% if static_results %}
{% if static_results.yara.matches and static_results.yara.matches|length > 0 %}
<div class="bg-accent/10 border border-accent/30 px-5 py-4 rounded-2xl text-sm flex items-center justify-between hover:bg-accent/20 transition-all duration-200 shadow-lg">
<span class="font-medium text-gray-200">YARA (Static)</span>
<span class="font-bold text-accent bg-accent/30 rounded-xl px-3 py-1 text-sm shadow-sm">{{ static_results.yara.matches|length }}</span>
</div>
{% endif %}
{% if static_results.checkplz.findings and (static_results.checkplz.findings.initial_threat or static_results.checkplz.findings.scan_results.final_threat_detection) %}
<div class="bg-accent/10 border border-accent/30 px-5 py-4 rounded-2xl text-sm flex items-center justify-between hover:bg-accent/20 transition-all duration-200 shadow-lg">
<span class="font-medium text-gray-200">CheckPLZ</span>
<span class="font-bold text-accent bg-accent/30 rounded-xl px-3 py-1 text-sm shadow-sm">1</span>
</div>
{% endif %}
{% if static_results.stringnalyzer.findings %}
{% set st = static_results.stringnalyzer.findings %}
{% set string_count = 0 %}
{% if st.found_suspicious_strings %}{% set string_count = string_count + st.found_suspicious_strings|length %}{% endif %}
{% if st.found_url %}{% set string_count = string_count + st.found_url|length %}{% endif %}
{% if st.found_ip %}{% set string_count = string_count + st.found_ip|length %}{% endif %}
{% if st.found_domains %}{% set string_count = string_count + st.found_domains|length %}{% endif %}
{% if st.found_emails %}{% set string_count = string_count + st.found_emails|length %}{% endif %}
{% if string_count > 0 %}
<div class="bg-accent/10 border border-accent/30 px-5 py-4 rounded-2xl text-sm flex items-center justify-between hover:bg-accent/20 transition-all duration-200 shadow-lg">
<span class="font-medium text-gray-200">String Analysis</span>
<span class="font-bold text-accent bg-accent/30 rounded-xl px-3 py-1 text-sm shadow-sm">{{ string_count }}</span>
</div>
{% endif %}
{% endif %}
{% endif %}
<!-- Dynamic Analysis Results -->
{% if detections %}
{% for engine,count in detections.items() if count>0 %}
<div class="bg-accent/10 border border-accent/30 px-5 py-4 rounded-2xl text-sm flex items-center justify-between hover:bg-accent/20 transition-all duration-200 shadow-lg">
<span class="font-medium text-gray-200">{{ engine|capitalize }}</span>
<span class="font-bold text-accent bg-accent/30 rounded-xl px-3 py-1 text-sm shadow-sm">{{ count }}</span>
</div>
{% endfor %}
{% endif %}
</div>
{% else %}
<div class="p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">All Scans Clean</h4>
</div>
<p class="text-green-300">No threats detected by any analysis engines</p>
</div>
{% endif %}
</div>
</section>
<!-- File Information -->
{% if file_info %}
<section class="glass border-custom rounded-3xl p-8 mb-10 space-y-8 shadow-custom fade-in" id="file-information">
<h2 class="text-3xl font-bold flex items-center text-gray-100">
<svg class="h-7 w-7 mr-3 text-accent" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" />
</svg>
File Information
</h2>
<details open>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">Basic Information</summary>
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Property</th><th class="py-4 px-6 text-left font-bold text-gray-200">Value</th></tr>
</thead>
<tbody>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Original Name</td><td class="py-4 px-6 text-gray-200">{{ file_info.original_name or 'N/A' }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">File Type</td><td class="py-4 px-6 text-gray-200">{{ file_info.detected_type.type if file_info.detected_type else 'Unknown' }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">File Size</td><td class="py-4 px-6 text-gray-200">{{ format_size(file_info.size) }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">MD5</td><td class="py-4 px-6 font-mono text-xs text-gray-300">{{ file_info.md5 or 'N/A' }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">SHA256</td><td class="py-4 px-6 font-mono text-xs break-all text-gray-300">{{ file_info.sha256 or 'N/A' }}</td></tr>
<tr class="hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-400 font-medium">Entropy</td>
<td class="py-4 px-6">
<span class="text-gray-200 font-medium">{{ '%.2f'|format(file_info.entropy) }}</span>
{% set e = file_info.entropy %}
{% set cls = 'low' %}{% if e>7.2 %}{% set cls='critical' %}{% elif e>6.8 %}{% set cls='high' %}{% elif e>6 %}{% set cls='medium' %}{% endif %}
<span class="ml-3 px-3 py-1 rounded-xl text-xs text-white bg-risk-{{ cls }} shadow-sm">
{{ file_info.entropy_analysis.detection_risk if file_info.entropy_analysis else 'Unknown' }}
</span>
</td>
</tr>
</tbody>
</table>
</div>
</details>
{% if file_info.pe_info %}
{% set pe = file_info.pe_info %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">PE Information</summary>
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Property</th><th class="py-4 px-6 text-left font-bold text-gray-200">Value</th></tr>
</thead>
<tbody>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">File Type</td><td class="py-4 px-6 text-gray-200">{{ pe.file_type or 'N/A' }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Machine Type</td><td class="py-4 px-6 text-gray-200">{{ pe.machine_type or 'N/A' }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Subsystem</td><td class="py-4 px-6 text-gray-200">{{ pe.subsystem or 'N/A' }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Compile Time</td><td class="py-4 px-6 text-gray-200">{{ pe.compile_time or 'N/A' }}</td></tr>
<tr class="hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Entry Point</td><td class="py-4 px-6 font-mono text-gray-300">{{ pe.entry_point or 'N/A' }}</td></tr>
</tbody>
</table>
</div>
</details>
{% if pe.sections %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
PE Sections <span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ pe.sections|length }}</span>
</summary>
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr>
<th class="py-4 px-6 text-left font-bold text-gray-200">Name</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Size</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Entropy</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Notes</th>
</tr>
</thead>
<tbody>
{% for s in pe.sections %}
{% set e = s.entropy %}
{% set cls = 'low' %}{% if e>7.2 %}{% set cls='critical' %}{% elif e>6.8 %}{% set cls='high' %}{% elif e>6 %}{% set cls='medium' %}{% endif %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 font-mono text-gray-200">{{ s.name }}</td>
<td class="py-4 px-6 text-gray-300">{{ format_size(s.size) }}</td>
<td class="py-4 px-6"><span class="px-3 py-1 rounded-xl text-xs text-white bg-risk-{{ cls }} shadow-sm">{{ '%.2f'|format(e) }}</span></td>
<td class="py-4 px-6 text-gray-400">{{ (s.detection_notes or [])|join(', ') if s.detection_notes else 'None' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</details>
{% endif %}
{% if pe.suspicious_imports %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
Suspicious Imports <span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ pe.suspicious_imports|length }}</span>
</summary>
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr>
<th class="py-4 px-6 text-left font-bold text-gray-200">DLL</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Function</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Category</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Description</th>
</tr>
</thead>
<tbody>
{% for imp in pe.suspicious_imports %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 font-mono text-gray-200">{{ imp.dll }}</td>
<td class="py-4 px-6 font-mono text-gray-200">{{ imp.function }}</td>
<td class="py-4 px-6"><span class="px-3 py-1 rounded-xl text-xs bg-black/60 text-gray-300">{{ imp.category }}</span></td>
<td class="py-4 px-6 text-gray-400">{{ imp.note }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</details>
{% endif %}
{% endif %}
</section>
{% endif %}
<!-- Static Analysis -->
{% if static_results %}
<section class="glass border-custom rounded-3xl p-8 mb-10 space-y-8 shadow-custom fade-in" id="static-analysis">
<h2 class="text-3xl font-bold flex items-center text-gray-100">
<svg class="h-7 w-7 mr-3 text-accent" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
</svg>
Static Analysis Results
</h2>
<!-- YARA Analysis -->
{% if static_results.yara %}
<details open>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
YARA Detections
{% if static_results.yara.matches %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ static_results.yara.matches|length }}</span>
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if static_results.yara.matches %}
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr>
<th class="py-4 px-6 text-left font-bold text-gray-200">Rule</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Severity</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Description</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Strings</th>
</tr>
</thead>
<tbody>
{% for m in static_results.yara.matches %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 font-bold text-gray-200">{{ m.rule }}</td>
<td class="py-4 px-6">
{% set severity = m.metadata.severity or 'Medium' %}
{% set sev_class = 'bg-risk-medium text-black' %}
{% if severity == 'Critical' %}{% set sev_class = 'bg-risk-critical text-white' %}
{% elif severity == 'High' %}{% set sev_class = 'bg-risk-high text-white' %}
{% elif severity == 'Low' %}{% set sev_class = 'bg-risk-low text-white' %}
{% endif %}
<span class="px-3 py-1 rounded-xl text-xs {{ sev_class }} shadow-sm">{{ severity }}</span>
</td>
<td class="py-4 px-6 text-gray-300">{{ m.metadata.description or 'No description' }}</td>
<td class="py-4 px-6 font-mono text-xs">
{% set ids=m.strings|map(attribute='identifier')|list %}
{% if ids %}
<div class="flex flex-wrap gap-2">
{% for id in ids %}
<span class="bg-gray-800/60 px-2 py-1 rounded-lg text-gray-300">{{ id }}</span>
{% endfor %}
</div>
{% else %}<span class="text-gray-500">None</span>{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">No YARA Detections</h4>
</div>
<p class="text-green-300">File passed all YARA rule checks - no malicious patterns detected</p>
</div>
{% endif %}
</details>
{% endif %}
<!-- CheckPLZ Analysis -->
{% if static_results.checkplz %}
{% set cp = static_results.checkplz.findings %}
<details open>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
CheckPLZ Results
{% if cp and (cp.initial_threat or cp.scan_results.final_threat_detection) %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">Threats Found</span>
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if cp and (cp.initial_threat or cp.scan_results.final_threat_detection) %}
{% if cp.initial_threat %}
<div class="bg-red-900/30 border border-red-500/50 px-6 py-4 rounded-2xl my-6 text-red-300 flex items-center shadow-lg">
<svg class="h-6 w-6 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
</svg>
<span class="font-bold">Initial Threat: {{ cp.initial_threat }}</span>
</div>
{% endif %}
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Property</th><th class="py-4 px-6 text-left font-bold text-gray-200">Value</th></tr>
</thead>
<tbody>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Scan Duration</td><td class="py-4 px-6 text-gray-200">{{ cp.scan_results.scan_duration }}s</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Search Iterations</td><td class="py-4 px-6 text-gray-200">{{ cp.scan_results.search_iterations }}</td></tr>
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-4 px-6 text-gray-400 font-medium">Detection Offset</td><td class="py-4 px-6 font-mono text-gray-300">{{ cp.scan_results.detection_offset }}</td></tr>
<tr class="hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-400 font-medium">Final Threat Detection</td>
<td class="py-4 px-6">
{% if cp.scan_results.final_threat_detection %}
<span class="px-3 py-1 rounded-xl text-xs text-white bg-risk-critical shadow-sm">{{ cp.scan_results.final_threat_detection }}</span>
{% else %}<span class="text-gray-500">None</span>{% endif %}
</td>
</tr>
</tbody>
</table>
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">CheckPLZ Scan Clean</h4>
</div>
<p class="text-green-300">No embedded threats or suspicious payloads detected</p>
</div>
{% endif %}
</details>
{% endif %}
<!-- String Analysis -->
{% if static_results.stringnalyzer %}
{% set st = static_results.stringnalyzer.findings %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
Strings Analysis
{% set has_findings = (st.found_suspicious_strings and st.found_suspicious_strings|length > 0) or (st.found_url and st.found_url|length > 0) or (st.found_ip and st.found_ip|length > 0) or (st.found_domains and st.found_domains|length > 0) or (st.found_emails and st.found_emails|length > 0) %}
{% if not has_findings %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if has_findings %}
<div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4 mt-6">
{% for key,label in {'found_suspicious_strings':'Suspicious Strings','found_url':'URLs','found_ip':'IP Addresses','found_domains':'Domains','found_emails':'Emails'}.items() %}
{% set cnt = st[key]|length if st[key] is defined else 0 %}
{% if cnt>0 %}
<div class="bg-accent/10 border border-accent/30 p-5 rounded-2xl flex items-center justify-between hover:bg-accent/20 transition-all duration-200 shadow-lg">
<span class="text-sm font-medium text-gray-200">{{ label }}</span>
<span class="font-bold text-accent bg-accent/30 rounded-xl px-3 py-1 text-sm shadow-sm">{{ cnt }}</span>
</div>
{% endif %}
{% endfor %}
</div>
{% if st.found_suspicious_strings %}
<div class="mt-8 p-6 bg-black/40 border border-gray-800/50 rounded-2xl shadow-lg">
<h4 class="font-bold mb-4 text-gray-200 text-lg">Sample Suspicious Strings</h4>
<div class="overflow-hidden rounded-2xl border border-gray-800/50">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">String</th></tr>
</thead>
<tbody>
{% for s in st.found_suspicious_strings[:10] %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors"><td class="py-3 px-6 font-mono text-xs text-gray-300">{{ s }}</td></tr>
{% endfor %}
{% if st.found_suspicious_strings|length>10 %}
<tr><td class="py-3 px-6 italic text-gray-500">…and {{ st.found_suspicious_strings|length-10 }} more</td></tr>
{% endif %}
</tbody>
</table>
</div>
</div>
{% endif %}
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">String Analysis Clean</h4>
</div>
<p class="text-green-300">No suspicious strings, URLs, IPs, domains, or emails detected</p>
</div>
{% endif %}
</details>
{% endif %}
</section>
{% endif %}
<!-- Dynamic Analysis -->
{% if dynamic_results %}
<section class="glass border-custom rounded-3xl p-8 mb-10 space-y-8 shadow-custom fade-in" id="dynamic-analysis">
<h2 class="text-3xl font-bold flex items-center text-gray-100">
<svg class="h-7 w-7 mr-3 text-accent" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" />
</svg>
Dynamic Analysis Results
</h2>
{% if dynamic_results.process_output.had_output %}
<details open>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">Process Output</summary>
{% if dynamic_results.process_output.stdout %}
<div class="mt-6">
<h4 class="font-bold mb-3 text-gray-200">Stdout</h4>
<pre class="bg-black/60 border border-gray-800/50 rounded-2xl p-6 text-xs font-mono overflow-x-auto text-gray-300 shadow-lg">{{ dynamic_results.process_output.stdout }}</pre>
</div>
{% endif %}
{% if dynamic_results.process_output.stderr %}
<div class="mt-6">
<h4 class="font-bold mb-3 text-red-400">Stderr</h4>
<pre class="bg-red-900/30 border border-red-500/40 rounded-2xl p-6 text-xs font-mono overflow-x-auto text-red-300 shadow-lg">{{ dynamic_results.process_output.stderr }}</pre>
</div>
{% endif %}
</details>
{% endif %}
<!-- Moneta Memory Analysis -->
{% if dynamic_results.moneta %}
{% set mo = dynamic_results.moneta.findings %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
Moneta Memory Anomalies
{% set has_anomalies = mo.total_private_rx or mo.total_private_rwx or mo.total_abnormal_private_exec or mo.total_heap_executable or mo.total_modified_code or mo.total_modified_pe_header or mo.total_inconsistent_x or mo.total_missing_peb or mo.total_mismatching_peb or mo.total_threads_non_image %}
{% if has_anomalies %}
{% if detections.moneta %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ detections.moneta }}</span>
{% endif %}
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if has_anomalies %}
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Anomaly</th><th class="py-4 px-6 text-left font-bold text-gray-200">Count</th></tr>
</thead>
<tbody>
{% for k,l in {'total_private_rx':'RX Private Memory','total_private_rwx':'RWX Private Memory','total_abnormal_private_exec':'Abnormal Private Exec','total_heap_executable':'Executable Heap','total_modified_code':'Modified Code','total_modified_pe_header':'Modified PE Headers','total_inconsistent_x':'Inconsistent Exec Perms','total_missing_peb':'Missing PEB','total_mismatching_peb':'Mismatching PEB','total_threads_non_image':'Threads in Non-Image Memory'}.items() %}
{% if mo[k] %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-300">{{ l }}</td>
<td class="py-4 px-6"><span class="bg-accent/20 text-accent px-3 py-1 rounded-xl text-sm font-bold shadow-sm">{{ mo[k] }}</span></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">Memory Analysis Clean</h4>
</div>
<p class="text-green-300">No memory anomalies or suspicious process behavior detected</p>
</div>
{% endif %}
</details>
{% endif %}
<!-- YARA In-Memory -->
{% if dynamic_results.yara %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
YARA In-Memory Detections
{% if dynamic_results.yara.matches %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ dynamic_results.yara.matches|length }}</span>
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if dynamic_results.yara.matches %}
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Rule</th><th class="py-4 px-6 text-left font-bold text-gray-200">Severity</th><th class="py-4 px-6 text-left font-bold text-gray-200">Description</th></tr>
</thead>
<tbody>
{% for m in dynamic_results.yara.matches %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 font-bold text-gray-200">{{ m.rule }}</td>
<td class="py-4 px-6">
{% set severity = m.metadata.severity or 'Medium' %}
{% set sev_class = 'bg-risk-medium text-black' %}
{% if severity == 'Critical' %}{% set sev_class = 'bg-risk-critical text-white' %}
{% elif severity == 'High' %}{% set sev_class = 'bg-risk-high text-white' %}
{% elif severity == 'Low' %}{% set sev_class = 'bg-risk-low text-white' %}
{% endif %}
<span class="px-3 py-1 rounded-xl text-xs {{ sev_class }} shadow-sm">{{ severity }}</span>
</td>
<td class="py-4 px-6 text-gray-300">{{ m.metadata.description or 'No description' }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">Memory YARA Scan Clean</h4>
</div>
<p class="text-green-300">No malicious patterns detected in process memory</p>
</div>
{% endif %}
</details>
{% endif %}
<!-- PE-Sieve -->
{% if dynamic_results.pe_sieve %}
{% set ps = dynamic_results.pe_sieve.findings %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
PE-Sieve Memory Analysis
{% if ps.total_suspicious and ps.total_suspicious > 0 %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ ps.total_suspicious }}</span>
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if ps.total_suspicious and ps.total_suspicious > 0 %}
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Anomaly</th><th class="py-4 px-6 text-left font-bold text-gray-200">Count</th></tr>
</thead>
<tbody>
{% for k,l in {'hooked':'Function Hooks','replaced':'Replaced Modules','hdrs_modified':'Modified Headers','iat_hooks':'IAT Hooks','implanted':'Implanted Code','implanted_pe':'Implanted PE Modules','implanted_shc':'Implanted Shellcode','other':'Other Anomalies'}.items() %}
{% if ps[k] %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-300">{{ l }}</td>
<td class="py-4 px-6"><span class="bg-accent/20 text-accent px-3 py-1 rounded-xl text-sm font-bold shadow-sm">{{ ps[k] }}</span></td>
</tr>
{% endif %}
{% endfor %}
<tr class="font-semibold bg-black/40">
<td class="py-4 px-6 text-gray-200">Total Suspicious</td>
<td class="py-4 px-6"><span class="bg-red-900/40 text-red-400 px-3 py-1 rounded-xl font-bold shadow-sm">{{ ps.total_suspicious }}</span></td>
</tr>
</tbody>
</table>
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">PE-Sieve Analysis Clean</h4>
</div>
<p class="text-green-300">No memory modifications, hooks, or injected code detected</p>
</div>
{% endif %}
</details>
{% endif %}
<!-- Hunt-Sleeping-Beacons -->
{% if dynamic_results.hsb %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
Hunt-Sleeping-Beacons Detections
{% if dynamic_results.hsb.findings.summary.has_detections and dynamic_results.hsb.findings.summary.total_findings > 0 %}
{% if detections.hsb %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ detections.hsb }}</span>
{% endif %}
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if dynamic_results.hsb.findings.summary.has_detections and dynamic_results.hsb.findings.summary.total_findings > 0 %}
<div class="mt-6 space-y-6">
{% for det in dynamic_results.hsb.findings.detections %}
<div class="bg-black/40 border border-gray-800/50 rounded-2xl overflow-hidden shadow-lg">
<div class="bg-black/60 px-6 py-4 flex items-center">
<h4 class="font-bold text-gray-200">
Process: {{ det.process_name }}
<span class="text-sm text-gray-400 ml-2">(PID: {{ det.pid }})</span>
</h4>
</div>
<div class="overflow-x-auto">
<table class="min-w-full text-sm">
<thead class="bg-black/40">
<tr>
<th class="py-4 px-6 text-left font-bold text-gray-200">Type</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Severity</th>
<th class="py-4 px-6 text-left font-bold text-gray-200">Description</th>
</tr>
</thead>
<tbody>
{% for f in det.findings %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-300">{{ f.type }}</td>
<td class="py-4 px-6">
<span class="px-3 py-1 rounded-xl text-xs text-white bg-risk-{{ f.severity|lower }} shadow-sm">{{ f.severity }}</span>
</td>
<td class="py-4 px-6 text-gray-300">{{ f.description }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endfor %}
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">No Sleeping Beacons</h4>
</div>
<p class="text-green-300">No suspicious C2 beacon activity or sleep patterns detected</p>
</div>
{% endif %}
</details>
{% endif %}
<!-- Patriot -->
{% if dynamic_results.patriot %}
<details>
<summary class="cursor-pointer font-bold text-accent p-4 hover:bg-accent/10 rounded-2xl transition-all duration-200 text-lg">
Patriot Memory Detections
{% if dynamic_results.patriot.findings.findings %}
<span class="ml-2 text-sm bg-black/60 px-3 py-1 rounded-xl font-medium">{{ dynamic_results.patriot.findings.findings|length }}</span>
{% else %}
<span class="ml-2 text-sm bg-green-600/20 border border-green-500/30 text-green-400 px-3 py-1 rounded-xl font-medium">Clean</span>
{% endif %}
</summary>
{% if dynamic_results.patriot.findings.findings %}
<div class="overflow-hidden mt-6 rounded-2xl border border-gray-800/50 shadow-lg">
<table class="min-w-full text-sm">
<thead class="bg-black/60">
<tr><th class="py-4 px-6 text-left font-bold text-gray-200">Type</th><th class="py-4 px-6 text-left font-bold text-gray-200">Level</th><th class="py-4 px-6 text-left font-bold text-gray-200">Details</th></tr>
</thead>
<tbody>
{% for f in dynamic_results.patriot.findings.findings %}
<tr class="border-b border-gray-800/30 hover:bg-gray-900/30 transition-colors">
<td class="py-4 px-6 text-gray-300">{{ f.type }}</td>
<td class="py-4 px-6">
{% set level = f.level %}
{% set level_class = 'bg-risk-medium text-black' %}
{% if level == 'Critical' or level == 'High' %}{% set level_class = 'bg-risk-high text-white' %}
{% elif level == 'Low' %}{% set level_class = 'bg-risk-low text-white' %}
{% endif %}
<span class="px-3 py-1 rounded-xl text-xs {{ level_class }} shadow-sm">{{ level }}</span>
</td>
<td class="py-4 px-6 text-gray-300">{{ f.details }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<div class="mt-6 p-6 bg-green-900/20 border border-green-500/30 rounded-2xl text-center">
<div class="flex items-center justify-center mb-2">
<svg class="h-8 w-8 text-green-400 mr-3" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg>
<h4 class="text-xl font-bold text-green-400">Patriot Scan Clean</h4>
</div>
<p class="text-green-300">No suspicious memory patterns or artifacts detected</p>
</div>
{% endif %}
</details>
{% endif %}
</section>
{% endif %}
<!-- Footer -->
<footer class="text-center py-8 border-t border-gray-800 mt-16">
<div class="flex items-center justify-center mb-3">
<span class="w-3 h-3 bg-accent rounded-full mr-3 shadow-sm"></span>
<span class="text-gray-300 font-bold text-lg">LitterBox RedTeam Sandbox</span><!-- 125920d0b049843a5098edaa3aec7623 -->
</div>
<p class="text-sm text-gray-500">Your malware's favorite sandbox ;)</p>
</footer>
</div>
<button id="back-to-top" class="fixed bottom-8 right-8 bg-accent/90 hover:bg-accent text-white rounded-2xl p-4 shadow-2xl transition-all duration-300 opacity-0 invisible">
<svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 15l7-7 7 7" />
</svg>
</button>
<script>
function toggleTheme() {
document.documentElement.classList.toggle('dark');
localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
}
function toggleSection(id) {
document.getElementById(id).classList.toggle('hidden');
}
const backBtn = document.getElementById('back-to-top');
window.addEventListener('scroll', () => {
if (window.pageYOffset > 300) {
backBtn.classList.remove('opacity-0', 'invisible');
} else {
backBtn.classList.add('opacity-0', 'invisible');
}
});
backBtn.addEventListener('click', () => window.scrollTo({top: 0, behavior: 'smooth'}));
if (localStorage.getItem('theme') === 'light') {
document.documentElement.classList.remove('dark');
}
</script>
</body>
</html>