This run took 9 seconds.
$ date --- stdout --- Wed May 7 02:21:11 UTC 2025 --- end --- $ git clone file:///srv/git/mediawiki-skins-2018.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 --- c3b43daef21ad73389c1e84b3d849c1e9210ea09 refs/heads/master --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "@babel/helpers": { "name": "@babel/helpers", "severity": "moderate", "isDirect": false, "via": [ { "source": 1104001, "name": "@babel/helpers", "dependency": "@babel/helpers", "title": "Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups", "url": "https://github.com/advisories/GHSA-968p-4wvh-cqc8", "severity": "moderate", "cwe": [ "CWE-1333" ], "cvss": { "score": 6.2, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<7.26.10" } ], "effects": [], "range": "<7.26.10", "nodes": [ "node_modules/@babel/helpers" ], "fixAvailable": true }, "@babel/runtime": { "name": "@babel/runtime", "severity": "moderate", "isDirect": false, "via": [ { "source": 1104000, "name": "@babel/runtime", "dependency": "@babel/runtime", "title": "Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups", "url": "https://github.com/advisories/GHSA-968p-4wvh-cqc8", "severity": "moderate", "cwe": [ "CWE-1333" ], "cvss": { "score": 6.2, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": "<7.26.10" } ], "effects": [], "range": "<7.26.10", "nodes": [ "node_modules/@babel/runtime" ], "fixAvailable": true }, "@braintree/sanitize-url": { "name": "@braintree/sanitize-url", "severity": "moderate", "isDirect": false, "via": [ { "source": 1088745, "name": "@braintree/sanitize-url", "dependency": "@braintree/sanitize-url", "title": "Cross-site Scripting in sanitize-url", "url": "https://github.com/advisories/GHSA-hqq7-2q2v-82xq", "severity": "moderate", "cwe": [ "CWE-79" ], "cvss": { "score": 5.4, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N" }, "range": "<6.0.0" }, { "source": 1091262, "name": "@braintree/sanitize-url", "dependency": "@braintree/sanitize-url", "title": "@braintree/sanitize-url Cross-site Scripting vulnerability", "url": "https://github.com/advisories/GHSA-q8gg-vj6m-hgmj", "severity": "moderate", "cwe": [ "CWE-79" ], "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": "<6.0.1" } ], "effects": [ "mermaid" ], "range": "<=6.0.0", "nodes": [ "node_modules/@braintree/sanitize-url" ], "fixAvailable": { "name": "mermaid", "version": "11.6.0", "isSemVerMajor": true } }, "cross-spawn": { "name": "cross-spawn", "severity": "high", "isDirect": false, "via": [ { "source": 1100563, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": [ "CWE-1333" ], "cvss": { "score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" }, "range": ">=7.0.0 <7.0.5" } ], "effects": [], "range": "7.0.0 - 7.0.4", "nodes": [ "node_modules/cross-spawn" ], "fixAvailable": true }, "d3": { "name": "d3", "severity": "high", "isDirect": false, "via": [ "d3-brush", "d3-color", "d3-interpolate", "d3-scale", "d3-transition", "d3-zoom" ], "effects": [ "dagre-d3" ], "range": "4.0.0-alpha.1 - 6.7.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3" ], "fixAvailable": { "name": "mermaid", "version": "11.6.0", "isSemVerMajor": true } }, "d3-brush": { "name": "d3-brush", "severity": "high", "isDirect": false, "via": [ "d3-interpolate", "d3-transition" ], "effects": [], "range": "0.1.0 - 2.1.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3-brush" ], "fixAvailable": true }, "d3-color": { "name": "d3-color", "severity": "high", "isDirect": false, "via": [ { "source": 1088594, "name": "d3-color", "dependency": "d3-color", "title": "d3-color vulnerable to ReDoS", "url": "https://github.com/advisories/GHSA-36jr-mh4h-2g58", "severity": "high", "cwe": [ "CWE-400" ], "cvss": { "score": 0, "vectorString": null }, "range": "<3.1.0" } ], "effects": [ "d3", "d3-interpolate", "d3-scale-chromatic", "d3-transition" ], "range": "<3.1.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3-color" ], "fixAvailable": { "name": "mermaid", "version": "11.6.0", "isSemVerMajor": true } }, "d3-interpolate": { "name": "d3-interpolate", "severity": "high", "isDirect": false, "via": [ "d3-color" ], "effects": [ "d3-brush", "d3-scale", "d3-scale-chromatic", "d3-transition", "d3-zoom" ], "range": "0.1.3 - 2.0.1", "nodes": [ "node_modules/dagre-d3/node_modules/d3-interpolate" ], "fixAvailable": true }, "d3-scale": { "name": "d3-scale", "severity": "high", "isDirect": false, "via": [ "d3-interpolate" ], "effects": [], "range": "0.1.5 - 3.3.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3-scale" ], "fixAvailable": true }, "d3-scale-chromatic": { "name": "d3-scale-chromatic", "severity": "high", "isDirect": false, "via": [ "d3-color", "d3-interpolate" ], "effects": [], "range": "0.1.0 - 2.0.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3-scale-chromatic" ], "fixAvailable": true }, "d3-transition": { "name": "d3-transition", "severity": "high", "isDirect": false, "via": [ "d3-color", "d3-interpolate" ], "effects": [], "range": "0.0.7 - 2.0.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3-transition" ], "fixAvailable": true }, "d3-zoom": { "name": "d3-zoom", "severity": "high", "isDirect": false, "via": [ "d3-interpolate", "d3-transition" ], "effects": [], "range": "0.0.2 - 2.0.0", "nodes": [ "node_modules/dagre-d3/node_modules/d3-zoom" ], "fixAvailable": true }, "dagre-d3": { "name": "dagre-d3", "severity": "high", "isDirect": false, "via": [ "d3" ], "effects": [ "mermaid" ], "range": ">=0.5.0", "nodes": [ "node_modules/dagre-d3" ], "fixAvailable": { "name": "mermaid", "version": "11.6.0", "isSemVerMajor": true } }, "dompurify": { "name": "dompurify", "severity": "critical", "isDirect": false, "via": [ { "source": 1099597, "name": "dompurify", "dependency": "dompurify", "title": "DOMPurify allows tampering by prototype pollution", "url": "https://github.com/advisories/GHSA-mmhx-hmjr-r674", "severity": "high", "cwe": [ "CWE-1321", "CWE-1333" ], "cvss": { "score": 7, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L" }, "range": "<2.5.4" }, { "source": 1100056, "name": "dompurify", "dependency": "dompurify", "title": "DOMpurify has a nesting-based mXSS", "url": "https://github.com/advisories/GHSA-gx9m-whjm-85jf", "severity": "high", "cwe": [ "CWE-79" ], "cvss": { "score": 10, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:H" }, "range": "<2.5.0" }, { "source": 1100324, "name": "dompurify", "dependency": "dompurify", "title": "DOMPurify vulnerable to tampering by prototype polution", "url": "https://github.com/advisories/GHSA-p3vf-v8qc-cwcr", "severity": "critical", "cwe": [ "CWE-1321" ], "cvss": { "score": 9.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N" }, "range": "<2.4.2" }, { "source": 1102259, "name": "dompurify", "dependency": "dompurify", "title": "DOMPurify allows Cross-site Scripting (XSS)", "url": "https://github.com/advisories/GHSA-vhxf-7vqr-mrjg", "severity": "moderate", "cwe": [ "CWE-79" ], "cvss": { "score": 4.5, "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N" }, "range": "<3.2.4" } ], "effects": [ "mermaid" ], "range": "<=3.2.3", "nodes": [ "node_modules/dompurify" ], "fixAvailable": { "name": "mermaid", "version": "11.6.0", "isSemVerMajor": true } }, "mermaid": { "name": "mermaid", "severity": "high", "isDirect": true, "via": [ "@braintree/sanitize-url", { "source": 1092622, "name": "mermaid", "dependency": "mermaid", "title": "Possible inject arbitrary `CSS` into the generated graph affecting the container HTML", "url": "https://github.com/advisories/GHSA-x3vm-38hw-55wf", "severity": "moderate", "cwe": [ "CWE-74", "CWE-79" ], "cvss": { "score": 4.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N" }, "range": ">=8.0.0 <9.1.2" }, { "source": 1100231, "name": "mermaid", "dependency": "mermaid", "title": "Prototype pollution vulnerability found in Mermaid's bundled version of DOMPurify", "url": "https://github.com/advisories/GHSA-m4gq-x24j-jpmf", "severity": "high", "cwe": [ "CWE-1321", "CWE-1395" ], "cvss": { "score": 7, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:L" }, "range": "<=10.9.2" }, "dagre-d3", "dompurify" ], "effects": [], "range": "<=10.9.2", "nodes": [ "node_modules/mermaid" ], "fixAvailable": { "name": "mermaid", "version": "11.6.0", "isSemVerMajor": true } }, "nanoid": { "name": "nanoid", "severity": "moderate", "isDirect": false, "via": [ { "source": 1101163, "name": "nanoid", "dependency": "nanoid", "title": "Predictable results in nanoid generation when given non-integer values", "url": "https://github.com/advisories/GHSA-mwcw-c2x4-8c55", "severity": "moderate", "cwe": [ "CWE-835" ], "cvss": { "score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N" }, "range": "<3.3.8" } ], "effects": [], "range": "<3.3.8", "nodes": [ "node_modules/nanoid" ], "fixAvailable": true }, "nomnom": { "name": "nomnom", "severity": "critical", "isDirect": false, "via": [ "underscore" ], "effects": [], "range": ">=1.6.0", "nodes": [ "node_modules/nomnom" ], "fixAvailable": true }, "underscore": { "name": "underscore", "severity": "critical", "isDirect": false, "via": [ { "source": 1095097, "name": "underscore", "dependency": "underscore", "title": "Arbitrary Code Execution in underscore", "url": "https://github.com/advisories/GHSA-cf4h-3jhx-xvhq", "severity": "critical", "cwe": [ "CWE-94" ], "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": ">=1.3.2 <1.12.1" } ], "effects": [ "nomnom" ], "range": "1.3.2 - 1.12.0", "nodes": [ "node_modules/underscore" ], "fixAvailable": true } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 4, "high": 11, "critical": 3, "total": 18 }, "dependencies": { "prod": 90, "dev": 624, "optional": 7, "peer": 1, "peerOptional": 0, "total": 713 } } } --- 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: 38 installs, 0 updates, 0 removals - Locking composer/pcre (3.3.2) - Locking composer/semver (3.4.3) - Locking composer/spdx-licenses (1.5.8) - Locking composer/xdebug-handler (3.0.5) - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0) - Locking doctrine/deprecations (1.1.5) - Locking felixfbecker/advanced-json-rpc (v3.2.1) - Locking mediawiki/mediawiki-codesniffer (v45.0.0) - Locking mediawiki/mediawiki-phan-config (0.14.0) - Locking mediawiki/minus-x (1.1.3) - Locking mediawiki/phan-taint-check-plugin (6.0.0) - Locking microsoft/tolerant-php-parser (v0.1.2) - Locking netresearch/jsonmapper (v4.5.0) - Locking phan/phan (5.4.3) - 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.2.1) - Locking phpcsstandards/phpcsutils (1.0.12) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.6.2) - Locking phpdocumentor/type-resolver (1.10.0) - Locking phpstan/phpdoc-parser (2.1.0) - Locking psr/container (2.0.2) - Locking psr/log (3.0.2) - Locking sabre/event (5.1.7) - Locking squizlabs/php_codesniffer (3.10.3) - Locking symfony/console (v7.2.6) - Locking symfony/deprecation-contracts (v3.5.1) - Locking symfony/polyfill-ctype (v1.32.0) - Locking symfony/polyfill-intl-grapheme (v1.32.0) - Locking symfony/polyfill-intl-normalizer (v1.32.0) - Locking symfony/polyfill-mbstring (v1.32.0) - Locking symfony/polyfill-php80 (v1.32.0) - Locking symfony/service-contracts (v3.5.1) - Locking symfony/string (v7.2.6) - Locking tysonandre/var_representation_polyfill (0.1.3) - Locking webmozart/assert (1.11.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 38 installs, 0 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Installing squizlabs/php_codesniffer (3.10.3): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive - Installing composer/pcre (3.3.2): Extracting archive - Installing symfony/polyfill-php80 (v1.32.0): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive - Installing symfony/polyfill-mbstring (v1.32.0): Extracting archive - Installing composer/spdx-licenses (1.5.8): Extracting archive - Installing composer/semver (3.4.3): Extracting archive - Installing mediawiki/mediawiki-codesniffer (v45.0.0): Extracting archive - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.32.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.32.0): Extracting archive - Installing symfony/polyfill-ctype (v1.32.0): Extracting archive - Installing symfony/string (v7.2.6): Extracting archive - Installing symfony/deprecation-contracts (v3.5.1): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.5.1): Extracting archive - Installing symfony/console (v7.2.6): Extracting archive - Installing sabre/event (5.1.7): Extracting archive - Installing netresearch/jsonmapper (v4.5.0): Extracting archive - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive - Installing webmozart/assert (1.11.0): Extracting archive - Installing phpstan/phpdoc-parser (2.1.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing doctrine/deprecations (1.1.5): Extracting archive - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.6.2): Extracting archive - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive - Installing psr/log (3.0.2): Extracting archive - Installing composer/xdebug-handler (3.0.5): 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 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 0/36 [>---------------------------] 0% 20/36 [===============>------------] 55% 30/36 [=======================>----] 83% 36/36 [============================] 100% Generating autoload files 16 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 --- Traceback (most recent call last): File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 2026, 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 1961, in run plan = planner.check(repo) ^^^^^^^^^^^^^^^^^^^ File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/httpplan.py", line 38, in check resp.raise_for_status() File "/venv/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 502 Server Error: Bad Gateway for url: https://libup.wmcloud.org/plan.json?repository=mediawiki%2Fskins%2F2018&branch=master