4 services exposed
4 rows · 56msMATCH (npm:ua-parser-js@0.7.30)<-[:DEPENDS_ON*1..6]-(svc:Service)
| service | team | env | hops |
|---|---|---|---|
| checkout-svc | platform | prod | 1 |
| web-cdn-edge | checkout | stage | 2 |
| geo-redirector | growth | prod | 3 |
| billing-svc | billing | prod | 4 |
MATCH (npm:ua-parser-js@0.7.30)<-[:DEPENDS_ON*1..6]-(svc:Service)
| service | team | env | hops |
|---|---|---|---|
| checkout-svc | platform | prod | 1 |
| web-cdn-edge | checkout | stage | 2 |
| geo-redirector | growth | prod | 3 |
| billing-svc | billing | prod | 4 |
MATCH (advisory)-[:AFFECTS]->(version) — published timeline
| version | published | repo | live_during_compromise |
|---|---|---|---|
| 3.10.7 | 2026-07-12 | github.com/TanStack/virtual | false |
| 3.10.8 | 2026-08-14 | github.com/TanStack/virtual | true |
| 3.10.9 | 2026-08-15 | github.com/TanStack/virtual | false |
MATCH (Version)<-[:RESOLVES]-(Lockfile)<-[:USES_LOCKFILE]-(Service)
| lockfile | service | team | captured | window |
|---|---|---|---|---|
| apps/web/package-lock.json | checkout-svc | platform | 2026-08-11T00:00Z | 4h 12m |
| services/checkout/package-lock.json | web-cdn-edge | checkout | 2026-08-12T01:00Z | 4h 12m |
| packages/ui-tw/package-lock.json | geo-redirector | growth | 2026-08-13T02:00Z | 4h 12m |
MATCH (Maintainer)-[:MAINTAINS]->(sibling) — same-CI clusters collapse
| package | ecosystem | monthly_downloads | same_ci |
|---|---|---|---|
| ua-parser | npm | 240000 | true |
| node-ua-parser | pypi | 223000 | false |
| useragent | npm | 206000 | false |
MATCH (Package)<-[:TYPOSQUAT_OF { distance: 1..2 }]-(candidate)
| candidate | edit_distance | first_seen | installs |
|---|---|---|---|
| ua-parser | 1 | 2026-08-10T00:00Z | 1280 |
| ua-parserjs | 2 | 2026-08-11T01:00Z | 1170 |
| uaparser-js | 1 | 2026-08-12T02:00Z | 1060 |
| ua_parser | 2 | 2026-08-13T03:00Z | 950 |
| user-agent-parser | 1 | 2026-08-14T04:00Z | 840 |
AGG services ⊕ lockfiles ⊕ typosquats — 3 optional MATCH arms in one query
| services_count | lockfiles_count | typosquats_count |
|---|---|---|
| 4 | 3 | 5 |
ua-parser-js@0.7.30 published clean
+dependency.added chalk-extra 0.0.1
ua-parser-js@0.7.30 rebuilt with payload
typosquat install spike 240× chalk-extras
co-maintainer vit-dev-bot 12 ops/min
3 lockfiles × 4 services resolved the bad version
breach window 4h 12m push guard ⚑