← Home

wru

sync and async JavaScript tests have never been that easy

17
Versions
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures gitHead linked

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

webreflection

Keywords

testgeneralpurposeasyncsyncasynchronousphantomrhinobrowser

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
source-diff net-exec-file:build/wru.dom.js AI (source-diff): DOM-specific build of the wru test framework. Dynamic code execution patterns are part of the test runner's assertion/async mechanism, not malware. ai
source-diff obfuscated-file:build/template.phantom.js AI (source-diff): Minified PhantomJS build artifact of the wru test framework. Standard minification, not malicious obfuscation. ai
source-diff obfuscated-file:build/wru.console.js AI (source-diff): Minified console build of the wru test framework. Standard minification with clear copyright headers from known author. ai
source-diff net-exec-file:build/wru.console.max.js AI (source-diff): Unminified build artifact with timer polyfills for Rhino/Node. No actual external network calls — patterns are Rhino Java interop and Node require(). Legitimate test framework code. ai
source-diff obfuscated-file:build/template.js AI (source-diff): Minified build artifact of the wru test framework by known author @WebReflection. Not obfuscated malware — standard minification of legitimate test runner code. ai
semgrep semgrep:child-process-import AI (semgrep): child_process usage is in builder/JSBuilder.js (a build tool script), not runtime code. Expected for a build pipeline in a test framework. ai
semgrep semgrep:eval-usage AI (semgrep): eval() is in wru.debug — an explicitly documented debug utility for inspecting internals. Intentional and scoped to non-production debug mode in a test framework. ai
semgrep semgrep:dynamic-require AI (semgrep): The dynamic require resolves a hardcoded local filename via path.join(__dirname, ...) — deterministic and safe; not arbitrary module loading. Stable false positive for this package. ai

Versions (showing 17 of 17)

Version Deps Published
0.3.0 0 / 0
0.2.7 0 / 0
0.2.6 0 / 0
0.2.5 0 / 0
0.2.4 0 / 0
0.2.3 0 / 0
0.2.2 0 / 0
0.2.1 0 / 0
0.2.0 0 / 0
0.1.9 0 / 0
0.1.8 0 / 0
0.1.7 0 / 0
0.1.5 0 / 0
0.1.4 0 / 0
0.1.3 0 / 0
0.1.2 0 / 0
0.1.0 0 / 0

v0.3.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.7

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.6

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.5

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.4

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.0

6 findings
HIGH New obfuscated file: build/template.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New obfuscated file: build/template.phantom.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New obfuscated file: build/wru.console.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New file with network + code execution: build/wru.console.max.js source-diff

Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.

HIGH New file with network + code execution: build/wru.dom.js source-diff

Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.9

6 findings
HIGH New obfuscated file: build/template.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New obfuscated file: build/template.phantom.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New obfuscated file: build/wru.console.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New file with network + code execution: build/wru.console.max.js source-diff

Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.

HIGH New file with network + code execution: build/wru.dom.js source-diff

Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.8

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.7

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.5

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.4

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.