mirror of
https://github.com/momenbasel/keyFinder.git
synced 2026-04-23 04:56:21 +02:00
b73c2185b0
- Migrated to Chrome Manifest V3 with service worker architecture - 80+ secret detection patterns covering AWS, GCP, Azure, GitHub, GitLab, Stripe, Slack, Discord, OpenAI, and 30+ other providers - 10 scanning surfaces: inline scripts, external scripts, meta tags, hidden inputs, data attributes, HTML comments, URL params, web storage, cookies, and network response interception - Shannon entropy analysis for detecting undocumented secret formats - MAIN world interceptor for XHR/fetch response scanning and window globals - Professional dark-theme UI with filtering, search, and CSV/JSON export - Zero dependencies - removed jQuery, Bootstrap, font-awesome, popper - Proper XSS-safe DOM rendering throughout - Badge counter on extension icon showing finding count - All frames scanning including iframes
69 lines
2.1 KiB
HTML
69 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>KeyFinder - Findings</title>
|
|
<link rel="stylesheet" href="css/results.css">
|
|
</head>
|
|
<body>
|
|
<header class="header">
|
|
<div class="header-left">
|
|
<img src="icons/icon48.png" alt="KeyFinder" class="header-icon">
|
|
<h1>KeyFinder <span class="version">v2.0</span></h1>
|
|
</div>
|
|
<div class="header-actions">
|
|
<div class="filter-group">
|
|
<select id="severityFilter">
|
|
<option value="all">All Severities</option>
|
|
<option value="critical">Critical</option>
|
|
<option value="high">High</option>
|
|
<option value="medium">Medium</option>
|
|
<option value="low">Low</option>
|
|
</select>
|
|
<select id="typeFilter">
|
|
<option value="all">All Types</option>
|
|
</select>
|
|
<select id="providerFilter">
|
|
<option value="all">All Providers</option>
|
|
</select>
|
|
<input type="text" id="searchBox" placeholder="Search findings...">
|
|
</div>
|
|
<div class="btn-group">
|
|
<button id="exportJsonBtn" class="btn btn-secondary">Export JSON</button>
|
|
<button id="exportCsvBtn" class="btn btn-secondary">Export CSV</button>
|
|
<button id="clearBtn" class="btn btn-danger">Clear All</button>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="stats-bar" id="statsBar"></div>
|
|
|
|
<main class="main">
|
|
<table class="findings-table">
|
|
<thead>
|
|
<tr>
|
|
<th>#</th>
|
|
<th>Severity</th>
|
|
<th>Provider</th>
|
|
<th>Pattern</th>
|
|
<th>Match</th>
|
|
<th>Type</th>
|
|
<th>Domain</th>
|
|
<th>Source</th>
|
|
<th>Time</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="findingsBody"></tbody>
|
|
</table>
|
|
<div id="emptyState" class="empty-state" hidden>
|
|
<div class="empty-icon">🔍</div>
|
|
<p>No findings yet. Browse some pages and KeyFinder will passively scan for leaked secrets.</p>
|
|
</div>
|
|
</main>
|
|
|
|
<script src="js/results.js"></script>
|
|
</body>
|
|
</html>
|