Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
46 of your 199 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 4.61s · analysis 39.43s · 8.6 MB · GitHub API rate-limit (preflight)

woocommerce/woocommerce-gateway-stripe

https://github.com/woocommerce/woocommerce-gateway-stripe · scanned 2026-06-05 15:06 UTC (5 days, 1 hour ago) · 10 languages

435 raw signals (191 security + 244 graph) 19th percentile · Javascript · large (100-500K LoC)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 5 days, 1 hour ago · v2 · 186 actionable findings from 2 signal sources. 127 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 60.0 0.15 9.00
security_score 28.4 0.25 7.10
testing_score 100.0 0.20 20.00
documentation_score 52.7 0.15 7.91
practices_score 100.0 0.15 15.00
code_quality 50.0 0.10 5.00
Overall 1.00 64.0
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Scan summary Quality grade C+ (64/100). Dimensions: security 28, maintainability 60. 191 findings (70 security). 160,181 lines analyzed.

Showing 145 of 186 actionable findings. 313 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

critical Security checks security secrets conf 0.95 14 occurrences Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
Gitleaks detected a committed secret or credential pattern.
8 files, 14 locations
tests/phpunit/class-wc-rest-stripe-account-keys-controller-test.php:75, 76, 98, 99, 121 (5 hits)
client/express-checkout/transformers/__tests__/wc-to-stripe.test.js:19, 75, 214 (3 hits)
tests/phpunit/admin/class-wc-rest-stripe-connection-tokens-controller-test.php:40
tests/phpunit/class-wc-stripe-checkout-sessions-ajax-handler-test.php:495
tests/phpunit/class-wc-stripe-payment-method-configurations-test.php:957
tests/phpunit/compat/dummy-data/subscription_renewal_response_authentication_required.json:155
tests/phpunit/compat/dummy-data/subscription_renewal_response_success.json:141
tests/phpunit/payment-methods/class-wc-stripe-upe-payment-gateway-test.php:4741
critical Security checks security secrets conf 0.95 2 occurrences Discovered a potential basic authorization token provided in a curl command, which could compromise the curl accessed resource.
Gitleaks detected a committed secret or credential pattern.
lines 39, 253
docs/api/README.md:39, 253 (2 hits)
critical Security checks security secrets conf 0.95 11 occurrences Found a Stripe Access Token, posing a risk to payment processing services and sensitive financial data.
Gitleaks detected a committed secret or credential pattern.
7 files, 11 locations
tests/phpunit/admin/class-wc-rest-stripe-settings-controller-test.php:82, 155, 199 (3 hits)
tests/phpunit/class-wc-stripe-payment-method-configurations-test.php:803, 958 (2 hits)
tests/phpunit/helpers/class-upe-test-helper.php:38, 41 (2 hits)
docs/api/README.md:312
tests/phpunit/admin/migrations/class-migrate-payment-methods-from-db-to-pmc-test.php:23
tests/phpunit/payment-methods/class-wc-stripe-upe-payment-gateway-test.php:4742
tests/phpunit/payment-methods/class-wc-stripe-upe-payment-method-test.php:940
low Security checks cicd CI/CD security conf 0.35 ✓ Repobility 6 occurrences Workflow references repository secrets in a pull_request workflow
Fork pull_request runs do not receive normal repository secrets on GitHub Actions. Review this as a reliability/intent signal, not as direct fork-secret exfiltration. Raise severity only for pull_request_target or another trusted-context path that runs untrusted PR code with secrets.
3 files, 6 locations
.github/workflows/ai-code-review.yml:16, 17 (2 hits)
.github/workflows/ci-extension-compat.yml:88, 103 (2 hits)
.github/workflows/ci-merge.yml:45, 61 (2 hits)
CI/CD securityworkflow secretsGitHub Actions
high Security checks security Secret conf 1.00 [SEC043] Secret stored in Odoo ir.config_parameter — broadly readable: ir.config_parameter is readable by any user with read access on the model — typically all internal users. Storing API keys, OAuth client secrets, or passwords there means any admin-account compromise, or any third-party module with broad read scope, exposes the credential. Odoo-specific instance of CWE-922 (insecure storage of sensitive info).
Move to environment variables (loaded at server start, not in DB): api_key = os.environ.get('STRIPE_API_KEY') Or use Odoo's dedicated 'res.config.settings' with restricted ACL: - Set groups='base.group_system' on the field - Use sudo() reads only from server-trusted code paths Or a secrets-ma…
includes/admin/class-wc-rest-stripe-tokens-controller.php:45
high Security checks software dependencies conf 0.88 basic-ftp: GHSA-rpmf-866q-6p89
basic-ftp allows a malicious FTP server to cause client-side denial of service via unbounded multiline control response buffering
package-lock.json
high Security checks software dependencies conf 0.90 ✓ Repobility Dockerfile FROM `wordpress:php7.4` not pinned by digest
`FROM wordpress:php7.4` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
docker/wordpress_xdebug/Dockerfile:1
high Security checks software dependencies conf 0.88 get-func-name: GHSA-4q6p-r6v2-jvc5
Chaijs/get-func-name vulnerable to ReDoS
package-lock.json
medium Security checks cicd CI/CD security conf 0.90 ✓ Repobility 2 occurrences GitHub Action is tag-pinned rather than SHA-pinned
Action `woocommerce/.github/.github/workflows/ai-code-review.yml` pinned to mutable ref `@trunk` uses a mutable tag or branch. Pin external actions to a reviewed full commit SHA when the workflow is security-sensitive.
lines 14
.github/workflows/ai-code-review.yml:14 (2 hits)
CI/CD securitySupply chainGitHub Actions
high Security checks software dependencies conf 0.88 path-to-regexp: GHSA-37ch-88jc-xwx2
path-to-regexp vulnerable to Regular Expression Denial of Service via multiple route parameters
package-lock.json
high Security checks software dependencies conf 0.88 semver: GHSA-c2qf-rxjj-qqgw
semver vulnerable to Regular Expression Denial of Service
package-lock.json
high Security checks software dependencies conf 0.88 ws: GHSA-3h5v-q93c-6h6q
ws affected by a DoS when handling a request with many HTTP headers
package-lock.json
high System graph security security conf 1.00 Insecure pattern 'exec_used' in tasks/release.js:50
Found a known-risky pattern (exec_used). Review and replace if possible.
tasks/release.js:50 Exec used
medium Security checks software dependencies conf 0.88 @babel/runtime-corejs2: GHSA-968p-4wvh-cqc8
Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups
package-lock.json
medium Security checks software dependencies conf 0.88 @babel/runtime: GHSA-968p-4wvh-cqc8
Babel has inefficient RegExp complexity in generated code with .replace when transpiling named capturing groups
package-lock.json
medium Security checks software Open redirect conf 1.00 3 occurrences [SEC046] Client-side open redirect — window.location = server-supplied URL: Assigning window.location from a server-supplied URL trusts the server endpoint to never return a hostile destination. If that endpoint is ever subverted (compromised admin, JSON injection, MITM on a webhook), users get redirected to a phishing site they trust because the original page is yours. CWE-601 (server-side OR client-side). Complement to server-side SEC030.
Validate the URL is same-origin or on an explicit allowlist before assignment: const u = new URL(serverUrl, location.href); if (u.origin !== location.origin && !ALLOWED.includes(u.host)) return; location.assign(u); Even better: have the server return a path (/checkout/done) instead of a full …
3 files, 3 locations
client/blocks/express-checkout/hooks.js:50
client/classic/upe/index.js:264
client/classic/upe/legacy-support.js:53
medium Security checks software dependencies conf 0.88 ajv: GHSA-2g4f-4pwh-qvx6
ajv has ReDoS when using `$data` option
package-lock.json
medium Security checks software dependencies conf 0.88 brace-expansion: GHSA-f886-m6hf-6m8v
brace-expansion: Zero-step sequence causes process hang and memory exhaustion
package-lock.json
medium Security checks cicd CI/CD security conf 0.90 Docker build context has no .dockerignore
Without .dockerignore, build context can include source history, local env files, dependencies, and generated artifacts.
.dockerignore CI/CD securitycontainers
high Security checks cicd CI/CD security conf 0.82 Docker final stage has no non-root USER
Docker images run as root unless the image or Dockerfile switches to a non-root user.
docker/wordpress_xdebug/Dockerfile:1 CI/CD securitycontainers
medium Security checks software dependencies conf 0.90 npm package `@automattic/color-studio` is 2 major version(s) behind (2.5.0 -> 4.1.0)
`@automattic/color-studio` is pinned/resolved at 2.5.0 but the latest stable release on the npm registry is 4.1.0 (2 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs …
package.json
medium Security checks software dependencies conf 0.90 npm package `@stripe/react-stripe-js` is 1 major version(s) behind (5.4.1 -> 6.6.0)
`@stripe/react-stripe-js` is pinned/resolved at 5.4.1 but the latest stable release on the npm registry is 6.6.0 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs r…
package.json
medium Security checks software dependencies conf 0.90 npm package `@stripe/stripe-js` is 1 major version(s) behind (8.6.0 -> 9.7.0)
`@stripe/stripe-js` is pinned/resolved at 8.6.0 but the latest stable release on the npm registry is 9.7.0 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs raise.
package.json
medium Security checks software dependencies conf 0.90 npm package `@testing-library/jest-dom` is 1 major version(s) behind (5.16.1 -> 6.9.1)
`@testing-library/jest-dom` is pinned/resolved at 5.16.1 but the latest stable release on the npm registry is 6.9.1 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PR…
package.json
medium Security checks software dependencies conf 0.90 npm package `@testing-library/react` is 2 major version(s) behind (14.3.1 -> 16.3.2)
`@testing-library/react` is pinned/resolved at 14.3.1 but the latest stable release on the npm registry is 16.3.2 (2 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs …
package.json
medium Security checks software dependencies conf 0.90 npm package `@testing-library/user-event` is 1 major version(s) behind (13.5.0 -> 14.6.1)
`@testing-library/user-event` is pinned/resolved at 13.5.0 but the latest stable release on the npm registry is 14.6.1 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update…
package.json
medium Security checks software dependencies conf 0.90 npm package `@types/react-dom` is 1 major version(s) behind (18.3.7 -> 19.2.3)
`@types/react-dom` is pinned/resolved at 18.3.7 but the latest stable release on the npm registry is 19.2.3 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs raise.
package.json
medium Security checks software dependencies conf 0.90 npm package `@woocommerce/dependency-extraction-webpack-plugin` is 1 major version(s) behind (3.1.0 -> 4.0.0)
`@woocommerce/dependency-extraction-webpack-plugin` is pinned/resolved at 3.1.0 but the latest stable release on the npm registry is 4.0.0 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Depen…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/api-fetch` is 2 major version(s) behind (5.2.6 -> 7.48.0)
`@wordpress/api-fetch` is pinned/resolved at 5.2.6 but the latest stable release on the npm registry is 7.48.0 (2 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs rai…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/babel-plugin-makepot` is 2 major version(s) behind (4.2.0 -> 6.48.0)
`@wordpress/babel-plugin-makepot` is pinned/resolved at 4.2.0 but the latest stable release on the npm registry is 6.48.0 (2 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-upd…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/babel-preset-default` is 2 major version(s) behind (6.17.0 -> 8.48.0)
`@wordpress/babel-preset-default` is pinned/resolved at 6.17.0 but the latest stable release on the npm registry is 8.48.0 (2 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-up…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/base-styles` is 3 major version(s) behind (6.7.0 -> 9.1.0)
`@wordpress/base-styles` is pinned/resolved at 6.7.0 but the latest stable release on the npm registry is 9.1.0 (3 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs ra…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/components` is 10 major version(s) behind (25.16.0 -> 35.0.0)
`@wordpress/components` is pinned/resolved at 25.16.0 but the latest stable release on the npm registry is 35.0.0 (10 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/data-controls` is 2 major version(s) behind (2.2.8 -> 4.48.0)
`@wordpress/data-controls` is pinned/resolved at 2.2.8 but the latest stable release on the npm registry is 4.48.0 (2 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs…
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/data` is 1 major version(s) behind (9.28.0 -> 10.48.0)
`@wordpress/data` is pinned/resolved at 9.28.0 but the latest stable release on the npm registry is 10.48.0 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs raise.
package.json
medium Security checks software dependencies conf 0.90 npm package `@wordpress/html-entities` is 1 major version(s) behind (3.58.0 -> 4.48.0)
`@wordpress/html-entities` is pinned/resolved at 3.58.0 but the latest stable release on the npm registry is 4.48.0 (1 major version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PR…
package.json
medium Security checks software dependencies conf 0.88 postcss: GHSA-7fh5-64p2-3v2j
PostCSS line return parsing error
package-lock.json
medium Security checks software dependencies conf 0.88 postcss: GHSA-qx2v-qp2m-jg93
PostCSS has XSS via Unescaped </style> in its CSS Stringify Output
package-lock.json
medium Security checks quality Quality conf 0.70 Public web app has no Content Security Policy
A Content Security Policy reduces the blast radius of injected scripts if the app is ever served through preview, static hosting, or a web container outside its normal sandbox.
index.html
medium Security checks quality Quality conf 0.78 Public web service has no security.txt
security.txt gives researchers and customers a safe disclosure channel. Public web apps and APIs should publish it under /.well-known/security.txt.
.well-known/security.txt
medium Security checks software dependencies conf 0.88 react-router: GHSA-9jcx-v3wj-wh4m
React Router has unexpected external redirect via untrusted paths
package-lock.json
medium Security checks quality Quality conf 0.78 Suspicious implementation file appears unreferenced
A file created as a fixed/new/final/copy variant is not referenced by imports or path-like strings in the rest of the repository. This is a strong sign that an agent produced code beside the active application path.
includes/compat/class-wc-stripe-subscriptions-legacy-sepa-token-update.php:1
medium Security checks software dependencies conf 0.88 uuid: GHSA-w5hq-g745-h8pq
uuid: Missing buffer bounds check in v3/v5/v6 when buf is provided
package-lock.json
medium Security checks software dependencies conf 0.88 webpack-dev-server: GHSA-4v9v-hfq4-rm2v
webpack-dev-server users' source code may be stolen when they access a malicious web site
package-lock.json
medium Security checks software dependencies conf 0.88 webpack-dev-server: GHSA-79cf-xcqc-c78w
webpack-dev-server vulnerable to cross-origin source code exposure on non-HTTPS origins
package-lock.json
medium Security checks software dependencies conf 0.88 webpack-dev-server: GHSA-9jgg-88mc-972h
webpack-dev-server users' source code may be stolen when they access a malicious web site with non-Chromium based browser
package-lock.json
medium Security checks software dependencies conf 0.88 ws: GHSA-58qx-3vcg-4xpx
ws: Uninitialized memory disclosure
package-lock.json
medium Security checks software dependencies conf 0.88 yaml: GHSA-48c2-rrv3-qjmp
yaml is vulnerable to Stack Overflow via deeply nested YAML collections
package-lock.json
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — client/blocks/checkout-sessions/checkout-form.js:146
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — client/blocks/upe/upe-deferred-intent-creation/payment-processor.js:403
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph hardware Security conf 1.00 Dockerfile runs as root: docker/wordpress_xdebug/Dockerfile
No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image.
Container
medium System graph cicd CI/CD security conf 1.00 GitHub Actions workflow grants broad write permissions
CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions.
.github/workflows/format-release-notes.yml CI/CD securitySupply chainGithub actions
medium System graph security security conf 1.00 Insecure pattern 'dangerous_innerhtml' in client/blocks/checkout-sessions/checkout-form.js:146
Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible.
client/blocks/checkout-sessions/checkout-form.js:146 Dangerous innerhtml
medium System graph security security conf 1.00 Insecure pattern 'dangerous_innerhtml' in client/blocks/upe/upe-deferred-intent-creation/payment-processor.js:403
Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible.
client/blocks/upe/upe-deferred-intent-creation/payment-processor.js:403 Dangerous innerhtml
low Security checks software dependencies conf 0.88 brace-expansion: GHSA-v6h2-p8h4-qcjw
brace-expansion Regular Expression Denial of Service vulnerability
package-lock.json
high Security checks cicd CI/CD security conf 0.56 Compose service does not declare a runtime user
If the image does not define USER internally, this service may run as root.
docker-compose.yml:21 CI/CD securitycontainers
high Security checks cicd CI/CD security conf 0.62 Compose service lacks no-new-privileges hardening
no-new-privileges prevents processes from gaining additional privileges through setuid binaries or file capabilities.
docker-compose.yml:21 CI/CD securitycontainers
low Security checks software dependencies conf 0.88 diff: GHSA-73rr-hh4g-fpgx
jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch
package-lock.json
low Security checks cicd CI/CD security conf 0.72 Dockerfile installs recommended OS packages
Installing recommended packages often pulls in unnecessary runtime surface area.
docker/wordpress_xdebug/Dockerfile:12 CI/CD securitycontainers
low Security checks cicd CI/CD security conf 0.74 Dockerfile leaves apt package indexes in the image layer
Package indexes increase image size and can expose stale metadata in the final image layer.
docker/wordpress_xdebug/Dockerfile:10 CI/CD securitycontainers
low Security checks quality Quality conf 0.60 30 occurrences Duplicated implementation block across source files
Duplicate implementation blocks are maintenance debt. Keep them visible, but they are not a high-severity defect unless the duplicated logic is security-sensitive or drifting.
12 files, 20 locations
includes/abilities/domain/class-wc-stripe-ability-get-balance.php:20, 21 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-charge.php:42, 45 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-charges.php:13, 55 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-dispute.php:48, 51 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-disputes.php:13, 55 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-payment-intent.php:41, 44 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-payout.php:25, 28 (2 hits)
includes/abilities/domain/class-wc-stripe-ability-get-payouts.php:13, 58 (2 hits)
duplicationquality
low Security checks quality Documentation No LICENSE file
Add a LICENSE file to your repository. Use choosealicense.com to pick the right license (MIT for permissive, Apache 2.0 for patent protection, GPL for copyleft).
low Security checks software dependencies conf 0.90 npm package `@babel/core` is minor version(s) behind (7.28.3 -> 7.29.7)
`@babel/core` is pinned/resolved at 7.28.3 but the latest stable release on the npm registry is 7.29.7 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs raise.
package.json
low Security checks software dependencies conf 0.90 npm package `@babel/eslint-parser` is minor version(s) behind (7.25.7 -> 7.29.7)
`@babel/eslint-parser` is pinned/resolved at 7.25.7 but the latest stable release on the npm registry is 7.29.7 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs rais…
package.json
low Security checks software dependencies conf 0.90 npm package `@babel/plugin-transform-optional-chaining` is minor version(s) behind (7.27.1 -> 7.29.7)
`@babel/plugin-transform-optional-chaining` is pinned/resolved at 7.27.1 but the latest stable release on the npm registry is 7.29.7 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot ve…
package.json
low Security checks software dependencies conf 0.90 npm package `@emotion/babel-plugin` is minor version(s) behind (11.3.0 -> 11.13.5)
`@emotion/babel-plugin` is pinned/resolved at 11.3.0 but the latest stable release on the npm registry is 11.13.5 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs ra…
package.json
low Security checks software dependencies conf 0.90 npm package `@emotion/react` is minor version(s) behind (11.4.1 -> 11.14.0)
`@emotion/react` is pinned/resolved at 11.4.1 but the latest stable release on the npm registry is 11.14.0 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs raise.
package.json
low Security checks software dependencies conf 0.90 npm package `@emotion/styled` is minor version(s) behind (11.3.0 -> 11.14.1)
`@emotion/styled` is pinned/resolved at 11.3.0 but the latest stable release on the npm registry is 11.14.1 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs raise.
package.json
low Security checks software dependencies conf 0.90 npm package `@woocommerce/eslint-plugin` is minor version(s) behind (2.2.0 -> 2.3.0)
`@woocommerce/eslint-plugin` is pinned/resolved at 2.2.0 but the latest stable release on the npm registry is 2.3.0 (minor version(s) behind). Outdated dependencies accumulate unpatched bugs and make future security upgrades harder. This is the version-currency signal Dependabot version-update PRs …
package.json
low Security checks quality Quality conf 0.64 Public docs site has no llms.txt
AI coding agents increasingly read llms.txt to find canonical docs and API workflows. Without it, agents are more likely to browse pages repeatedly or use stale instructions.
llms.txt
low Security checks quality Quality conf 0.50 Public web app has no humans.txt
humans.txt is optional, but it gives operators and reviewers a simple place to find ownership, contact, and important public documentation links.
humans.txt
low Security checks quality Quality conf 0.74 Public web app has no robots.txt
Public websites should publish a robots.txt file so crawlers and AI agents can discover crawl rules and sitemap locations without guessing.
robots.txt
low Security checks quality Quality conf 0.72 Public web app has no sitemap
A sitemap gives search engines, docs crawlers, and AI agents a structured list of public pages. Without one, important docs and product pages are easy to miss.
sitemap.xml
high Security checks quality Quality conf 0.62 Source file name looks like an AI patch artifact
Files named as final, fixed, copy, new, or backup are often temporary patch artifacts. They may be legitimate, but they deserve review before becoming production surface area.
includes/compat/class-wc-stripe-subscriptions-legacy-sepa-token-update.php:1
low Security checks software dependencies conf 0.88 webpack: GHSA-38r7-794h-5758
webpack buildHttp HttpUriPlugin allowedUris bypass via HTTP redirects → SSRF + cache persistence
package-lock.json
low Security checks software dependencies conf 0.88 webpack: GHSA-8fgc-7cc6-rx7x
webpack buildHttp: allowedUris allow-list bypass via URL userinfo (@) leading to build-time SSRF behavior
package-lock.json
low System graph hardware Coverage conf 1.00 Containers defined but no K8s/orchestration manifest found
Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo.
Deployment
low System graph hardware Supply chain conf 1.00 Docker base image is tag-pinned but not digest-pinned: wordpress:php7.4
Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter.
docker/wordpress_xdebug/Dockerfile:1 containersPinned dependencies
low System graph software Dead code candidate conf 1.00 File has no detected symbols: .eslintrc.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: .prettierrc.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: babel.config.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/components/amazon-pay-taxes-billing-address-notice/__tests__/amazon-pay-taxes-billing-address-notice.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/components/payment-method-fees-pill/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/components/payment-method-requires-card-method-pill/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/components/payment-method-unavailable-due-conflict-pill/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/optimized-checkout/__tests__/apply-styles.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/optimized-checkout/__tests__/handle-display-of-payment-instructions.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/payment-methods-map.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/__tests__/loadable-account-section.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/advanced-settings-section/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/advanced-settings-section/__tests__/optimized-checkout-feature.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/advanced-settings-section/__tests__/optimized-checkout-first-method-notice.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/card-body.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/card-footer.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/display-order-customization-notice/__tests__/display-order-customization-notice.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/general-settings-section/__tests__/get-formatted-payment-method-description.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/general-settings-section/__tests__/section-heading.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/oc-toggle/context.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/optimized-checkout-notice/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-gateway-manager/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-gateway-manager/constants.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-gateway-section/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-methods/__tests__/payment-methods.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/__tests__/account-details-section.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/__tests__/disconnect-stripe-confirmation-modal.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/__tests__/general-settings-section.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/constants.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/promotional-banner/__tests__/banner-layout.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/promotional-banner/__tests__/get-promotional-banner-type.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/promotional-banner/__tests__/oc-promotion-banner.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/promotional-banner/__tests__/stripe-tax-banner.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payment-settings/promotional-banner/banner-layout.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payments-and-transactions-section/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/payments-and-transactions-section/__tests__/manual-capture-control.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/save-payment-gateway-section/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/save-settings-section/__tests__/save-settings-section.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/settings-layout.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/settings-manager/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/settings/settings-section/__tests__/settings-section.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/stripe-utils/__tests__/get-stripe-dev-widget-options.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/stripe-utils/__tests__/utils.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/stripe-utils/copy-test-number.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/stripe-utils/type-defs.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/tracking/__tests__/index.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/utils/__tests__/dismiss-notice.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: client/utils/__tests__/get-payment-method-unavailable-reason.test.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: lint-staged.config.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: webpack.config.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph cicd CI/CD security conf 1.00 58 occurrences GitHub Action is tag-pinned rather than SHA-pinned
actions/checkout@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA.
12 files, 54 locations
.github/workflows/e2e-tests.yml:20, 37, 50, 63, 69, 100, 115 (13 hits)
.github/workflows/generate-zip.yml:12, 15, 23 (6 hits)
.github/workflows/validate-changelog.yml:16, 20, 33 (6 hits)
.github/workflows/php-tests.yml:28, 44, 89, 92, 98 (5 hits)
.github/workflows/php-code-coverage.yml:19, 33 (4 hits)
.github/workflows/run-e2e-tests.yml:31, 59 (4 hits)
.github/workflows/run-qit.yml:111, 355 (4 hits)
.github/workflows/phpstan.yml:48, 62, 73 (3 hits)
CI/CD securitySupply chainGitHub Actions
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `expressCheckoutAddToCartLegacy` in client/entrypoints/express-checkout/index.js:764
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `expressCheckoutGetCartDetailsLegacy` in client/api/index.js:520
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `fillCreditCardDetailsLegacy` in tests/e2e/utils/payments.js:241
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `maskDigitPosMapOld` in assets/js/jquery.mask.js:103
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `maskDigitPosMapOld` in assets/js/jquery.mask.min.js:1
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `pm_old` in client/express-checkout/__tests__/payment-flow.test.js:106
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph cicd CI/CD security conf 1.00 package.json defines install-time lifecycle scripts
preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access.
package.json CI/CD securitySupply chainNpm
low System graph frontend Frontend quality conf 1.00 React Flow <Controls> without dark theming — client/settings/settings-section/index.js:56
`<Controls>` ships with white buttons. Override `.react-flow__controls` and `.react-flow__controls-button` in your stylesheet or pass a styled wrapper. Why: P1 in CHECKLIST.md — vendor defaults bleed light through. Rule id: fq.controls.no-bg
Fq controls no bg
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — .github/scripts/compare-bundle-sizes.js:99
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — assets/js/stripe.js:11
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — assets/js/stripe.min.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — tasks/release.js:62
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — tests/e2e/config/global-setup-docker.js:33
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — tests/e2e/config/global-setup.js:109
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — tests/e2e/config/global-teardown.js:12
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — tests/e2e/utils/playwright-setup.js:49
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/ae3a17bb-2bf2-4fe7-9609-f7224bd7c8cb/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/ae3a17bb-2bf2-4fe7-9609-f7224bd7c8cb/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.