Files
cve/docs/index.html
T
0xMarcio 066ddf4400 Rebuild the frontend to the refit design
Space Grotesk for prose, IBM Plex Mono for every identifier, and the flat
hairline-bordered surfaces from the handoff. Green marks what you can act
on and amber only ever means a star count; nothing else is coloured.

Three changes to how the same data reads. Descriptions clamp to three lines
behind an expander, so a kernel CVE no longer pushes the links people came
for below the fold. Raw URLs become owner / repo rows carrying stars and
last-commit age, ranked best first, five at a time. And an empty search box
now keeps the trending PoCs on screen with a TRENDING / RECENT toggle
rather than showing an empty page.

The search grammar, ranking and negation are unchanged.
2026-08-30 21:53:31 +02:00

68 lines
2.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>CVE PoC Hub</title>
<meta name="description" content="Search publicly available proof-of-concept exploits by CVE, vendor or product." />
<link rel="icon" href="/favicon.ico" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/style.css" />
</head>
<body>
<header class="masthead">
<div class="container">
<h1 class="wordmark">CVE PoC Hub</h1>
<div class="pills">
<span class="pill">Linked PoCs</span>
<span class="pill">MITRE CVE pages</span>
<span class="pill">Vendor / product filters</span>
<span class="pill">Supports negative terms (e.g. -windows)</span>
</div>
<form class="search" role="search" autocomplete="off">
<span class="search-glyph" aria-hidden="true">⌕</span>
<input type="text" spellcheck="false" data-search
placeholder="Search CVE, vendor, product, or keyword"
aria-label="Search CVE, vendor, product, or keyword" />
<span class="search-status" data-status aria-live="polite"></span>
</form>
</div>
</header>
<main class="container content">
<section class="card results" data-results hidden></section>
<section data-trending>
<div class="trend-head">
<h2 data-trend-title>Trending Proof-of-Concepts</h2>
<div class="toggle" role="group" aria-label="Ranking">
<button type="button" data-mode="TRENDING" aria-pressed="true">TRENDING</button>
<button type="button" data-mode="RECENT" aria-pressed="false">RECENT</button>
</div>
<span class="trend-note" data-trend-note></span>
</div>
<div class="card trend-card">
<div class="col-head">
<span class="col-stars">STARS</span>
<span class="col-updated">UPDATED</span>
<span>NAME</span>
<span class="col-desc">DESCRIPTION</span>
</div>
<div data-trend-rows></div>
</div>
</section>
</main>
<footer class="site-footer">
<div class="container">
<span>sources: nvd · mitre · github</span>
<span data-refreshed></span>
</div>
</footer>
<script src="/logic.js"></script>
</body>
</html>