@gjsify/cli
CLI for Gjsify
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source, so a manually published version cannot be tied back to a reviewed commit.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| phantom-deps | phantom-dep:@gjsify/buffer | AI (phantom-deps): Same-org dep likely consumed transitively or in bundled output; stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:@gjsify/node-globals | AI (phantom-deps): Same-org dep; stable false positive for this package. | ai | |
| source-diff | obfuscated-file:dist/cli.gjs.mjs | AI (source-diff): Minified GJS bundle with gi:// imports; bundled build output for GNOME JS runtime, not obfuscation. | ai | |
| source-diff | net-exec-file:dist/cli.gjs.mjs | AI (source-diff): Network (Soup HTTP) + dynamic loading is expected for a GJS build/install CLI tool. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Base64 decode used for hex conversion in flatpak sources command; no exfil destination. | ai | |
| typosquat | typosquat.levenshtein:joi | AI (typosquat): Scoped package @gjsify/cli; Levenshtein match to 'joi' is a false positive with no brand confusion. | ai | |
| phantom-deps | phantom-dep:@gjsify/resolve-npm | AI (phantom-deps): Same-org dep; may be used transitively or conditionally — stable false positive for this package. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): env-spread in a subprocess launcher (runGjsBundle) is expected; passes env to child process, not exfiltrating. | ai | |
| phantom-deps | phantom-dep:@gjsify/web-polyfills | AI (phantom-deps): Same-org dep; polyfill likely injected at build/bundle time rather than directly imported. | ai | |
| phantom-deps | phantom-dep:@gjsify/node-polyfills | AI (phantom-deps): Same-org dep; polyfill likely injected at build/bundle time rather than directly imported. | ai |
Versions (showing 20 of 20)
| Version | Deps | Published |
|---|---|---|
| 0.14.0 | 18 / 3 | |
| 0.4.21 | 17 / 3 | |
| 0.4.11 | 17 / 3 | |
| 0.4.10 | 17 / 3 | |
| 0.4.9 | 17 / 3 | |
| 0.4.5 | 17 / 3 | |
| 0.4.4 | 17 / 3 | |
| 0.4.3 | 17 / 3 | |
| 0.4.0 | 15 / 3 | |
| 0.3.21 | 14 / 2 | |
| 0.3.20 | 14 / 2 | |
| 0.3.6 | 10 / 2 | |
| 0.1.7 | 54 / 2 | |
| 0.1.6 | 54 / 2 | |
| 0.1.5 | 54 / 2 | |
| 0.1.4 | 54 / 2 | |
| 0.1.3 | 54 / 2 | |
| 0.1.2 | 8 / 2 | |
| 0.1.1 | 6 / 2 | |
| 0.1.0 | 6 / 2 |
v0.14.0
4 findingsThis version was published by a different npm account than previous versions on 2026-06-29. This could indicate a legitimate maintainer transition or an account compromise.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added file contains both network calls and dynamic code execution. This is a hallmark of dropper/loader malware.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.