markscan
This report shows the evidence for markscan@1.0.0, the only known version.
OpenSSF/OSV Malicious Advisory
imported 3mo ago · by OpenSSF/OSVOpenSSF/OSV advisory MAL-2026-10960 confirms this npm version as malicious.
Advisory
MAL-2026-10960
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in markscan (npm)
Details
The markscan package was published to the npm registry by user 'jonothhu' (maintainer email bruemleveroger@gmail.com) as one of 19 packages in a dependency-confusion campaign targeting the 'markscan', 'akrai', and 'iphouse' namespaces, published in both unscoped and scoped (@scope/name) forms so that a misconfigured resolver installs the public lookalike instead of an intended private/internal dependency. Each package self-describes as an 'AUTHORIZED SECURITY RESEARCH CANARY' (static token PATHC-CANARY-2026, contact farouqsa@proton.me), but ships an unconsented install-time beacon and provides no legitimate functionality.
The package declares a postinstall hook ("node postinstall.js") that executes automatically on npm install. The bundled postinstall.js collects host reconnaissance - the package/canary name, the static token 'PATHC-CANARY-2026', an event label, a UTC timestamp, the Node.js version, the current working directory, the platform, and os.hostname() - and exfiltrates it via HTTPS POST to a hardcoded anonymous dead-drop at https://webhook.site/129cb2ee-ba08-4b3c-989c-270dc0030350 (the same collector across all 19 packages). Request errors are swallowed.
The self-attestation of 'authorized security research' present in the package metadata is unverifiable and does not change the disposition: the package performs unconsented telemetry collection and exfiltration at install time to an anonymous collector, matching the behavior of a dependency-confusion reconnaissance beacon. Install-time behavior and the shared collector endpoint were confirmed by static analysis of a sample spanning all three namespaces and both scoped and unscoped variants.
---
## Source: amazon-inspector (cabd1904cc96cf1107115d9d76f4a53b29c7311f3755e79610bf72eae1c3d023) postinstall.js runs unconditionally on `npm install` and POSTs a JSON payload containing the installer's hostname, current working directory, platform, Node.js version, and a timestamp to a hardcoded webhook.site collector (https://webhook.site/129cb2ee-ba08-4b3c-989c-270dc0030350). The payload also carries a static token string ('PATHC-CANARY-2026'). The package's self-description as an 'authorized research canary' does not constitute installer consent — installers of markscan have not opted into the beacon, and host identifiers are transmitted to an author-controlled endpoint at install time.
References
Source & flagged code
0 flagged · loading sourceNo flagged code excerpts are attached to this scan.
Findings
1 High
HighOsv Malicious Advisory
Affected versions and remediation
This report applies to markscan@1.0.0.
The versions list below shows the verdict for each recorded version.
- Avoid installing markscan@1.0.0. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Source advisory published: .
This report uses published external intelligence. The advisory does not provide a separate source-code analysis for each listed version.
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.