All timeago.js versions

timeago.js @4.1.2

rejected
This version was rejected. It did not pass GreenFlagged's security review and is not served by the registry. The findings and risk dispositions below explain why.
100
Risk Score
License
Yes
Install Scripts
0
Dependencies
23
Dev Dependencies
227.7 KB
Package Size
Published

Maintainers

alizurchikatool

Keywords

timeagodatetime*** time agodatejavascript timeago

Dev Dependencies (23)

PackageConstraintRegistry Status
jest ^24.9.0 auto_approved
husky ^3.0.5 auto_approved
eslint ^6.4.0 auto_approved
rimraf ^3.0.0 auto_approved
rollup ^1.23.1 auto_approved
ts-jest ^24.1.0 No greenflagged match
prettier ^1.18.2 auto_approved
cross-env ^5.1.3 No greenflagged match
size-limit ^0.18.0 No greenflagged match
typescript ^3.6.3 auto_approved
@types/jest ^24.0.18 No greenflagged match
jest-expect ^0.0.1 Not imported
lint-md-cli ^0.1.0 Not imported
lint-staged ^9.3.0 auto_approved
jest-electron ^0.1.7 Not imported
jest-date-mock ^1.0.5 auto_approved
@commitlint/cli ^8.2.0 No greenflagged match
rollup-plugin-uglify ^6.0.3 auto_approved
eslint-config-prettier ^6.3.0 auto_approved
rollup-plugin-typescript ^1.0.1 auto_approved
@typescript-eslint/parser ^2.3.1 auto_approved
rollup-plugin-node-resolve ^5.2.0 auto_approved
@typescript-eslint/eslint-plugin ^2.3.1 auto_approved

Changes from v4.0.2

Dependency Changes

Script Changes

+ preinstall

File Changes

1 added 0 removed 1 modified size delta: +486.9 KB

Risk Dispositions (6 applicable to this version, 0 other)

Accepted rules are downgraded to INFO on future analyses; rejected rules escalate to CRITICAL.

Rule Source Disposition Author Reason
install-script:preinstall install-scripts reject AI AI (install-scripts): Malicious preinstall running obfuscated payload; generalizes to this version and any similar future publish.
obfuscated-file:index.js source-diff reject AI AI (source-diff): Obfuscated 498KB index.js with env-spread credential harvesting; not legitimate for this package.
url-dep:@antv/setup npm-metadata reject AI AI (npm-metadata): SHA-pinned GitHub dep in optionalDependencies is a known attack vector for payload smuggling.
semgrep:env-spread semgrep reject AI AI (semgrep): Obfuscated code capturing process.env — credential theft indicator.
semgrep:obfuscation-while-true semgrep reject AI AI (semgrep): javascript-obfuscator output in a library that should be <1KB; malicious payload.
semgrep:obfuscation-hex-functions semgrep reject AI AI (semgrep): Hex-prefixed function names confirm javascript-obfuscator; not legitimate for this package.

SAST Findings (10)

HIGH Package has 'preinstall' script install-scripts

Script: bun run index.js

HIGH SHA-pinned github dependency (optionalDependencies): @antv/setup npm-metadata

Dependency '@antv/setup' in `optionalDependencies` points to 'github:antvis/G2#1916faa365f2788b6e193514872d51a242876569' instead of a registry version. URL dependencies bypass the registry and can be swapped at any time. A 40-character commit SHA in a dependency URL is a strong supply-chain signal — the 2026-05-11 TanStack/Mini Shai-Hulud attack used this exact shape in `optionalDependencies` to smuggle a malicious payload past lifecycle-script and OSV checks.

HIGH Missing gitHead — previous versions had it provenance

This version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: atool.

HIGH New obfuscated file: index.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 obfuscation-while-true: index.js:1 semgrep

while(!![]) loop is a signature of javascript-obfuscator output > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,

HIGH obfuscation-hex-functions: index.js:1 semgrep

Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,

HIGH obfuscation-hex-functions: index.js:1 semgrep

Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,

HIGH env-spread: index.js:1 semgrep

Spreading entire process.env into an object — may capture all secrets > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,

HIGH obfuscation-hex-functions: index.js:1 semgrep

Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,

LOW No provenance attestation provenance

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

Review Summary

Risk score: 100 (capped from 248). Findings: 9 high (+225), 2 medium (+20), 1 low (+3).

Published to npm: