query-selector-shadow-dom
use querySelector syntax to search for nodes inside of (nested) shadow roots
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| semgrep | semgrep:steganography-image-eval | AI (semgrep): Reads own bundled UMD dist file for Playwright selector engine injection — standard browser automation pattern, not steganography. | ai | |
| semgrep | semgrep:new-function-constructor | AI (semgrep): Wraps package's own UMD bundle into Function for Playwright selector engine registration; input is self-authored code. | ai | |
| email-domain | unclaimed-email:georgegriff | AI (email-domain): Author field contains a username/handle, not an actual email with a registrable domain. False positive from field parsing. | ai |
Versions (showing 34 of 34)
| Version | Deps | Published |
|---|---|---|
| 1.0.1 | 0 / 24 | |
| 1.0.0 | 0 / 26 | |
| 0.8.0 | 0 / 25 | |
| 0.7.1 | 0 / 26 | |
| 0.7.0 | 0 / 26 | |
| 0.6.2 | 0 / 23 | |
| 0.6.1 | 0 / 23 | |
| 0.6.0 | 0 / 23 | |
| 0.5.0 | 0 / 21 | |
| 0.4.6 | 0 / 20 | |
| 0.4.5 | 0 / 20 | |
| 0.4.4 | 0 / 20 | |
| 0.4.2 | 0 / 20 | |
| 0.4.1 | 0 / 20 | |
| 0.4.0 | 0 / 20 | |
| 0.3.4 | 0 / 19 | |
| 0.3.3 | 0 / 18 | |
| 0.3.2 | 0 / 18 | |
| 0.3.1 | 0 / 18 | |
| 0.3.0 | 0 / 18 | |
| 0.2.5 | 0 / 18 | |
| 0.2.4 | 0 / 18 | |
| 0.2.3 | 0 / 18 | |
| 0.2.2 | 0 / 18 | |
| 0.2.1 | 0 / 18 | |
| 0.2.0 | 0 / 19 | |
| 0.1.0 | 1 / 18 | |
| 0.0.7 | 0 / 16 | |
| 0.0.6 | 0 / 16 | |
| 0.0.5 | 0 / 16 | |
| 0.0.4 | 0 / 16 | |
| 0.0.3 | 0 / 16 | |
| 0.0.2 | 0 / 16 | |
| 0.0.1 | 0 / 16 |
v1.0.1
5 findingsMaintainer email 'GeorgeGriff' uses domain 'georgegriff' which has no DNS records. An attacker could register this domain to hijack the maintainer identity.
Data read from image file then executed — steganography attack pattern Source: https://github.com/webdriverio/query-selector-shadow-dom/blob/2f6c4deb6a37c813483f0ca7c074b078f7d677c7/plugins/playwright/index.js#L6 4 | 5 | // load the library in UMD format which self executes and adds window.querySelectorShadowDom > 6 | const querySelectorShadowDomUMD = fs.readFileSync(path.resolve(__dirname, "../../dist/querySelectorShadowDom.js")) 7 | 8 | // a string because playwright does a .toString on a selector engine and we need to
Data read from image file then executed — steganography attack pattern Source: https://github.com/webdriverio/query-selector-shadow-dom/blob/2f6c4deb6a37c813483f0ca7c074b078f7d677c7/plugins/puppeteer/index.js#L4 2 | const path = require("path"); 3 | > 4 | const querySelectorShadowDomUMD = fs.readFileSync(path.resolve(__dirname, "../../dist/querySelectorShadowDom.js")) 5 | 6 | const QueryHandler = {
Data read from image file then executed — steganography attack pattern Source: https://github.com/webdriverio/query-selector-shadow-dom/blob/2f6c4deb6a37c813483f0ca7c074b078f7d677c7/plugins/webdriverio/index.js#L3 1 | const fs = require('fs'); 2 | const path = require('path'); > 3 | const querySelectorAllDeep = fs.readFileSync(path.resolve(__dirname, "../../dist/querySelectorShadowDom.js")) 4 | 5 | const selectorFunction = new Function('selector', 'element', `
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.0.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.8.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.7
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.