SENTINEL
// THREAT_HUNTER
ENGINE: ONLINE
SIG_DB: V2.4
TRAFFIC LOG INGESTION
RECEIVING STREAM...
ANALYZE STATIC
START LIVE FEED
EXPORT REPORT
CLEAR
DETECTION FEED & MITIGATION
NO THREATS DETECTED
SESSION TELEMETRY
PACKETS SCANNED
0
THREATS BLOCKED
0
ACTIVE SIGNATURES
> SQL_INJECTION (SID:1001)
> XSS_REFLECTED (SID:1002)
> RCE_SHELLSHOCK (SID:1004)
> DIR_TRAVERSAL (SID:1005)
← RETURN TO MAIN TERMINAL
", // XSS "POST /api/v1/update" ]; function toggleLiveMode() { const btn = document.getElementById('btn-live'); const indicator = document.getElementById('typing-indicator'); if(liveInterval) { // STOP clearInterval(liveInterval); liveInterval = null; btn.innerHTML = `
START LIVE FEED`; btn.style.background = ""; indicator.style.display = "none"; } else { // START btn.innerHTML = `
STOP FEED`; btn.style.background = "rgba(0,242,255,0.2)"; indicator.style.display = "inline"; liveInterval = setInterval(() => { // Pick random log const log = sampleLogs[Math.floor(Math.random() * sampleLogs.length)]; // Type it into textarea const currentVal = inputArea.value; const newVal = log + "\n" + currentVal.substring(0, 500); // Keep buffer small inputArea.value = newVal; // Run scan on just this line signatures.forEach(sig => { if(sig.regex.test(log)) createAlertCard(sig); }); scannedCount++; document.getElementById('count-scanned').innerText = scannedCount; }, 1500); } } // --- 4. EXPORT REPORT --- function exportReport() { const data = { session_id: Date.now(), total_scanned: scannedCount, threats_detected: threatCount, engine_version: "2.4", timestamp: new Date().toISOString() }; const blob = new Blob([JSON.stringify(data, null, 2)], {type: "application/json"}); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `IDS_REPORT_${Date.now()}.json`; a.click(); } function clearLogs() { inputArea.value = ""; resultsFeed.innerHTML = `
NO THREATS DETECTED
`; }