sigchain-js
JavaScript library for interacting with the Theta Blockchain
This report shows the evidence for sigchain-js@1.0.1. 2 of 3 known versions are blocked or flagged. The newest version, 0.0.1-security, is allowed. See all versions.
AI Security Review
scanned 3mo ago · by lpm-firewall-aiThe package contains concrete import-time arbitrary payload execution in its published Node entrypoints. The behavior is concealed in build artifacts and is unrelated to the library's blockchain API purpose.
Decision evidence
public snapshot- `dist/sigchain-js.cjs.js` reads a CWD `node_modules/tchain-api/.../rsa.db` file at import time.
- The CJS entry decrypts that external file with hard-coded `hydra` and pipes it to detached `node`.
- `dist/sigchain-js.esm.js` decrypts `thedata`'s `desKey` and likewise spawns detached `node` at import time.
- `src/index.js` has no corresponding payload logic, showing distributed entrypoints diverge from source.
- `package.json` has no preinstall, install, or postinstall hook.
- Observed Theta RPC URLs are normal library configuration, not part of the execution chain.
Source & flagged code
10 flagged · loading sourceSource spawns a local helper that fetches and dynamically executes remote code.
dist/sigchain-js.cjs.jsView on unpkg · L18A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/sigchain-js.cjs.jsView on unpkg · L18Findings
Affected versions and remediation
This report applies to sigchain-js@1.0.1.
The versions list below shows the verdict for each recorded version.
- Avoid installing sigchain-js@1.0.1. 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: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.