Slopsquatting candidates — names attackers will target next
Package names multiple LLMs repeatedly hallucinate are exact targeting information for attackers — "register this and someone will install it". We see those names before attackers do.
How we detect
We regularly run a matrix of hundreds of programming prompts through major LLMs (Claude, GPT, Gemini, Llama) and harvest the package names they recommend. Cross-model agreement raises the target score. The registry status is checked live against npm/PyPI/crates.io for (1) non-existence, (2) recent registration with suspicious patterns, and (3) empty wrappers around famous names.
Bulk package check
Paste package names suggested by an LLM, one per line. Flagged candidates appear below.
| id | purl | risk | summary |
|---|---|---|---|
| VDB-SLOP-pypi-99be19c974 | pkg:pypi/dylibyaml | high | Slopsquatting candidate: dylibyaml (PyPI) |
| VDB-SLOP-pypi-79b0b0f9b0 | pkg:pypi/synchronous | high | Slopsquatting candidate: synchronous (PyPI) |
| VDB-SLOP-pypi-530c9985c3 | pkg:pypi/combined | high | Slopsquatting candidate: combined (PyPI) |
| VDB-SLOP-pypi-8eb01d8ffc | pkg:pypi/primarily | high | Slopsquatting candidate: primarily (PyPI) |
| VDB-SLOP-pypi-664ded92d6 | pkg:pypi/bom-bom | high | Slopsquatting candidate: bom-bom (PyPI) |
| VDB-SLOP-pypi-50aa7c10e6 | pkg:pypi/huggingface-inference-sdk | high | Slopsquatting candidate: huggingface-inference-sdk (PyPI) |
| VDB-SLOP-pypi-2862fb226c | pkg:pypi/purl-resolver | high | Slopsquatting candidate: purl-resolver (PyPI) |
| VDB-SLOP-pypi-99b9fa6f45 | pkg:pypi/pytextlib | high | Slopsquatting candidate: pytextlib (PyPI) |
| VDB-SLOP-pypi-57001172eb | pkg:pypi/cyclonedx-wizard | high | Slopsquatting candidate: cyclonedx-wizard (PyPI) |
| VDB-SLOP-pypi-bbbffa228a | pkg:pypi/cyclonedx-json-python | high | Slopsquatting candidate: cyclonedx-json-python (PyPI) |
| VDB-SLOP-pypi-595f6528f7 | pkg:pypi/cdxgen | high | Slopsquatting candidate: cdxgen (PyPI) |
| VDB-SLOP-pypi-3cfb460d5b | pkg:pypi/ikhal | high | Slopsquatting candidate: ikhal (PyPI) |
| VDB-SLOP-pypi-0816389637 | pkg:pypi/pyicsv | high | Slopsquatting candidate: pyicsv (PyPI) |
| VDB-SLOP-pypi-7a2bd5da1d | pkg:pypi/prompttoolkit | high | Slopsquatting candidate: prompttoolkit (PyPI) |
| VDB-SLOP-pypi-fb292f7f89 | pkg:pypi/canonicalise | high | Slopsquatting candidate: canonicalise (PyPI) |
| VDB-SLOP-pypi-e49373b854 | pkg:pypi/safe-loader | high | Slopsquatting candidate: safe-loader (PyPI) |
| VDB-SLOP-pypi-2126b02fd1 | pkg:pypi/ical-parser | high | Slopsquatting candidate: ical-parser (PyPI) |
| VDB-SLOP-pypi-a821a483a6 | pkg:pypi/waste_yaml | high | Slopsquatting candidate: waste_yaml (PyPI) |
| VDB-SLOP-pypi-fba3ae268d | pkg:pypi/pertol | high | Slopsquatting candidate: pertol (PyPI) |
| VDB-SLOP-pypi-fc1b27e6d4 | pkg:pypi/lyaml | high | Slopsquatting candidate: lyaml (PyPI) |
| VDB-SLOP-pypi-3e1976d449 | pkg:pypi/re-purl | high | Slopsquatting candidate: re-purl (PyPI) |
| VDB-SLOP-pypi-fa3d6d14af | pkg:pypi/cyclonedx-python-output | high | Slopsquatting candidate: cyclonedx-python-output (PyPI) |
| VDB-SLOP-pypi-e30b499111 | pkg:pypi/cyclonedx-python-sbom | high | Slopsquatting candidate: cyclonedx-python-sbom (PyPI) |
| VDB-SLOP-pypi-56d078d3e0 | pkg:pypi/collections | high | Slopsquatting candidate: collections (PyPI) |
| VDB-SLOP-pypi-8cf497e450 | pkg:pypi/cyclonedxxml | high | Slopsquatting candidate: cyclonedxxml (PyPI) |
| VDB-SLOP-pypi-9ab829dce9 | pkg:pypi/guardianai | high | Slopsquatting candidate: guardianai (PyPI) |
| VDB-SLOP-pypi-3a619d0c82 | pkg:pypi/safer-eval | high | Slopsquatting candidate: safer-eval (PyPI) |
| VDB-SLOP-pypi-8c0027d140 | pkg:pypi/xml.etree | high | Slopsquatting candidate: xml.etree (PyPI) |
| VDB-SLOP-pypi-115aa183a5 | pkg:pypi/swiftcsv | high | Slopsquatting candidate: swiftcsv (PyPI) |
| VDB-SLOP-pypi-523219e475 | pkg:pypi/prompt-engineer | high | Slopsquatting candidate: prompt-engineer (PyPI) |
| VDB-SLOP-pypi-28d597040a | pkg:pypi/opentelemetry-aws-lambda | high | Slopsquatting candidate: opentelemetry-aws-lambda (PyPI) |
| VDB-SLOP-pypi-6d58a0bf75 | pkg:pypi/pkgurl | high | Slopsquatting candidate: pkgurl (PyPI) |
| VDB-SLOP-pypi-688161b798 | pkg:pypi/neatparser | high | Slopsquatting candidate: neatparser (PyPI) |
| VDB-SLOP-pypi-9bfb6a325f | pkg:pypi/purldecoder | high | Slopsquatting candidate: purldecoder (PyPI) |
| VDB-SLOP-pypi-70fe3e1318 | pkg:pypi/aiohttp-client | high | Slopsquatting candidate: aiohttp-client (PyPI) |
| VDB-SLOP-pypi-e5085222e1 | pkg:pypi/rasax-sdk | high | Slopsquatting candidate: rasax-sdk (PyPI) |
| VDB-SLOP-pypi-809a3b1046 | pkg:pypi/requests-requests-async | high | Slopsquatting candidate: requests-requests-async (PyPI) |
| VDB-SLOP-pypi-3959203694 | pkg:pypi/purlpy | high | Slopsquatting candidate: purlpy (PyPI) |
| VDB-SLOP-pypi-931bd61bab | pkg:pypi/python-httpx-caching | high | Slopsquatting candidate: python-httpx-caching (PyPI) |
| VDB-SLOP-pypi-8d435e84be | pkg:pypi/strict_yaml | high | Slopsquatting candidate: strict_yaml (PyPI) |
| VDB-SLOP-pypi-3a8d4a6394 | pkg:pypi/cyclonedx-pyproject | high | Slopsquatting candidate: cyclonedx-pyproject (PyPI) |
| VDB-SLOP-pypi-3faaef6fed | pkg:pypi/aws-otel-collector | high | Slopsquatting candidate: aws-otel-collector (PyPI) |
| VDB-SLOP-pypi-c00744069a | pkg:pypi/log | high | Slopsquatting candidate: log (PyPI) |
| VDB-SLOP-pypi-f9785f46fd | pkg:pypi/considering | high | Slopsquatting candidate: considering (PyPI) |
| VDB-SLOP-pypi-e5e7d3a8e7 | pkg:pypi/csv-fast | high | Slopsquatting candidate: csv-fast (PyPI) |
| VDB-SLOP-pypi-e11ad31f7e | pkg:pypi/purl-legacy | high | Slopsquatting candidate: purl-legacy (PyPI) |
| VDB-SLOP-pypi-f0aa3059e3 | pkg:pypi/ml-shield | high | Slopsquatting candidate: ml-shield (PyPI) |
| VDB-SLOP-pypi-071d61762a | pkg:pypi/rapidcsv | high | Slopsquatting candidate: rapidcsv (PyPI) |
| VDB-SLOP-pypi-e4ebc97085 | pkg:pypi/python-cyclonedx | high | Slopsquatting candidate: python-cyclonedx (PyPI) |
| VDB-SLOP-pypi-acca7a3910 | pkg:pypi/robjects | high | Slopsquatting candidate: robjects (PyPI) |
| VDB-SLOP-pypi-cc9a50aea5 | pkg:pypi/cyclonedx-schema-validator | high | Slopsquatting candidate: cyclonedx-schema-validator (PyPI) |
| VDB-SLOP-pypi-4c4b49d6a2 | pkg:pypi/bom-parser | high | Slopsquatting candidate: bom-parser (PyPI) |
| VDB-SLOP-pypi-6e4a2f58fa | pkg:pypi/dyaml | high | Slopsquatting candidate: dyaml (PyPI) |
| VDB-SLOP-pypi-58378fed58 | pkg:pypi/ical4j | high | Slopsquatting candidate: ical4j (PyPI) |
| VDB-SLOP-pypi-d35539bf7d | pkg:pypi/python-cyclonedx-validator | high | Slopsquatting candidate: python-cyclonedx-validator (PyPI) |
| VDB-SLOP-pypi-a963e6e92f | pkg:pypi/cyclonedx-pygen | high | Slopsquatting candidate: cyclonedx-pygen (PyPI) |
| VDB-SLOP-pypi-ed2ddae05d | pkg:pypi/purlparse | high | Slopsquatting candidate: purlparse (PyPI) |
| VDB-SLOP-pypi-8fd13a2d8e | pkg:pypi/canonicalpy | high | Slopsquatting candidate: canonicalpy (PyPI) |
| VDB-SLOP-pypi-40d006d0aa | pkg:pypi/icalpy | high | Slopsquatting candidate: icalpy (PyPI) |
| VDB-SLOP-pypi-7b7446dfb1 | pkg:pypi/cyclonedx-python-validator | high | Slopsquatting candidate: cyclonedx-python-validator (PyPI) |
| VDB-SLOP-pypi-e2679db409 | pkg:pypi/bom-utils | high | Slopsquatting candidate: bom-utils (PyPI) |
| VDB-SLOP-pypi-7a03376d31 | pkg:pypi/inference_api | high | Slopsquatting candidate: inference_api (PyPI) |
| VDB-SLOP-pypi-75b1078d40 | pkg:pypi/canonicalize_url | high | Slopsquatting candidate: canonicalize_url (PyPI) |
| VDB-SLOP-pypi-87717572ff | pkg:pypi/purl-identifier | high | Slopsquatting candidate: purl-identifier (PyPI) |
| VDB-SLOP-pypi-79a8baf44d | pkg:pypi/purllib | high | Slopsquatting candidate: purllib (PyPI) |
| VDB-SLOP-pypi-82f4300685 | pkg:pypi/rueml-parser | high | Slopsquatting candidate: rueml-parser (PyPI) |
| VDB-SLOP-pypi-ae9de29953 | pkg:pypi/icalparse | high | Slopsquatting candidate: icalparse (PyPI) |
| VDB-SLOP-pypi-67536728c6 | pkg:pypi/ics.py | high | Slopsquatting candidate: ics.py (PyPI) |
| VDB-SLOP-pypi-b609b2d7c2 | pkg:pypi/cyclonedx-jsonschema | high | Slopsquatting candidate: cyclonedx-jsonschema (PyPI) |
| VDB-SLOP-pypi-8f4b10406d | pkg:pypi/opentelemetry-instrumentation-boto3 | high | Slopsquatting candidate: opentelemetry-instrumentation-boto3 (PyPI) |
| VDB-SLOP-pypi-a459483466 | pkg:pypi/opentelemetry-exporter-logging | high | Slopsquatting candidate: opentelemetry-exporter-logging (PyPI) |
| VDB-SLOP-pypi-bf5e1b360b | pkg:pypi/pyyaml-safe | high | Slopsquatting candidate: pyyaml-safe (PyPI) |
| VDB-SLOP-pypi-7e288cff73 | pkg:pypi/vdb-commons | high | Slopsquatting candidate: vdb-commons (PyPI) |
| VDB-SLOP-pypi-38483fa3c2 | pkg:pypi/soup | high | Slopsquatting candidate: soup (PyPI) |
| VDB-SLOP-pypi-5610a31ca9 | pkg:pypi/cyclonedx-sbom-parser | high | Slopsquatting candidate: cyclonedx-sbom-parser (PyPI) |
| VDB-SLOP-pypi-c3509573d2 | pkg:pypi/purl-lib | high | Slopsquatting candidate: purl-lib (PyPI) |
| VDB-SLOP-pypi-51a553fa1e | pkg:pypi/purl2 | high | Slopsquatting candidate: purl2 (PyPI) |
| VDB-SLOP-pypi-265173aa21 | pkg:pypi/cyclonedx-python3 | high | Slopsquatting candidate: cyclonedx-python3 (PyPI) |
| VDB-SLOP-pypi-41ef6e5c92 | pkg:pypi/cycledx-sbom-parser | high | Slopsquatting candidate: cycledx-sbom-parser (PyPI) |
| VDB-SLOP-pypi-4f3b1e243a | pkg:pypi/rfc3 | high | Slopsquatting candidate: rfc3 (PyPI) |
| VDB-SLOP-pypi-836cb01c55 | pkg:pypi/lakechain | high | Slopsquatting candidate: lakechain (PyPI) |
| VDB-SLOP-pypi-39bf74661a | pkg:pypi/py-urlparse | high | Slopsquatting candidate: py-urlparse (PyPI) |
| VDB-SLOP-pypi-5bde4fd5ff | pkg:pypi/ical.js | high | Slopsquatting candidate: ical.js (PyPI) |
| VDB-SLOP-pypi-af61bb8537 | pkg:pypi/gpt-2 | high | Slopsquatting candidate: gpt-2 (PyPI) |
| VDB-SLOP-pypi-7075a7beb2 | pkg:pypi/inference-api-client | high | Slopsquatting candidate: inference-api-client (PyPI) |
| VDB-SLOP-pypi-2f7fa72f39 | pkg:pypi/umal | high | Slopsquatting candidate: umal (PyPI) |
| VDB-SLOP-pypi-97fd0b6369 | pkg:pypi/pyicalendar | high | Slopsquatting candidate: pyicalendar (PyPI) |
| VDB-SLOP-pypi-faa1dbe8ed | pkg:pypi/icalendar-parser | high | Slopsquatting candidate: icalendar-parser (PyPI) |
| VDB-SLOP-pypi-d5f22eadd0 | pkg:pypi/cyclonedx-sbom-parse | high | Slopsquatting candidate: cyclonedx-sbom-parse (PyPI) |
| VDB-SLOP-pypi-2e237fcf0c | pkg:pypi/cyclonedx2spdx | high | Slopsquatting candidate: cyclonedx2spdx (PyPI) |
| VDB-SLOP-pypi-3b1eae2617 | pkg:pypi/ical4py | high | Slopsquatting candidate: ical4py (PyPI) |
| VDB-SLOP-pypi-998912b914 | pkg:pypi/cyclonedx2json | high | Slopsquatting candidate: cyclonedx2json (PyPI) |
| VDB-SLOP-pypi-74b49b534b | pkg:pypi/cyclonedx-lib | high | Slopsquatting candidate: cyclonedx-lib (PyPI) |
| VDB-SLOP-pypi-3c74337e7f | pkg:pypi/opentelemetry-exporter-aws-xray | high | Slopsquatting candidate: opentelemetry-exporter-aws-xray (PyPI) |
| VDB-SLOP-pypi-ba599e83d1 | pkg:pypi/opentelemetry-sdk-extension | high | Slopsquatting candidate: opentelemetry-sdk-extension (PyPI) |
| VDB-SLOP-pypi-72c85a831a | pkg:pypi/canonicalurl | high | Slopsquatting candidate: canonicalurl (PyPI) |
| VDB-SLOP-pypi-97c6afb025 | pkg:pypi/purl-generator | high | Slopsquatting candidate: purl-generator (PyPI) |
| VDB-SLOP-pypi-0ffb0a2335 | pkg:pypi/icalbulk | high | Slopsquatting candidate: icalbulk (PyPI) |
| VDB-SLOP-pypi-e85484902a | pkg:pypi/http.client_async | high | Slopsquatting candidate: http.client_async (PyPI) |
| VDB-SLOP-pypi-4c027087a9 | pkg:pypi/cyclonedx-jsonschema-validator | high | Slopsquatting candidate: cyclonedx-jsonschema-validator (PyPI) |