$ date
--- stdout ---
Thu Apr 25 00:30:04 UTC 2024
--- end ---
$ git clone file:///srv/git/mediawiki-core.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
Updating files: 92% (8792/9504)
Updating files: 93% (8839/9504)
Updating files: 94% (8934/9504)
Updating files: 95% (9029/9504)
Updating files: 96% (9124/9504)
Updating files: 97% (9219/9504)
Updating files: 98% (9314/9504)
Updating files: 99% (9409/9504)
Updating files: 100% (9504/9504)
Updating files: 100% (9504/9504), done.
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
64cf979570a490e7e243155eec2c4d87b94f0cb2 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"api-testing": {
"name": "api-testing",
"severity": "critical",
"isDirect": true,
"via": [
"supertest"
],
"effects": [],
"range": ">=1.0.2",
"nodes": [
"node_modules/api-testing"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"formidable": {
"name": "formidable",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1097147,
"name": "formidable",
"dependency": "formidable",
"title": "Formidable arbitrary file upload",
"url": "https://github.com/advisories/GHSA-8cp3-66vr-3r4c",
"severity": "critical",
"cwe": [
"CWE-434"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<3.2.4"
}
],
"effects": [
"superagent"
],
"range": "<3.2.4",
"nodes": [
"node_modules/formidable"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"mwbot": {
"name": "mwbot",
"severity": "moderate",
"isDirect": false,
"via": [
"request"
],
"effects": [],
"range": ">=0.1.6",
"nodes": [
"node_modules/mwbot"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request": {
"name": "request",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1096727,
"name": "request",
"dependency": "request",
"title": "Server-Side Request Forgery in Request",
"url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
"severity": "moderate",
"cwe": [
"CWE-918"
],
"cvss": {
"score": 6.1,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
"range": "<=2.88.2"
},
"tough-cookie"
],
"effects": [
"mwbot"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"superagent": {
"name": "superagent",
"severity": "critical",
"isDirect": false,
"via": [
"formidable"
],
"effects": [
"supertest"
],
"range": "0.4.0 - 8.1.2",
"nodes": [
"node_modules/superagent"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"supertest": {
"name": "supertest",
"severity": "critical",
"isDirect": false,
"via": [
"superagent"
],
"effects": [
"api-testing"
],
"range": "<=6.3.4",
"nodes": [
"node_modules/supertest"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"tough-cookie": {
"name": "tough-cookie",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1096643,
"name": "tough-cookie",
"dependency": "tough-cookie",
"title": "tough-cookie Prototype Pollution vulnerability",
"url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
},
"range": "<4.1.3"
}
],
"effects": [
"request"
],
"range": "<4.1.3",
"nodes": [
"node_modules/tough-cookie"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 3,
"high": 0,
"critical": 4,
"total": 7
},
"dependencies": {
"prod": 1,
"dev": 967,
"optional": 2,
"peer": 2,
"peerOptional": 0,
"total": 967
}
}
}
--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
> MediaWiki\Composer\VersionChecker::onEvent
Loading composer repositories with package information
Updating dependencies
Lock file operations: 135 installs, 0 updates, 0 removals
- Locking composer/pcre (3.1.3)
- Locking composer/semver (3.4.0)
- Locking composer/spdx-licenses (1.5.8)
- Locking composer/xdebug-handler (3.0.4)
- Locking cssjanus/cssjanus (v2.1.1)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
- Locking doctrine/cache (2.2.0)
- Locking doctrine/dbal (3.7.2)
- Locking doctrine/deprecations (1.1.3)
- Locking doctrine/event-manager (2.0.0)
- Locking doctrine/instantiator (2.0.0)
- Locking doctrine/sql-formatter (1.1.3)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking giorgiosironi/eris (0.14.0)
- Locking guzzlehttp/guzzle (7.7.1)
- Locking guzzlehttp/promises (2.0.2)
- Locking guzzlehttp/psr7 (2.6.2)
- Locking hamcrest/hamcrest-php (v2.0.1)
- Locking johnkary/phpunit-speedtrap (v4.0.1)
- Locking justinrainbow/json-schema (v5.2.13)
- Locking liuggio/statsd-php-client (v1.0.18)
- Locking mck89/peast (v1.16.2)
- Locking mediawiki/mediawiki-codesniffer (v43.0.0)
- Locking mediawiki/mediawiki-phan-config (0.14.0)
- Locking mediawiki/phan-taint-check-plugin (6.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking monolog/monolog (2.9.2)
- Locking myclabs/deep-copy (1.11.1)
- Locking netresearch/jsonmapper (v4.4.1)
- Locking nikic/php-parser (v4.19.1)
- Locking oojs/oojs-ui (v0.49.1)
- Locking pear/console_getopt (v1.4.3)
- Locking pear/mail (v1.6.0)
- Locking pear/mail_mime (1.10.12)
- Locking pear/net_smtp (1.11.1)
- Locking pear/net_socket (v1.2.2)
- Locking pear/net_url2 (v2.2.2)
- Locking pear/pear-core-minimal (v1.10.15)
- Locking pear/pear_exception (v1.0.2)
- Locking phan/phan (5.4.3)
- Locking phar-io/manifest (2.0.4)
- Locking phar-io/version (3.2.1)
- Locking php-parallel-lint/php-console-color (v1.0.1)
- Locking php-parallel-lint/php-console-highlighter (v1.0.0)
- Locking php-parallel-lint/php-parallel-lint (v1.4.0)
- Locking phpcsstandards/phpcsextra (1.1.2)
- Locking phpcsstandards/phpcsutils (1.0.9)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.4.0)
- Locking phpdocumentor/type-resolver (1.8.2)
- Locking phpstan/phpdoc-parser (1.28.0)
- Locking phpunit/php-code-coverage (9.2.31)
- Locking phpunit/php-file-iterator (3.0.6)
- Locking phpunit/php-invoker (3.1.1)
- Locking phpunit/php-text-template (2.0.4)
- Locking phpunit/php-timer (5.0.3)
- Locking phpunit/phpunit (9.6.16)
- Locking psr/cache (3.0.0)
- Locking psr/container (1.1.2)
- Locking psr/http-client (1.0.3)
- Locking psr/http-factory (1.0.2)
- Locking psr/http-message (1.1)
- Locking psr/log (1.1.4)
- Locking psy/psysh (v0.12.3)
- Locking ralouphie/getallheaders (3.0.3)
- Locking sabre/event (5.1.4)
- Locking sebastian/cli-parser (1.0.2)
- Locking sebastian/code-unit (1.0.8)
- Locking sebastian/code-unit-reverse-lookup (2.0.3)
- Locking sebastian/comparator (4.0.8)
- Locking sebastian/complexity (2.0.3)
- Locking sebastian/diff (4.0.6)
- Locking sebastian/environment (5.1.5)
- Locking sebastian/exporter (4.0.6)
- Locking sebastian/global-state (5.0.7)
- Locking sebastian/lines-of-code (1.0.4)
- Locking sebastian/object-enumerator (4.0.4)
- Locking sebastian/object-reflector (2.0.4)
- Locking sebastian/recursion-context (4.0.5)
- Locking sebastian/resource-operations (3.0.4)
- Locking sebastian/type (3.2.1)
- Locking sebastian/version (3.0.2)
- Locking seld/jsonlint (1.10.1)
- Locking squizlabs/php_codesniffer (3.8.1)
- Locking symfony/console (v7.0.6)
- Locking symfony/deprecation-contracts (v3.4.0)
- Locking symfony/polyfill-php80 (v1.29.0)
- Locking symfony/polyfill-php81 (v1.29.0)
- Locking symfony/polyfill-php82 (v1.29.0)
- Locking symfony/polyfill-php83 (v1.29.0)
- Locking symfony/service-contracts (v3.4.2)
- Locking symfony/string (v7.0.4)
- Locking symfony/var-dumper (v7.0.6)
- Locking symfony/yaml (v5.4.35)
- Locking theseer/tokenizer (1.2.3)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (1.11.0)
- Locking wikimedia/alea (1.0.0)
- Locking wikimedia/assert (v0.5.1)
- Locking wikimedia/at-ease (v2.1.0)
- Locking wikimedia/base-convert (v2.0.2)
- Locking wikimedia/bcp-47-code (v2.0.0)
- Locking wikimedia/cdb (3.0.0)
- Locking wikimedia/cldr-plural-rule-parser (v2.0.0)
- Locking wikimedia/common-passwords (v0.5.0)
- Locking wikimedia/composer-merge-plugin (v2.1.0)
- Locking wikimedia/html-formatter (4.1.0)
- Locking wikimedia/idle-dom (v1.0.0)
- Locking wikimedia/ip-utils (5.0.0)
- Locking wikimedia/json-codec (v2.2.1)
- Locking wikimedia/langconv (0.4.2)
- Locking wikimedia/less.php (v4.2.1)
- Locking wikimedia/minify (2.7.0)
- Locking wikimedia/normalized-exception (v1.0.1)
- Locking wikimedia/object-factory (v5.0.1)
- Locking wikimedia/parsoid (v0.20.0-a2)
- Locking wikimedia/php-session-serializer (v2.0.1)
- Locking wikimedia/purtle (v1.0.8)
- Locking wikimedia/relpath (4.0.0)
- Locking wikimedia/remex-html (4.1.0)
- Locking wikimedia/request-timeout (1.2.0)
- Locking wikimedia/running-stat (v2.1.0)
- Locking wikimedia/scoped-callback (v4.0.0)
- Locking wikimedia/services (3.0.0)
- Locking wikimedia/shellbox (4.0.2)
- Locking wikimedia/testing-access-wrapper (3.0.0)
- Locking wikimedia/timestamp (v4.1.1)
- Locking wikimedia/utfnormal (4.0.0)
- Locking wikimedia/wait-condition-loop (v2.0.2)
- Locking wikimedia/wikipeg (4.0.0)
- Locking wikimedia/wrappedstring (v4.0.1)
- Locking wikimedia/xmp-reader (0.9.1)
- Locking wikimedia/zest-css (3.0.1)
- Locking wmde/hamcrest-html-matchers (v1.0.0)
- Locking zordius/lightncandy (v1.2.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 135 installs, 0 updates, 0 removals
- Downloading wikimedia/composer-merge-plugin (v2.1.0)
- Downloading cssjanus/cssjanus (v2.1.1)
- Downloading pear/pear_exception (v1.0.2)
- Downloading pear/console_getopt (v1.4.3)
- Downloading pear/mail (v1.6.0)
- Downloading pear/mail_mime (1.10.12)
- Downloading pear/net_socket (v1.2.2)
- Downloading pear/net_smtp (1.11.1)
- Downloading wikimedia/cldr-plural-rule-parser (v2.0.0)
- Downloading wikimedia/common-passwords (v0.5.0)
- Downloading wikimedia/html-formatter (4.1.0)
- Downloading guzzlehttp/guzzle (7.7.1)
- Downloading zordius/lightncandy (v1.2.6)
0/13 [>---------------------------] 0%
11/13 [=======================>----] 84%
13/13 [============================] 100%
- Installing wikimedia/composer-merge-plugin (v2.1.0): Extracting archive
- Installing squizlabs/php_codesniffer (3.8.1): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
- Installing composer/pcre (3.1.3): Extracting archive
- Installing cssjanus/cssjanus (v2.1.1): Extracting archive
- Installing psr/log (1.1.4): Extracting archive
- Installing psr/cache (3.0.0): Extracting archive
- Installing doctrine/event-manager (2.0.0): Extracting archive
- Installing doctrine/deprecations (1.1.3): Extracting archive
- Installing doctrine/cache (2.2.0): Extracting archive
- Installing doctrine/dbal (3.7.2): Extracting archive
- Installing doctrine/sql-formatter (1.1.3): Extracting archive
- Installing giorgiosironi/eris (0.14.0): Extracting archive
- Installing guzzlehttp/promises (2.0.2): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing psr/http-message (1.1): Extracting archive
- Installing psr/http-factory (1.0.2): Extracting archive
- Installing guzzlehttp/psr7 (2.6.2): Extracting archive
- Installing sebastian/version (3.0.2): Extracting archive
- Installing sebastian/type (3.2.1): Extracting archive
- Installing sebastian/resource-operations (3.0.4): Extracting archive
- Installing sebastian/recursion-context (4.0.5): Extracting archive
- Installing sebastian/object-reflector (2.0.4): Extracting archive
- Installing sebastian/object-enumerator (4.0.4): Extracting archive
- Installing sebastian/global-state (5.0.7): Extracting archive
- Installing sebastian/exporter (4.0.6): Extracting archive
- Installing sebastian/environment (5.1.5): Extracting archive
- Installing sebastian/diff (4.0.6): Extracting archive
- Installing sebastian/comparator (4.0.8): Extracting archive
- Installing sebastian/code-unit (1.0.8): Extracting archive
- Installing sebastian/cli-parser (1.0.2): Extracting archive
- Installing phpunit/php-timer (5.0.3): Extracting archive
- Installing phpunit/php-text-template (2.0.4): Extracting archive
- Installing phpunit/php-invoker (3.1.1): Extracting archive
- Installing phpunit/php-file-iterator (3.0.6): Extracting archive
- Installing theseer/tokenizer (1.2.3): Extracting archive
- Installing nikic/php-parser (v4.19.1): Extracting archive
- Installing sebastian/lines-of-code (1.0.4): Extracting archive
- Installing sebastian/complexity (2.0.3): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
- Installing phpunit/php-code-coverage (9.2.31): Extracting archive
- Installing phar-io/version (3.2.1): Extracting archive
- Installing phar-io/manifest (2.0.4): Extracting archive
- Installing myclabs/deep-copy (1.11.1): Extracting archive
- Installing doctrine/instantiator (2.0.0): Extracting archive
- Installing phpunit/phpunit (9.6.16): Extracting archive
- Installing johnkary/phpunit-speedtrap (v4.0.1): Extracting archive
- Installing justinrainbow/json-schema (v5.2.13): Extracting archive
- Installing mck89/peast (v1.16.2): Extracting archive
- Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
- Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive
- Installing composer/spdx-licenses (1.5.8): Extracting archive
- Installing composer/semver (3.4.0): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v43.0.0): Extracting archive
- Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
- Installing symfony/string (v7.0.4): Extracting archive
- Installing psr/container (1.1.2): Extracting archive
- Installing symfony/service-contracts (v3.4.2): Extracting archive
- Installing symfony/console (v7.0.6): Extracting archive
- Installing sabre/event (5.1.4): Extracting archive
- Installing netresearch/jsonmapper (v4.4.1): Extracting archive
- Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
- Installing webmozart/assert (1.11.0): Extracting archive
- Installing phpstan/phpdoc-parser (1.28.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.4.0): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing composer/xdebug-handler (3.0.4): Extracting archive
- Installing phan/phan (5.4.3): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
- Installing oojs/oojs-ui (v0.49.1): Extracting archive
- Installing pear/pear_exception (v1.0.2): Extracting archive
- Installing pear/console_getopt (v1.4.3): Extracting archive
- Installing pear/pear-core-minimal (v1.10.15): Extracting archive
- Installing pear/mail (v1.6.0): Extracting archive
- Installing pear/mail_mime (1.10.12): Extracting archive
- Installing pear/net_socket (v1.2.2): Extracting archive
- Installing pear/net_smtp (1.11.1): Extracting archive
- Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
- Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
- Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
- Installing psr/http-client (1.0.3): Extracting archive
- Installing symfony/var-dumper (v7.0.6): Extracting archive
- Installing psy/psysh (v0.12.3): Extracting archive
- Installing seld/jsonlint (1.10.1): Extracting archive
- Installing symfony/polyfill-php81 (v1.29.0): Extracting archive
- Installing symfony/polyfill-php82 (v1.29.0): Extracting archive
- Installing symfony/polyfill-php83 (v1.29.0): Extracting archive
- Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
- Installing symfony/yaml (v5.4.35): Extracting archive
- Installing wikimedia/alea (1.0.0): Extracting archive
- Installing wikimedia/base-convert (v2.0.2): Extracting archive
- Installing wikimedia/cdb (3.0.0): Extracting archive
- Installing wikimedia/cldr-plural-rule-parser (v2.0.0): Extracting archive
- Installing wikimedia/common-passwords (v0.5.0): Extracting archive
- Installing wikimedia/html-formatter (4.1.0): Extracting archive
- Installing wikimedia/assert (v0.5.1): Extracting archive
- Installing wikimedia/langconv (0.4.2): Extracting archive
- Installing wikimedia/less.php (v4.2.1): Extracting archive
- Installing pear/net_url2 (v2.2.2): Extracting archive
- Installing wikimedia/minify (2.7.0): Extracting archive
- Installing wikimedia/zest-css (3.0.1): Extracting archive
- Installing wikimedia/wikipeg (4.0.0): Extracting archive
- Installing wikimedia/scoped-callback (v4.0.0): Extracting archive
- Installing wikimedia/utfnormal (4.0.0): Extracting archive
- Installing wikimedia/remex-html (4.1.0): Extracting archive
- Installing wikimedia/object-factory (v5.0.1): Extracting archive
- Installing wikimedia/json-codec (v2.2.1): Extracting archive
- Installing wikimedia/ip-utils (5.0.0): Extracting archive
- Installing wikimedia/idle-dom (v1.0.0): Extracting archive
- Installing wikimedia/bcp-47-code (v2.0.0): Extracting archive
- Installing liuggio/statsd-php-client (v1.0.18): Extracting archive
- Installing wikimedia/parsoid (v0.20.0-a2): Extracting archive
- Installing wikimedia/at-ease (v2.1.0): Extracting archive
- Installing wikimedia/php-session-serializer (v2.0.1): Extracting archive
- Installing wikimedia/purtle (v1.0.8): Extracting archive
- Installing wikimedia/relpath (4.0.0): Extracting archive
- Installing wikimedia/normalized-exception (v1.0.1): Extracting archive
- Installing wikimedia/request-timeout (1.2.0): Extracting archive
- Installing wikimedia/running-stat (v2.1.0): Extracting archive
- Installing wikimedia/services (3.0.0): Extracting archive
- Installing monolog/monolog (2.9.2): Extracting archive
- Installing guzzlehttp/guzzle (7.7.1): Extracting archive
- Installing wikimedia/shellbox (4.0.2): Extracting archive
- Installing wikimedia/testing-access-wrapper (3.0.0): Extracting archive
- Installing wikimedia/wait-condition-loop (v2.0.2): Extracting archive
- Installing wikimedia/wrappedstring (v4.0.1): Extracting archive
- Installing wikimedia/timestamp (v4.1.1): Extracting archive
- Installing wikimedia/xmp-reader (0.9.1): Extracting archive
- Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
- Installing wmde/hamcrest-html-matchers (v1.0.0): Extracting archive
- Installing zordius/lightncandy (v1.2.6): Extracting archive
0/132 [>---------------------------] 0%
20/132 [====>-----------------------] 15%
30/132 [======>---------------------] 22%
41/132 [========>-------------------] 31%
64/132 [=============>--------------] 48%
73/132 [===============>------------] 55%
83/132 [=================>----------] 62%
93/132 [===================>--------] 70%
110/132 [=======================>----] 83%
127/132 [==========================>-] 96%
132/132 [============================] 100%
25 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
50 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> MediaWiki\Composer\ComposerVendorHtaccessCreator::onEvent
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"api-testing": {
"name": "api-testing",
"severity": "critical",
"isDirect": true,
"via": [
"supertest"
],
"effects": [],
"range": ">=1.0.2",
"nodes": [
"node_modules/api-testing"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"formidable": {
"name": "formidable",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1097147,
"name": "formidable",
"dependency": "formidable",
"title": "Formidable arbitrary file upload",
"url": "https://github.com/advisories/GHSA-8cp3-66vr-3r4c",
"severity": "critical",
"cwe": [
"CWE-434"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<3.2.4"
}
],
"effects": [
"superagent"
],
"range": "<3.2.4",
"nodes": [
"node_modules/formidable"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"mwbot": {
"name": "mwbot",
"severity": "moderate",
"isDirect": false,
"via": [
"request"
],
"effects": [],
"range": ">=0.1.6",
"nodes": [
"node_modules/mwbot"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request": {
"name": "request",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1096727,
"name": "request",
"dependency": "request",
"title": "Server-Side Request Forgery in Request",
"url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
"severity": "moderate",
"cwe": [
"CWE-918"
],
"cvss": {
"score": 6.1,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
"range": "<=2.88.2"
},
"tough-cookie"
],
"effects": [
"mwbot"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"superagent": {
"name": "superagent",
"severity": "critical",
"isDirect": false,
"via": [
"formidable"
],
"effects": [
"supertest"
],
"range": "0.4.0 - 8.1.2",
"nodes": [
"node_modules/superagent"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"supertest": {
"name": "supertest",
"severity": "critical",
"isDirect": false,
"via": [
"superagent"
],
"effects": [
"api-testing"
],
"range": "<=6.3.4",
"nodes": [
"node_modules/supertest"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"tough-cookie": {
"name": "tough-cookie",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1096643,
"name": "tough-cookie",
"dependency": "tough-cookie",
"title": "tough-cookie Prototype Pollution vulnerability",
"url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
},
"range": "<4.1.3"
}
],
"effects": [
"request"
],
"range": "<4.1.3",
"nodes": [
"node_modules/tough-cookie"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 3,
"high": 0,
"critical": 4,
"total": 7
},
"dependencies": {
"prod": 1,
"dev": 967,
"optional": 2,
"peer": 2,
"peerOptional": 0,
"total": 967
}
}
}
--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 966,
"removed": 0,
"changed": 0,
"audited": 967,
"funding": 137,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"api-testing": {
"name": "api-testing",
"severity": "critical",
"isDirect": true,
"via": [
"supertest"
],
"effects": [],
"range": ">=1.0.2",
"nodes": [
"node_modules/api-testing"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"formidable": {
"name": "formidable",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1097147,
"name": "formidable",
"dependency": "formidable",
"title": "Formidable arbitrary file upload",
"url": "https://github.com/advisories/GHSA-8cp3-66vr-3r4c",
"severity": "critical",
"cwe": [
"CWE-434"
],
"cvss": {
"score": 9.8,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
},
"range": "<3.2.4"
}
],
"effects": [
"superagent"
],
"range": "<3.2.4",
"nodes": [
"node_modules/formidable"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"mwbot": {
"name": "mwbot",
"severity": "moderate",
"isDirect": false,
"via": [
"request"
],
"effects": [],
"range": ">=0.1.6",
"nodes": [
"node_modules/mwbot"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request": {
"name": "request",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1096727,
"name": "request",
"dependency": "request",
"title": "Server-Side Request Forgery in Request",
"url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
"severity": "moderate",
"cwe": [
"CWE-918"
],
"cvss": {
"score": 6.1,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
},
"range": "<=2.88.2"
},
"tough-cookie"
],
"effects": [
"mwbot"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"superagent": {
"name": "superagent",
"severity": "critical",
"isDirect": false,
"via": [
"formidable"
],
"effects": [
"supertest"
],
"range": "0.4.0 - 8.1.2",
"nodes": [
"node_modules/superagent"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"supertest": {
"name": "supertest",
"severity": "critical",
"isDirect": false,
"via": [
"superagent"
],
"effects": [
"api-testing"
],
"range": "<=6.3.4",
"nodes": [
"node_modules/supertest"
],
"fixAvailable": {
"name": "api-testing",
"version": "1.0.0",
"isSemVerMajor": true
}
},
"tough-cookie": {
"name": "tough-cookie",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1096643,
"name": "tough-cookie",
"dependency": "tough-cookie",
"title": "tough-cookie Prototype Pollution vulnerability",
"url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
"severity": "moderate",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 6.5,
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
},
"range": "<4.1.3"
}
],
"effects": [
"request"
],
"range": "<4.1.3",
"nodes": [
"node_modules/tough-cookie"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 3,
"high": 0,
"critical": 4,
"total": 7
},
"dependencies": {
"prod": 1,
"dev": 966,
"optional": 2,
"peer": 2,
"peerOptional": 0,
"total": 966
}
}
}
}
--- end ---
{"added": 966, "removed": 0, "changed": 0, "audited": 967, "funding": 137, "audit": {"auditReportVersion": 2, "vulnerabilities": {"api-testing": {"name": "api-testing", "severity": "critical", "isDirect": true, "via": ["supertest"], "effects": [], "range": ">=1.0.2", "nodes": ["node_modules/api-testing"], "fixAvailable": {"name": "api-testing", "version": "1.0.0", "isSemVerMajor": true}}, "formidable": {"name": "formidable", "severity": "critical", "isDirect": false, "via": [{"source": 1097147, "name": "formidable", "dependency": "formidable", "title": "Formidable arbitrary file upload", "url": "https://github.com/advisories/GHSA-8cp3-66vr-3r4c", "severity": "critical", "cwe": ["CWE-434"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<3.2.4"}], "effects": ["superagent"], "range": "<3.2.4", "nodes": ["node_modules/formidable"], "fixAvailable": {"name": "api-testing", "version": "1.0.0", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": [], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "superagent": {"name": "superagent", "severity": "critical", "isDirect": false, "via": ["formidable"], "effects": ["supertest"], "range": "0.4.0 - 8.1.2", "nodes": ["node_modules/superagent"], "fixAvailable": {"name": "api-testing", "version": "1.0.0", "isSemVerMajor": true}}, "supertest": {"name": "supertest", "severity": "critical", "isDirect": false, "via": ["superagent"], "effects": ["api-testing"], "range": "<=6.3.4", "nodes": ["node_modules/supertest"], "fixAvailable": {"name": "api-testing", "version": "1.0.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1096643, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 3, "high": 0, "critical": 4, "total": 7}, "dependencies": {"prod": 1, "dev": 966, "optional": 2, "peer": 2, "peerOptional": 0, "total": 966}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated date-format@0.0.2: 0.x is no longer supported. Please upgrade to 4.x or higher.
npm WARN deprecated formidable@1.2.6: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated superagent@6.1.0: Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at <https://github.com/visionmedia/superagent/releases>. Thanks to @shadowgate15, @spence-s, and @niftylettuce. Superagent is sponsored by Forward Email at <https://forwardemail.net>.
--- stdout ---
added 965 packages, and audited 966 packages in 11s
137 packages are looking for funding
run `npm fund` for details
# npm audit report
formidable <3.2.4
Severity: critical
Formidable arbitrary file upload - https://github.com/advisories/GHSA-8cp3-66vr-3r4c
fix available via `npm audit fix --force`
Will install api-testing@1.0.0, which is a breaking change
node_modules/formidable
superagent 0.4.0 - 8.1.2
Depends on vulnerable versions of formidable
node_modules/superagent
supertest <=6.3.4
Depends on vulnerable versions of superagent
node_modules/supertest
api-testing >=1.0.2
Depends on vulnerable versions of supertest
node_modules/api-testing
request *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
No fix available
node_modules/request
mwbot >=0.1.6
Depends on vulnerable versions of request
node_modules/mwbot
wdio-mediawiki *
Depends on vulnerable versions of mwbot
node_modules/wdio-mediawiki
tough-cookie <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
No fix available
node_modules/tough-cookie
8 vulnerabilities (4 moderate, 4 critical)
To address all issues possible (including breaking changes), run:
npm audit fix --force
Some issues need review, and may require choosing
a different dependency.
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
node_modules/wdio-mediawiki@2.5.0: "resolved" does not use HTTPS: file:tests/selenium/wdio-mediawiki
--- end ---
Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1584, in main
libup.run(args.repo, args.output, args.branch)
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 1528, in run
self.npm_audit_fix(new_npm_audit)
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 244, in npm_audit_fix
self.check_package_lock()
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 301, in check_package_lock
self.check_call(['package-lock-lint', 'package-lock.json'])
File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/shell2.py", line 54, in check_call
res.check_returncode()
File "/usr/lib/python3.11/subprocess.py", line 502, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['package-lock-lint', 'package-lock.json']' returned non-zero exit status 1.