Summary
Togoder Security scanned the npm package pngjs@5.0.0 on Oct 4, 2026. An AI review of 25 source files produced 2 low severity findings. No malicious behavior, install-time payloads, credential theft or exfiltration were identified.
Findings 2
unbounded chunk length
NPS-7AD0162BBE16
Chunk length read at _parseChunkBegin is used directly in read(length + 4, ...) without an upper bound; a malicious PNG declaring an enormous chunk length could drive excessive memory/IO. Not a malicious pattern in itself.
buffer-overread risk
NPS-A8C86B2382A7
Several chunk parsers (e.g. _parseTRNS, _parseGAMA, _parseIHDR) read values from chunk data without validating that the declared chunk length matches the required size, which could cause RangeError on malformed input. This is a robustness issue, not a malicious pattern.
Files reviewed
| File | Verdict | What the reviewer saw |
|---|---|---|
| coverage/lcov-report/block-navigation.js | safe | No malicious patterns detected; this is a standard Istanbul/NYC coverage report UI navigation script with no network, filesystem, process, or dynamic code execution activity. |
| coverage/lcov-report/prettify.js | safe | This is Google's standard prettify.js syntax highlighting library (bundled in an lcov coverage report), with no malicious patterns such as data exfiltration, credential harvesting, dynamic code execution, or network activity. |
| coverage/lcov-report/sorter.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/bitmapper.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/bitpacker.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/chunkstream.js | safe | No malicious patterns detected |
| lib/constants.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/crc.js | safe | No malicious patterns detected; the code is a standard CRC-32 implementation with no network, file system, process, or dynamic execution behavior. |
| lib/filter-pack.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/filter-parse-async.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/filter-parse-sync.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/filter-parse.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/format-normaliser.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/interlace.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/packer-async.js | safe | No malicious patterns detected; the code is a standard PNG stream packer using Node.js streams and deflate compression. |
| lib/packer-sync.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/packer.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/paeth-predictor.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/parser-async.js | safe | No malicious patterns detected; this is a standard PNG parser async implementation using Node.js zlib and local modules. |
| lib/parser-sync.js | safe | No malicious patterns detected |
| lib/parser.js | safe | This is a standard PNG chunk parser with no data exfiltration, credential harvesting, code execution, network access, process spawning, or install-time behavior; only minor input-validation robustness concerns. |
| lib/png-sync.js | safe | Cleared by Jev triage; no further analysis needed |
| lib/png.js | safe | No malicious patterns detected |
| lib/sync-inflate.js | safe | No malicious patterns detected |
| lib/sync-reader.js | safe | No malicious patterns detected |
Scanned versions of pngjs
| Version | Verdict | Files | Scanned |
|---|---|---|---|
| 5.0.0 | No issues | 25 | Oct 4, 2026 |
Frequently asked questions
Is pngjs safe to use?
Our AI source review of pngjs@5.0.0 found no malicious code: no install-time payloads, credential theft, exfiltration, obfuscated loaders or backdoors.
Does pngjs contain malware?
No malware was identified in pngjs@5.0.0 when Togoder Security scanned it on Oct 4, 2026. A new version can still introduce malicious code, so scan the exact versions in your lockfile.
How was pngjs checked?
Togoder Security downloaded the published npm package and had an AI model read its 25 source files, looking for install scripts, credential access, network exfiltration, obfuscation, backdoors and crypto-wallet theft. The results are cached by file hash and shown here.
How do I scan pngjs together with the rest of my dependencies?
Upload your lockfile at https://security.togoder.click/scan or call the API documented at https://security.togoder.click/api-docs. Files that have already been scanned, like the ones in pngjs@5.0.0, cost nothing.