Files
cve/docs/index.html
T
0xMarcio aae0c789a3 Meet the query where it is written: slang, names, typos
Security slang and NVD prose rarely share a word. "sqli" found 843 CVEs
where "sql injection" found 12,719, "lpe" 80 against 1,311 for "privilege
escalation". A term now expands to its phrases and an entry matches on any
of them, with the best-scoring form counted.

A vulnerability searched by the name it is known by leads with the record
it belongs to, whatever the prose and the repository names say: ghostcat
put a different record first, moveit a newer one. Forty names are mapped.

A term with no word in the index at all is nearly always a typo. The
closest word one edit away stands in, weighed by how many records use it,
and the status line says which: citrx finds citrix, fortinte fortinet,
l0g4j log4j.

CVE pages carry BreadcrumbList markup for the home, year and block trail,
and the site publishes an OpenSearch descriptor so a browser can add it
as a search engine from the address bar.
2026-09-04 02:59:24 +02:00

139 lines
7.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Absolute URLs all point at the canonical host. Keep them in step with
SITE in scripts/brand.py, which drives every generated surface. -->
<title>PoC Index: Search CVE Proof-of-Concept Exploits</title>
<meta name="description" content="Search 82,000+ public CVE proof-of-concept exploits from GitHub, Nuclei, ExploitDB, Metasploit and Vulhub." />
<meta name="robots" content="index, follow, max-image-preview:large" />
<link rel="icon" href="/favicon.ico" />
<link rel="canonical" href="https://pocindex.io/" />
<link rel="search" type="application/opensearchdescription+xml" title="PoC Index" href="/opensearch.xml" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="PoC Index" />
<meta property="og:title" content="PoC Index: Search CVE Proof-of-Concept Exploits" />
<meta property="og:description" content="Public proof-of-concept exploits, indexed by CVE." />
<meta property="og:url" content="https://pocindex.io/" />
<meta property="og:image" content="https://pocindex.io/social-card.png" />
<meta property="og:image:width" content="1280" />
<meta property="og:image:height" content="640" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="PoC Index: Search CVE Proof-of-Concept Exploits" />
<meta name="twitter:description" content="Public proof-of-concept exploits, indexed by CVE." />
<meta name="twitter:image" content="https://pocindex.io/social-card.png" />
<!-- WebSite.name is how Google decides what to print as the site name in a
result. Without it the title, the og tags and the h1 were three different
names and it picked one on its own. SearchAction points at the ?q= route
logic.js now keeps in the URL. -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "PoC Index",
"url": "https://pocindex.io/",
"description": "Search 82,000+ public CVE proof-of-concept exploits from GitHub, Nuclei, ExploitDB, Metasploit and Vulhub.",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://pocindex.io/?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script>
<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&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="/style.css" />
</head>
<body>
<header class="container hero-bar">
<div class="hero">
<svg class="hero-radar" viewBox="0 0 400 400" aria-hidden="true">
<circle cx="200" cy="200" r="70" />
<circle cx="200" cy="200" r="124" />
<circle cx="200" cy="200" r="170" />
<circle cx="200" cy="200" r="200" />
<line class="hero-sweep" x1="200" y1="200" x2="200" y2="0" />
</svg>
<div class="hero-id">
<h1>PoC Index</h1>
<p>Public proof-of-concept exploits, indexed by CVE.</p>
</div>
<dl class="hero-stats">
<div><dt data-stat-total>&nbsp;</dt><dd>CVES INDEXED</dd></div>
<div><dt class="is-accent" data-stat-pocs>&nbsp;</dt><dd>WITH POCS</dd></div>
<div><dt class="is-danger" data-stat-kev>&nbsp;</dt><dd>KNOWN EXPLOITED</dd></div>
</dl>
</div>
</header>
<div class="container search-bar">
<form class="search" role="search" autocomplete="off">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" aria-hidden="true">
<circle cx="7.6" cy="7.6" r="5.1" stroke="#8b949e" stroke-width="1.7" />
<path d="M11.5 11.5 L15.6 15.6" stroke="#8b949e" stroke-width="1.7" stroke-linecap="round" />
</svg>
<input type="text" spellcheck="false" data-search
placeholder="Search CVE, vendor, product or keyword &middot; exclude with -windows"
aria-label="Search CVE, vendor, product or keyword" />
<span class="search-status" data-status aria-live="polite"></span>
</form>
<div class="filters" data-filters role="group" aria-label="CVE filters">
<div class="filter-group" role="group" aria-label="Severity">
<span class="filter-caption">SEVERITY</span>
<div class="filter-chips" data-filter-chips="severity"></div>
</div>
<span class="filter-sep" aria-hidden="true"></span>
<button type="button" class="filter-chip is-kev" data-filter-kev aria-pressed="false" disabled>KEV</button>
<span class="filter-sep" aria-hidden="true"></span>
<div class="filter-group" role="group" aria-label="Source">
<span class="filter-caption">SOURCE</span>
<div class="filter-chips" data-filter-chips="source"></div>
</div>
<button type="button" class="filter-clear" data-clear-filters hidden>CLEAR</button>
</div>
</div>
<main class="container content">
<section class="panel results" data-results hidden></section>
<section data-trending>
<div class="trend-controls">
<div class="switch" 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="panel trending">
<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>
<nav class="container years" aria-label="Browse by year">
<span>browse by year</span>
<a href="/2026">2026</a> <a href="/2025">2025</a> <a href="/2024">2024</a> <a href="/2023">2023</a> <a href="/2022">2022</a> <a href="/2021">2021</a> <a href="/2020">2020</a> <a href="/2019">2019</a> <a href="/2018">2018</a> <a href="/2017">2017</a> <a href="/2016">2016</a> <a href="/2015">2015</a> <a href="/2014">2014</a> <a href="/2013">2013</a> <a href="/2012">2012</a> <a href="/2011">2011</a> <a href="/2010">2010</a> <a href="/2009">2009</a> <a href="/2008">2008</a> <a href="/2007">2007</a> <a href="/2006">2006</a> <a href="/2005">2005</a> <a href="/2004">2004</a> <a href="/2003">2003</a> <a href="/2002">2002</a> <a href="/2001">2001</a> <a href="/2000">2000</a> <a href="/1999">1999</a>
</nav>
<footer class="site-footer">
<div class="container">
<span>sources: nvd &middot; cve program &middot; github &middot; github advisories &middot; cisa vulnrichment &middot; cisa kev &middot; first epss</span>
<span data-refreshed></span>
</div>
</footer>
<script src="/logic.js"></script>
</body>
</html>