Sometimes extension versions are “yanked” or withdrawn from Packagist/Composer because they were published with serious flaws — for example, critical bugs, accidental debug code, or known security vulnerabilities. These versions will not receive further support or updates, and in some cases are actively unsafe to run.
Stores that continue to use yanked or withdrawn versions risk exposure to exploits. Detecting and flagging these versions ensures that administrators upgrade to a maintained release before attackers take advantage of them.
# Check installed versions
composer show vendor/extension
# Verify status on Packagist
composer show vendor/extension -a | grep versions
# Yanked versions appear with a "yanked" flag
# Run osv-scanner against lockfile
osv-scanner --lockfile=./composer.lock
# Yanked releases may also appear in vendor advisories
yanked or withdrawn.composer require vendor/extension:^x.y.z
composer.lock no longer references withdrawn versions after update.$ composer show vendor/module -a
versions : * 2.1.3 (yanked), 2.1.2, 2.1.1
# Store is running 2.1.3 which has been yanked → FAIL
$ composer show vendor/module -a
versions : * 2.1.4, 2.1.2, 2.1.1
# Store upgraded to non-yanked version 2.1.4 → PASS