This run took 87 seconds.
$ date
--- stdout ---
Mon Nov 17 20:54:49 UTC 2025
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-CirrusSearch.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- 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 ---
8eaea5d664b0925a0676c09162edebf82b39623c refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@cucumber/cucumber": {
"name": "@cucumber/cucumber",
"severity": "high",
"isDirect": false,
"via": [
"glob",
"tmp"
],
"effects": [
"@wdio/cucumber-framework"
],
"range": "10.0.0 - 11.3.0",
"nodes": [
"node_modules/@cucumber/cucumber"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"@wdio/cucumber-framework": {
"name": "@wdio/cucumber-framework",
"severity": "high",
"isDirect": true,
"via": [
"@cucumber/cucumber"
],
"effects": [],
"range": ">=9.0.0-alpha.0",
"nodes": [
"node_modules/@wdio/cucumber-framework"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"form-data": {
"name": "form-data",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1109540,
"name": "form-data",
"dependency": "form-data",
"title": "form-data uses unsafe random function in form-data for choosing boundary",
"url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
"severity": "critical",
"cwe": [
"CWE-330"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<2.5.4"
}
],
"effects": [
"request"
],
"range": "<2.5.4",
"nodes": [
"node_modules/form-data"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"glob": {
"name": "glob",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1109809,
"name": "glob",
"dependency": "glob",
"title": "glob CLI: Command injection via -c/--cmd executes matches with shell:true",
"url": "https://github.com/advisories/GHSA-5j98-mcp5-4vw2",
"severity": "high",
"cwe": [
"CWE-78"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"range": ">=10.3.7 <=11.0.3"
}
],
"effects": [
"@cucumber/cucumber"
],
"range": "10.3.7 - 11.0.3",
"nodes": [
"node_modules/glob"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"mwbot": {
"name": "mwbot",
"severity": "moderate",
"isDirect": true,
"via": [
"request"
],
"effects": [
"wdio-mediawiki"
],
"range": ">=0.1.6",
"nodes": [
"node_modules/mwbot",
"node_modules/wdio-mediawiki/node_modules/mwbot"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request": {
"name": "request",
"severity": "critical",
"isDirect": true,
"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"
},
"form-data",
"tough-cookie"
],
"effects": [
"mwbot",
"request-promise-core",
"request-promise-native"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"request-promise-core": {
"name": "request-promise-core",
"severity": "moderate",
"isDirect": false,
"via": [
"request"
],
"effects": [
"request-promise-native"
],
"range": "*",
"nodes": [
"node_modules/request-promise-core"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"request-promise-native": {
"name": "request-promise-native",
"severity": "moderate",
"isDirect": true,
"via": [
"request",
"request-promise-core"
],
"effects": [],
"range": ">=1.0.0",
"nodes": [
"node_modules/request-promise-native"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"tmp": {
"name": "tmp",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1109537,
"name": "tmp",
"dependency": "tmp",
"title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
"url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
"severity": "low",
"cwe": [
"CWE-59"
],
"cvss": {
"score": 2.5,
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<=0.2.3"
}
],
"effects": [
"@cucumber/cucumber"
],
"range": "<=0.2.3",
"nodes": [
"node_modules/tmp"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"tough-cookie": {
"name": "tough-cookie",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1097682,
"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": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"wdio-mediawiki": {
"name": "wdio-mediawiki",
"severity": "moderate",
"isDirect": true,
"via": [
"mwbot"
],
"effects": [],
"range": "<=5.1.0",
"nodes": [
"node_modules/wdio-mediawiki"
],
"fixAvailable": {
"name": "wdio-mediawiki",
"version": "6.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 1,
"moderate": 5,
"high": 3,
"critical": 2,
"total": 11
},
"dependencies": {
"prod": 114,
"dev": 1010,
"optional": 38,
"peer": 2,
"peerOptional": 0,
"total": 1124
}
}
}
--- 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.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 41 installs, 0 updates, 0 removals
- Locking composer/pcre (dev-main efd6881)
- Locking composer/semver (dev-main c9b06fa)
- Locking composer/spdx-licenses (1.5.9)
- Locking composer/xdebug-handler (3.0.5)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking doctrine/deprecations (1.1.x-dev 8dfcd66)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking justinrainbow/json-schema (5.x-dev feb2ca6)
- Locking mediawiki/mediawiki-codesniffer (v48.0.0)
- Locking mediawiki/mediawiki-phan-config (0.17.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking mediawiki/phan-taint-check-plugin (7.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking phan/phan (5.5.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.4.0)
- Locking phpcsstandards/phpcsutils (1.1.1)
- Locking phpdocumentor/reflection-common (dev-master a0eeab5)
- Locking phpdocumentor/reflection-docblock (5.x-dev c733f03)
- Locking phpdocumentor/type-resolver (1.x-dev 7397f0f)
- Locking phpstan/phpdoc-parser (2.3.x-dev bd6f207)
- Locking psr/container (dev-master 7079847)
- Locking psr/log (1.1.4)
- Locking sabre/event (5.1.x-dev f71ef91)
- Locking squizlabs/php_codesniffer (3.13.2)
- Locking symfony/console (7.4.x-dev 87ad3ca)
- Locking symfony/deprecation-contracts (dev-main 63afe74)
- Locking symfony/polyfill-ctype (1.x-dev a3cc8b0)
- Locking symfony/polyfill-intl-grapheme (1.x-dev 3808721)
- Locking symfony/polyfill-intl-normalizer (1.x-dev 3833d72)
- Locking symfony/polyfill-mbstring (1.x-dev 6d857f4)
- Locking symfony/polyfill-php80 (1.x-dev 0cc9dd0)
- Locking symfony/service-contracts (dev-main 4511256)
- Locking symfony/string (8.1.x-dev f929ecc)
- Locking tysonandre/var_representation_polyfill (dev-main e9116c2)
- Locking webmozart/assert (1.12.1)
- Locking wikimedia/lucene-explain-parser (2.0.0)
- Locking wikimedia/textcat (2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 41 installs, 0 updates, 0 removals
- Downloading wikimedia/lucene-explain-parser (2.0.0)
0/1 [>---------------------------] 0%
1/1 [============================] 100%
- Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing composer/pcre (dev-main efd6881): Extracting archive
- Installing justinrainbow/json-schema (5.x-dev feb2ca6): Extracting archive
- Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing symfony/polyfill-mbstring (1.x-dev 6d857f4): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (dev-main c9b06fa): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
- Installing tysonandre/var_representation_polyfill (dev-main e9116c2): Extracting archive
- Installing symfony/polyfill-php80 (1.x-dev 0cc9dd0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (1.x-dev 3833d72): Extracting archive
- Installing symfony/polyfill-intl-grapheme (1.x-dev 3808721): Extracting archive
- Installing symfony/polyfill-ctype (1.x-dev a3cc8b0): Extracting archive
- Installing symfony/string (8.1.x-dev f929ecc): Extracting archive
- Installing symfony/deprecation-contracts (dev-main 63afe74): Extracting archive
- Installing psr/container (dev-master 7079847): Extracting archive
- Installing symfony/service-contracts (dev-main 4511256): Extracting archive
- Installing symfony/console (7.4.x-dev 87ad3ca): Extracting archive
- Installing sabre/event (5.1.x-dev f71ef91): Extracting archive
- Installing netresearch/jsonmapper (v4.5.0): Extracting archive
- Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
- Installing webmozart/assert (1.12.1): Extracting archive
- Installing phpstan/phpdoc-parser (2.3.x-dev bd6f207): Extracting archive
- Installing phpdocumentor/reflection-common (dev-master a0eeab5): Extracting archive
- Installing doctrine/deprecations (1.1.x-dev 8dfcd66): Extracting archive
- Installing phpdocumentor/type-resolver (1.x-dev 7397f0f): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.x-dev c733f03): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing psr/log (1.1.4): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (5.5.1): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
- Installing mediawiki/minus-x (1.1.3): 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 wikimedia/lucene-explain-parser (2.0.0): Extracting archive
- Installing wikimedia/textcat (2.0.0): Extracting archive
0/39 [>---------------------------] 0%
28/39 [====================>-------] 71%
37/39 [==========================>-] 94%
39/39 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- 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": {
"@cucumber/cucumber": {
"name": "@cucumber/cucumber",
"severity": "high",
"isDirect": false,
"via": [
"glob",
"tmp"
],
"effects": [
"@wdio/cucumber-framework"
],
"range": "10.0.0 - 11.3.0",
"nodes": [
"node_modules/@cucumber/cucumber"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"@wdio/cucumber-framework": {
"name": "@wdio/cucumber-framework",
"severity": "high",
"isDirect": true,
"via": [
"@cucumber/cucumber"
],
"effects": [],
"range": ">=9.0.0-alpha.0",
"nodes": [
"node_modules/@wdio/cucumber-framework"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"form-data": {
"name": "form-data",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1109540,
"name": "form-data",
"dependency": "form-data",
"title": "form-data uses unsafe random function in form-data for choosing boundary",
"url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
"severity": "critical",
"cwe": [
"CWE-330"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<2.5.4"
}
],
"effects": [
"request"
],
"range": "<2.5.4",
"nodes": [
"node_modules/form-data"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"glob": {
"name": "glob",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1109809,
"name": "glob",
"dependency": "glob",
"title": "glob CLI: Command injection via -c/--cmd executes matches with shell:true",
"url": "https://github.com/advisories/GHSA-5j98-mcp5-4vw2",
"severity": "high",
"cwe": [
"CWE-78"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"range": ">=10.3.7 <=11.0.3"
}
],
"effects": [
"@cucumber/cucumber"
],
"range": "10.3.7 - 11.0.3",
"nodes": [
"node_modules/glob"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"mwbot": {
"name": "mwbot",
"severity": "moderate",
"isDirect": true,
"via": [
"request"
],
"effects": [
"wdio-mediawiki"
],
"range": ">=0.1.6",
"nodes": [
"node_modules/mwbot",
"node_modules/wdio-mediawiki/node_modules/mwbot"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request": {
"name": "request",
"severity": "critical",
"isDirect": true,
"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"
},
"form-data",
"tough-cookie"
],
"effects": [
"mwbot",
"request-promise-core",
"request-promise-native"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"request-promise-core": {
"name": "request-promise-core",
"severity": "moderate",
"isDirect": false,
"via": [
"request"
],
"effects": [
"request-promise-native"
],
"range": "*",
"nodes": [
"node_modules/request-promise-core"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"request-promise-native": {
"name": "request-promise-native",
"severity": "moderate",
"isDirect": true,
"via": [
"request",
"request-promise-core"
],
"effects": [],
"range": ">=1.0.0",
"nodes": [
"node_modules/request-promise-native"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"tmp": {
"name": "tmp",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1109537,
"name": "tmp",
"dependency": "tmp",
"title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
"url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
"severity": "low",
"cwe": [
"CWE-59"
],
"cvss": {
"score": 2.5,
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<=0.2.3"
}
],
"effects": [
"@cucumber/cucumber"
],
"range": "<=0.2.3",
"nodes": [
"node_modules/tmp"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"tough-cookie": {
"name": "tough-cookie",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1097682,
"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": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"wdio-mediawiki": {
"name": "wdio-mediawiki",
"severity": "moderate",
"isDirect": true,
"via": [
"mwbot"
],
"effects": [],
"range": "<=5.1.0",
"nodes": [
"node_modules/wdio-mediawiki"
],
"fixAvailable": {
"name": "wdio-mediawiki",
"version": "6.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 1,
"moderate": 5,
"high": 3,
"critical": 2,
"total": 11
},
"dependencies": {
"prod": 114,
"dev": 1010,
"optional": 38,
"peer": 2,
"peerOptional": 0,
"total": 1124
}
}
}
--- 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
--- stdout ---
{
"added": 1124,
"removed": 0,
"changed": 0,
"audited": 1125,
"funding": 210,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"@cucumber/cucumber": {
"name": "@cucumber/cucumber",
"severity": "high",
"isDirect": false,
"via": [
"glob",
"tmp"
],
"effects": [
"@wdio/cucumber-framework"
],
"range": "10.0.0 - 11.3.0",
"nodes": [
"node_modules/@cucumber/cucumber"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"@wdio/cucumber-framework": {
"name": "@wdio/cucumber-framework",
"severity": "high",
"isDirect": true,
"via": [
"@cucumber/cucumber"
],
"effects": [],
"range": ">=9.0.0-alpha.0",
"nodes": [
"node_modules/@wdio/cucumber-framework"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"form-data": {
"name": "form-data",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1109540,
"name": "form-data",
"dependency": "form-data",
"title": "form-data uses unsafe random function in form-data for choosing boundary",
"url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
"severity": "critical",
"cwe": [
"CWE-330"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<2.5.4"
}
],
"effects": [
"request"
],
"range": "<2.5.4",
"nodes": [
"node_modules/form-data"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"glob": {
"name": "glob",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1109809,
"name": "glob",
"dependency": "glob",
"title": "glob CLI: Command injection via -c/--cmd executes matches with shell:true",
"url": "https://github.com/advisories/GHSA-5j98-mcp5-4vw2",
"severity": "high",
"cwe": [
"CWE-78"
],
"cvss": {
"score": 7.5,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"range": ">=10.3.7 <=11.0.3"
}
],
"effects": [
"@cucumber/cucumber"
],
"range": "10.3.7 - 11.0.3",
"nodes": [
"node_modules/glob"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"mwbot": {
"name": "mwbot",
"severity": "moderate",
"isDirect": true,
"via": [
"request"
],
"effects": [
"wdio-mediawiki"
],
"range": ">=0.1.6",
"nodes": [
"node_modules/mwbot",
"node_modules/wdio-mediawiki/node_modules/mwbot"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request": {
"name": "request",
"severity": "critical",
"isDirect": true,
"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"
},
"form-data",
"tough-cookie"
],
"effects": [
"mwbot",
"request-promise-core",
"request-promise-native"
],
"range": "*",
"nodes": [
"node_modules/request"
],
"fixAvailable": {
"name": "mwbot",
"version": "0.1.5",
"isSemVerMajor": true
}
},
"request-promise-core": {
"name": "request-promise-core",
"severity": "moderate",
"isDirect": false,
"via": [
"request"
],
"effects": [
"request-promise-native"
],
"range": "*",
"nodes": [
"node_modules/request-promise-core"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"request-promise-native": {
"name": "request-promise-native",
"severity": "moderate",
"isDirect": true,
"via": [
"request",
"request-promise-core"
],
"effects": [],
"range": ">=1.0.0",
"nodes": [
"node_modules/request-promise-native"
],
"fixAvailable": {
"name": "request-promise-native",
"version": "0.0.0",
"isSemVerMajor": true
}
},
"tmp": {
"name": "tmp",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1109537,
"name": "tmp",
"dependency": "tmp",
"title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
"url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
"severity": "low",
"cwe": [
"CWE-59"
],
"cvss": {
"score": 2.5,
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
},
"range": "<=0.2.3"
}
],
"effects": [
"@cucumber/cucumber"
],
"range": "<=0.2.3",
"nodes": [
"node_modules/tmp"
],
"fixAvailable": {
"name": "@wdio/cucumber-framework",
"version": "8.46.0",
"isSemVerMajor": true
}
},
"tough-cookie": {
"name": "tough-cookie",
"severity": "moderate",
"isDirect": false,
"via": [
{
"source": 1097682,
"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
}
},
"wdio-mediawiki": {
"name": "wdio-mediawiki",
"severity": "moderate",
"isDirect": true,
"via": [
"mwbot"
],
"effects": [],
"range": "<=5.1.0",
"nodes": [
"node_modules/wdio-mediawiki"
],
"fixAvailable": {
"name": "wdio-mediawiki",
"version": "6.0.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 1,
"moderate": 5,
"high": 3,
"critical": 2,
"total": 11
},
"dependencies": {
"prod": 114,
"dev": 1010,
"optional": 38,
"peer": 2,
"peerOptional": 0,
"total": 1124
}
}
}
}
--- end ---
{"added": 1124, "removed": 0, "changed": 0, "audited": 1125, "funding": 210, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@cucumber/cucumber": {"name": "@cucumber/cucumber", "severity": "high", "isDirect": false, "via": ["glob", "tmp"], "effects": ["@wdio/cucumber-framework"], "range": "10.0.0 - 11.3.0", "nodes": ["node_modules/@cucumber/cucumber"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "8.46.0", "isSemVerMajor": true}}, "@wdio/cucumber-framework": {"name": "@wdio/cucumber-framework", "severity": "high", "isDirect": true, "via": ["@cucumber/cucumber"], "effects": [], "range": ">=9.0.0-alpha.0", "nodes": ["node_modules/@wdio/cucumber-framework"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "8.46.0", "isSemVerMajor": true}}, "form-data": {"name": "form-data", "severity": "critical", "isDirect": false, "via": [{"source": 1109540, "name": "form-data", "dependency": "form-data", "title": "form-data uses unsafe random function in form-data for choosing boundary", "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4", "severity": "critical", "cwe": ["CWE-330"], "cvss": {"score": 0, "vectorString": null}, "range": "<2.5.4"}], "effects": ["request"], "range": "<2.5.4", "nodes": ["node_modules/form-data"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "glob": {"name": "glob", "severity": "high", "isDirect": false, "via": [{"source": 1109809, "name": "glob", "dependency": "glob", "title": "glob CLI: Command injection via -c/--cmd executes matches with shell:true", "url": "https://github.com/advisories/GHSA-5j98-mcp5-4vw2", "severity": "high", "cwe": ["CWE-78"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"}, "range": ">=10.3.7 <=11.0.3"}], "effects": ["@cucumber/cucumber"], "range": "10.3.7 - 11.0.3", "nodes": ["node_modules/glob"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "8.46.0", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": true, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot", "node_modules/wdio-mediawiki/node_modules/mwbot"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "critical", "isDirect": true, "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"}, "form-data", "tough-cookie"], "effects": ["mwbot", "request-promise-core", "request-promise-native"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "mwbot", "version": "0.1.5", "isSemVerMajor": true}}, "request-promise-core": {"name": "request-promise-core", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["request-promise-native"], "range": "*", "nodes": ["node_modules/request-promise-core"], "fixAvailable": {"name": "request-promise-native", "version": "0.0.0", "isSemVerMajor": true}}, "request-promise-native": {"name": "request-promise-native", "severity": "moderate", "isDirect": true, "via": ["request", "request-promise-core"], "effects": [], "range": ">=1.0.0", "nodes": ["node_modules/request-promise-native"], "fixAvailable": {"name": "request-promise-native", "version": "0.0.0", "isSemVerMajor": true}}, "tmp": {"name": "tmp", "severity": "low", "isDirect": false, "via": [{"source": 1109537, "name": "tmp", "dependency": "tmp", "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter", "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6", "severity": "low", "cwe": ["CWE-59"], "cvss": {"score": 2.5, "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<=0.2.3"}], "effects": ["@cucumber/cucumber"], "range": "<=0.2.3", "nodes": ["node_modules/tmp"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "8.46.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "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}}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "<=5.1.0", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.0.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 1, "moderate": 5, "high": 3, "critical": 2, "total": 11}, "dependencies": {"prod": 114, "dev": 1010, "optional": 38, "peer": 2, "peerOptional": 0, "total": 1124}}}}
$ /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 deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated request-promise-native@1.0.5: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
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 reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
npm WARN deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1098 packages, and audited 1099 packages in 20s
210 packages are looking for funding
run `npm fund` for details
# npm audit report
form-data <2.5.4
Severity: critical
form-data uses unsafe random function in form-data for choosing boundary - https://github.com/advisories/GHSA-fjxv-7rqg-78g4
fix available via `npm audit fix --force`
Will install mwbot@0.1.5, which is a breaking change
node_modules/form-data
request *
Depends on vulnerable versions of form-data
Depends on vulnerable versions of tough-cookie
node_modules/request
mwbot >=0.1.6
Depends on vulnerable versions of request
node_modules/mwbot
node_modules/wdio-mediawiki/node_modules/mwbot
wdio-mediawiki <=5.1.0
Depends on vulnerable versions of mwbot
node_modules/wdio-mediawiki
request-promise-core *
Depends on vulnerable versions of request
node_modules/request-promise-core
request-promise-native >=1.0.0
Depends on vulnerable versions of request
Depends on vulnerable versions of request-promise-core
node_modules/request-promise-native
glob 10.3.7 - 11.0.3
Severity: high
glob CLI: Command injection via -c/--cmd executes matches with shell:true - https://github.com/advisories/GHSA-5j98-mcp5-4vw2
fix available via `npm audit fix --force`
Will install @wdio/cucumber-framework@8.46.0, which is a breaking change
node_modules/glob
@cucumber/cucumber 10.0.0 - 11.3.0
Depends on vulnerable versions of glob
Depends on vulnerable versions of tmp
node_modules/@cucumber/cucumber
@wdio/cucumber-framework >=9.0.0-alpha.0
Depends on vulnerable versions of @cucumber/cucumber
node_modules/@wdio/cucumber-framework
tmp <=0.2.3
tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter - https://github.com/advisories/GHSA-52f5-9888-hmc6
fix available via `npm audit fix --force`
Will install @wdio/cucumber-framework@8.46.0, which is a breaking change
node_modules/tmp
tough-cookie <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
fix available via `npm audit fix --force`
Will install mwbot@0.1.5, which is a breaking change
node_modules/tough-cookie
11 vulnerabilities (1 low, 5 moderate, 3 high, 2 critical)
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated request-promise-native@1.0.5: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
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 reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
npm WARN deprecated reflect-metadata@0.2.1: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 1098 packages, and audited 1099 packages in 27s
210 packages are looking for funding
run `npm fund` for details
11 vulnerabilities (1 low, 5 moderate, 3 high, 2 critical)
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stdout ---
> cirrussearch@0.0.0 test
> grunt test
Running "eslint:all" (eslint) task
/src/repo/tests/integration/config/wdio.conf.js
312:4 warning Found unlinkSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/tests/integration/features/step_definitions/page_step_helpers.js
59:11 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/tests/integration/features/step_definitions/page_steps.js
127:7 warning Unsafe Regular Expression security/detect-unsafe-regex
140:5 warning ES2022 'Array.prototype.at' method is forbidden es-x/no-array-string-prototype-at
143:4 warning ES2022 'Array.prototype.at' method is forbidden es-x/no-array-string-prototype-at
165:7 warning Unsafe Regular Expression security/detect-unsafe-regex
173:7 warning Unsafe Regular Expression security/detect-unsafe-regex
208:7 warning Unsafe Regular Expression security/detect-unsafe-regex
228:7 warning Unsafe Regular Expression security/detect-unsafe-regex
310:7 warning Unsafe Regular Expression security/detect-unsafe-regex
469:7 warning Unsafe Regular Expression security/detect-unsafe-regex
611:2 warning ES2022 'Array.prototype.at' method is forbidden es-x/no-array-string-prototype-at
619:2 warning ES2022 'Array.prototype.at' method is forbidden es-x/no-array-string-prototype-at
/src/repo/tests/integration/features/support/hooks.js
31:37 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
142:11 warning Found readFileSync from package "fs" with non literal argument at index 0 security/detect-non-literal-fs-filename
/src/repo/tests/integration/features/support/pages/article_page.js
21:2 warning Missing JSDoc @return declaration jsdoc/require-returns
/src/repo/tests/integration/features/support/pages/search_results_page.js
134:2 warning Missing JSDoc @return declaration jsdoc/require-returns
/src/repo/tests/integration/lib/tracker.js
109:6 warning Don't use process.exit(); throw an error instead n/no-process-exit
111:6 warning Don't use process.exit(); throw an error instead n/no-process-exit
114:5 warning Don't use process.exit(); throw an error instead n/no-process-exit
✖ 20 problems (0 errors, 20 warnings)
Running "banana:CirrusSearch" (banana) task
>> 2 message directories checked.
Running "stylelint:all" (stylelint) task
>> Linted 0 files without errors
Done.
--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json
--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpp3_cp14w
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
--- end ---