registry  /  ringly  /  0.9.1

ringly@0.9.1

Ringly — native cross-platform notifications for Claude Code with i18n (pt-BR / en-US)

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 14 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessDynamicRequireEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsMinifiedUrlStrings
ManifestNo manifest risk signals triggered.
scanned 14 file(s), 560 KB of source, external domains: github.com, raw.githubusercontent.com, registry.npmjs.org

Source & flagged code

6 flagged · loading source
dist/hook.jsView file
1import {join,dirname,basename}from'path';import {fileURLToPath,pathToFileURL}from'url';import {appendFileSync,existsSync,readFileSync,mkdirSync,statSync,renameSync,writeFileSync,un... L2: `;try{let s=se();yt(dirname(s)),ht(s),appendFileSync(s,a,{encoding:"utf8"});}catch{try{let s=join(tmpdir(),"ringly-fallback.log");appendFileSync(s,a,{encoding:"utf8"});}catch{}}}fu...
High
Child Process

Package source references child process execution.

dist/hook.jsView on unpkg · L1
1import {join,dirname,basename}from'path';import {fileURLToPath,pathToFileURL}from'url';import {appendFileSync,existsSync,readFileSync,mkdirSync,statSync,renameSync,writeFileSync,un... L2: `;try{let s=se();yt(dirname(s)),ht(s),appendFileSync(s,a,{encoding:"utf8"});}catch{try{let s=join(tmpdir(),"ringly-fallback.log");appendFileSync(s,a,{encoding:"utf8"});}catch{}}}fu... L3: `)),{delivered:false,blocked:false,reason:"platform_not_implemented"}}r();var me=false;async function fe(e){return c.warn("macOS toast not implemented yet; planned for a future rel...
High
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution; review context before blocking.

dist/hook.jsView on unpkg · L1
1import {join,dirname,basename}from'path';import {fileURLToPath,pathToFileURL}from'url';import {appendFileSync,existsSync,readFileSync,mkdirSync,statSync,renameSync,writeFileSync,un... L2: `;try{let s=se();yt(dirname(s)),ht(s),appendFileSync(s,a,{encoding:"utf8"});}catch{try{let s=join(tmpdir(),"ringly-fallback.log");appendFileSync(s,a,{encoding:"utf8"});}catch{}}}fu... L3: `)),{delivered:false,blocked:false,reason:"platform_not_implemented"}}r();var me=false;async function fe(e){return c.warn("macOS toast not implemented yet; planned for a future rel...
High
Command Output Exfiltration

Source combines command execution, command-output handling, and outbound requests; review data flow before blocking.

dist/hook.jsView on unpkg · L1
dist/cli.jsView file
605"cli.doctor.check.node.hint": "Node 20 or newer is required. Upgrade from nodejs.org or via nvm/volta.", L606: "cli.doctor.check.powershell": "PowerShell", L607: "cli.doctor.check.powershell.unreachable": "PowerShell not reachable",
High
Shell

Package source references shell execution.

dist/cli.jsView on unpkg · L605
bin/ringly.jsView file
10L11: await import(pathToFileURL(resolve(distDir, entry)).href);
Medium
Dynamic Require

Package source references dynamic require/import behavior.

bin/ringly.jsView on unpkg · L10
plugin/assets/ringly.icoView file
path = plugin/assets/ringly.ico kind = high_entropy_blob sizeBytes = 23765 magicHex = [redacted]
High
Ships High Entropy Blob

Package ships high-entropy non-source blobs.

plugin/assets/ringly.icoView on unpkg

Findings

5 High4 Medium5 Low
HighChild Processdist/hook.js
HighShelldist/cli.js
HighSame File Env Network Executiondist/hook.js
HighCommand Output Exfiltrationdist/hook.js
HighShips High Entropy Blobplugin/assets/ringly.ico
MediumDynamic Requirebin/ringly.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings