registry  /  @hasna/loops  /  0.3.60

@hasna/loops@0.3.60

Persistent local loop and workflow runner for deterministic commands and headless AI coding agents

Static Scan Results

scanned 4d ago · by rust-scanner

Static analysis completed at 65.0% confidence. No malicious behavior was detected; 8 low-signal pattern(s) were surfaced and cleared.

Static reason
No blocking static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemShell
Supply chain
HighEntropyStringsUrlStrings
Manifest
WildcardDependency
scanned 6 file(s), 1.70 MB of source, external domains: github.com, registry.npmjs.org

Source & flagged code

1 flagged · loading source
dist/cli/index.jsView file
23function dataDir() { L24: return process.env.LOOPS_DATA_DIR || join(homedir(), ".hasna", "loops"); L25: } ... L715: archivedFromStatus: row.archived_from_status ? row.archived_from_status : undefined, L716: schedule: JSON.parse(row.schedule_json), L717: target: JSON.parse(row.target_json), ... L745: pid: row.pid ?? undefined, L746: exitCode: row.exit_code ?? undefined, L747: durationMs: row.duration_ms ?? undefined, ... L955: } L956: function ensurePrivateStorePath(file) { L957: const dir = dirname(file);
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

dist/cli/index.jsView on unpkg · L23

Findings

3 Medium5 Low
MediumEnvironment Vars
MediumInstall Persistencedist/cli/index.js
MediumWildcard Dependency
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings