Skip to main content
Glama
yorkeccak

Global Hack Map

by yorkeccak

Global Hack Map

Every hack, exploit and breach, live. Every publicly reported breach, ransomware claim, exploited vulnerability, malicious package and connectivity drop on one globe, each with its sources and an honest status. Check whether you are affected, then fix it in one click.

  • Map: incidents placed at the city named in reporting, the organisation's headquarters, or the country, never more precisely than the sources allow.

  • New CVEs: a live ticker and an index at /cve of critical CVEs published in the last 72 hours and flaws CISA confirmed exploited this week, minutes after they appear.

  • Patch now: the software attackers are using today, one card per product, saying in plain English what can happen, who is affected and what fixes it.

  • Am I affected?: pick the apps, products and companies you use and see what attackers are exploiting in them and which have been breached, then get a DeepResearch brief on all of it. Nothing to upload; developers check a repository with their own coding agent.

  • One-click fixes: open Claude Code (terminal or web), Codex or Cursor with a runbook for the CVE, or have a coding agent check your systems after a vendor breach. Ask Claude or ChatGPT with the sources attached. Every link only pre-fills the prompt.

  • For agents: a read-only MCP server, llms.txt and plain-text fix runbooks at /fix/<CVE>.

Status, honestly

Status

Means

Confirmed

Acknowledged by the organisation, a regulator or a filing

Reported

Covered by the press, not yet confirmed by the organisation

Claimed

Asserted by attackers on a leak site, unverified

Precautionary

Systems taken offline as a precaution, no compromise stated

Disputed

Reported, and denied by the organisation

An absent result is never proof that you are safe.

Related MCP server: Cybersecurity Threat Intelligence MCP

Run it locally

Requires Node 20+ and pnpm.

pnpm install
cp .env.example .env.local   # then fill in the values you have
pnpm dev

Open http://localhost:3000. Without a Valyu API key the map still runs on the public feeds; the news layer, AI answers, research reports and plain-English explainers need one.

For the production build locally: pnpm build && pnpm start. The first build runs the live data pipeline once (about a minute); every page is then served from the prerendered cache.

Environment

See .env.example. In short:

Variable

Needed for

NEXT_PUBLIC_MAPBOX_TOKEN

The globe (a public, URL-restricted Mapbox token)

VALYU_API_KEY

News extraction, the daily brief, generated answers, research reports and explainers

CRON_SECRET

Authenticating the scheduled sweep and brief routes

GITHUB_TOKEN

Higher rate limits for the GitHub Advisory Database

NVD_API_KEY

Recommended: without it NVD allows 5 requests per 30s and the new-CVE feed falls back to CVE.org and CIRCL

CIRCL_API_KEY

Optional: CIRCL advertises 40 requests/minute with a key versus 20/minute anonymously

UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN

Required in production: shared request limits and shared-key operation budgets

NEXT_PUBLIC_SITE_URL

Absolute links in share cards and runbooks

NEXT_PUBLIC_APP_MODE

Optional build-time switch: valyu enables account mode; unset defaults to self-hosted mode

NEXT_PUBLIC_VALYU_CLIENT_ID, NEXT_PUBLIC_REDIRECT_URI, VALYU_CLIENT_SECRET

OAuth client settings for optional account mode; not needed for default self-hosting

NEXT_PUBLIC_VALYU_AUTH_URL, VALYU_APP_URL

Optional auth and account-platform URL overrides; default to Valyu's hosted services

SESSION_SECRET

Signs the anonymous brief quota cookie in account mode; falls back to CRON_SECRET. Production anonymous briefs in that mode require one of these secrets

Account mode uses signed-in visitors' Valyu credits for their answers and research; shared news and anonymous answers still use the deployment key. The additional account settings above are read by the source but are not included in .env.example.

Deploy

For Vercel, set the environment variables in project settings. vercel.json schedules the news sweep at minute 5 every six hours and the daily brief at 05:30 UTC. Set CRON_SECRET to authenticate those routes. Other hosts need an equivalent scheduler if those jobs are wanted.

