libasync has 1 version on PyPI flagged in 2 incidents we track. Only the exact versions listed below were named by the source advisories. libasync was recorded in a daily advisory sweep. The write-up groups it into a cluster with the evidence available at the time; check the cluster note before treating it as a confirmed compromise.
20 new GHSA CWE-506 advisories in the 24h ending 2026-08-23. Highlights: @syncraft-labs/{core,react,vue} uses Ethereum-blockchain dead-drop C2 (EtherHiding); five N-*-sight-web packages fetch mutable Bitbucket payloads; four pino-impersonators pull from jsonstorage.net; totp-utils drops a Minecraft mod JAR + steals Discord tokens.
31 GHSA CWE-506 advisories in the 24h ending 2026-08-20 06:00 UTC. Headliners: PyPI libasync cryptominer with Windows-registry persistence (campaign 2026-08-libasync, continuation of 2026-07-pyqt6darktheme), npm express-route-engine eval-loader that fetches JSON payloads from jsonbin.io, and base99-85xbase-x typosquat that streams caller-supplied private-key/seed material in cleartext to 168.231.81.80.
Treat the machine as compromisedUpgrading is not enough. Packages in these incidents typically execute at install time, so the payload has already run with whatever credentials were in the environment.
Rotate every credential that machine or CI job could reach, such as registry tokens, cloud keys, SSH keys and CI secrets, from a different machine.
Pin to a version not listed above, then reinstall from a clean lockfile.
Clear caches and private mirrors. Artifactory, Nexus, Verdaccio and devpi routinely keep serving a tarball after the public registry has pulled it.
Read the incident write-up. Recommended actions differ per incident, and some have specific indicators of compromise worth searching your logs for.
Same campaign
Other packages in the same incident
If libasync is in your tree, these are worth checking too. They were published by the same campaign.
Version data comes from the public advisories cited on each incident page. We list only versions those advisories name and do not infer additional ones. Think this is wrong or incomplete? Tell us.
Check your whole project
Check every dependency, not just this one.
It is usually pulled in as a transitive dependency rather than one you installed directly. Paste your requirements.txt to check every dependency at once. It runs in your browser and nothing is uploaded.