next.config.ts enables Cache Components and Partial Prefetching, with per-function cache lifetimes. Paid and rate-limited functions use use cache: remote. No custom remote cache handler is configured here: when self-hosting outside a platform that supplies remote caching, configure a compatible remote cache handler before relying on shared caching across instances.

Production request limits use the official @upstash/redis and @upstash/ratelimit libraries. Configure the two Redis variables before deploying: protected APIs and dynamic lookups return 503 if protection cannot be checked. Development has a bounded, process-local fallback. Add Vercel Firewall rules to reject abuse before functions run.

The Vercel integration's KV_REST_API_URL and KV_REST_API_TOKEN names are supported automatically, so no duplicate UPSTASH_* variables are needed when Vercel supplies that pair. If either explicit UPSTASH_* variable is set, complete that pair; credentials from the two naming schemes are never mixed. The read-only token and TCP REDIS_URL/KV_URL are not used by this HTTP-based limiter.

The snapshot normally revalidates after 10 minutes and public feeds after 15 minutes. These are cache policies, not publication-to-screen guarantees. Upstream delays, timeouts, cached results and fallback data can make the view older or incomplete; check timestamps and original sources.

Development checks

pnpm exec tsc --noEmit
pnpm exec eslint src
pnpm exec vitest run

Browser regressions against pnpm dev: node scripts/test-navigation-interactions.mjs, node scripts/test-responsive-interactions.mjs, node scripts/test-sidebar-interactions.mjs and node scripts/test-mcp.mjs. To verify concurrent counters against an isolated local Redis process, install redis-server/redis-cli and run GHM_REDIS_INTEGRATION=1 pnpm exec vitest run src/lib/http/rate-limit.integration.test.ts.

How it works

  • src/lib/sources/* fetch and normalise each feed; src/lib/pipeline.ts geolocates, deduplicates and scores incidents; src/lib/snapshot.ts assembles the cached picture the UI and the MCP server read.

  • Next.js 16 with Cache Components and Partial Prerendering: pages are static shells served from the CDN, data is cached per function with use cache (paid and rate-limited calls with use cache: remote, shared across instances), and any URL that was not prerendered gets its shell instantly while its content streams in. See the caching rules in AGENTS.md.

  • src/components/map/* draws the globe with native Mapbox GL layers, the data tags and the ASCII Atlas.

  • src/lib/stack/* parses manifests and checks them against OSV.

  • src/app/api/mcp serves the MCP tools; src/app/fix/[id] renders the agent runbooks.

  • Design rules live in DESIGN.md.

Data sources

Source

Used for

Terms

CISA Known Exploited Vulnerabilities

Confirmed exploitation, ransomware use

Public domain

CVE.org

CVE records, affected products, CNA and CISA scores

CVE Terms of Use

CIRCL Vulnerability-Lookup

Newest CVE records, minutes after publication

Public service by CIRCL; CVE records under the CVE Terms of Use

NVD

Recent critical CVEs, CVSS

Public domain. This product uses the NVD API but is not endorsed or certified by the NVD.

FIRST EPSS

Exploitation probability

Free to use with attribution

GitHub Advisory Database

Critical advisories, malicious packages

CC BY 4.0

OSV

Package vulnerability checks

CC BY 4.0 (per-source terms apply)

RansomLook

Leak-site claims

CC BY 4.0

SEC EDGAR

8-K cyber disclosures

Public

IODA

Country connectivity drops

Georgia Tech IODA

Wikidata

Headquarters locations

CC0

GeoNames, Natural Earth

Place names and boundaries

CC BY 4.0, public domain

NASA Blue Marble and Black Marble via GIBS

Globe relief and night lights

Public

Valyu

News search and extraction, answers, DeepResearch

Valyu terms

Spotted a mistake? Open an issue with a source and it will be corrected.

Licence

Code: MIT, see LICENSE. Fonts in src/assets/fonts are under the SIL Open Font License.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    Provides real-time threat intelligence including IP risk scores, CVE lookups, and malware hash analysis without requiring an API key. It enables users to monitor active threats, predict CISA KEV additions, and detect pre-attack infrastructure staging through natural language.
    8
    70 PyPI
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time supply chain compromise intelligence from X, enabling coding agents to check packages and view recent incidents before adding dependencies.
    -