registry  /  @seanyao/roll  /  4.707.1

@seanyao/roll@4.707.1

Roll — Roll out features with AI agents

Static Scan Results

scanned 3h ago · by rust-scanner

Static analysis flagged 19 finding(s) at 93.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.; previous stored version diff introduced dangerous source

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsEvalFilesystemNetworkShell
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 5 file(s), 312 KB of source, external domains: api.github.com
Oversized source lightweight scan
dist/roll.mjs12.2 MB file, sampled 256 KB
FilesystemChildProcessEnvironmentVarsEvalCryptoShellDynamicRequireHighEntropyStringsUrlStringsapi.github.com

Source & flagged code

11 flagged · loading source
package.jsonView file
scripts.postinstall = node scripts/postinstall-roll-capture.mjs
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
dist/postinstall.mjsView file
9// packages/cli/src/lib/roll-capture-install.ts L10: import { spawnSync } from "node:child_process"; L11: import {
High
Child Process

Package source references child process execution.

dist/postinstall.mjsView on unpkg · L9
315// packages/cli/src/lib/roll-capture-install.ts L316: var RELEASE_API = "https://api.github.com/repos/seanyao/roll-capture/releases/latest"; L317: var ASSET_NAME = "Roll-Capture.app.zip"; ... L323: function defaultRollCaptureInstallDeps() { L324: const platform = externalPlatformOverride(process.env["_ROLL_EXTERNAL_TOOLS_PLATFORM"]) ?? process.platform; L325: const execFile = (cmd, args, opts) => { L326: const r = spawnSync(cmd, [...args], { L327: cwd: opts?.cwd,
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/postinstall.mjsView on unpkg · L315
6const __filename = __rollFileURLToPath(import.meta.url); L7: const __dirname = __rollDirname(__filename); L8: L9: // packages/cli/src/lib/roll-capture-install.ts L10: import { spawnSync } from "node:child_process"; L11: import { ... L315: // packages/cli/src/lib/roll-capture-install.ts L316: var RELEASE_API = "https://api.github.com/repos/seanyao/roll-capture/releases/latest"; L317: var ASSET_NAME = "Roll-Capture.app.zip"; ... L323: function defaultRollCaptureInstallDeps() { L324: const platform = externalPlatformOverride(process.env["_ROLL_EXTERNAL_TOOLS_PLATFORM"]) ?? process.platform; L325: const execFile = (cmd, args, opts) => {
High
Sandbox Evasion Gated Capability

Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.

dist/postinstall.mjsView on unpkg · L6
matchType = previous_version_dangerous_delta matchedPackage = @seanyao/roll@4.703.2 matchedIdentity = npm:QHNlYW55YW8vcm9sbA:4.703.2 similarity = 1.000 summary = stored previous version shares package body but lacks this dangerous source file
High
Previous Version Dangerous Delta

This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.

dist/postinstall.mjsView on unpkg
4import { dirname as __rollDirname } from 'node:path'; L5: const require = __rollCreateRequire(import.meta.url); L6: const __filename = __rollFileURLToPath(import.meta.url);
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/postinstall.mjsView on unpkg · L4
6const __filename = __rollFileURLToPath(import.meta.url); L7: const __dirname = __rollDirname(__filename); L8: L9: // packages/cli/src/lib/roll-capture-install.ts L10: import { spawnSync } from "node:child_process"; L11: import { ... L315: // packages/cli/src/lib/roll-capture-install.ts L316: var RELEASE_API = "https://api.github.com/repos/seanyao/roll-capture/releases/latest"; L317: var ASSET_NAME = "Roll-Capture.app.zip"; ... L323: function defaultRollCaptureInstallDeps() { L324: const platform = externalPlatformOverride(process.env["_ROLL_EXTERNAL_TOOLS_PLATFORM"]) ?? process.platform; L325: const execFile = (cmd, args, opts) => {
Medium
Install Persistence

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

dist/postinstall.mjsView on unpkg · L6
647} L648: var optionalImport = new Function("specifier", "return import(specifier)"); L649: function enableNodeGlobalProxyFromEnv(env) {
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/postinstall.mjsView on unpkg · L647
lib/agent_usage/kimi_emit.pyView file
path = lib/agent_usage/kimi_emit.py kind = build_helper sizeBytes = 4309 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

lib/agent_usage/kimi_emit.pyView on unpkg
dist/roll.mjsView file
path = dist/roll.mjs kind = oversized_source_file sizeBytes = 12784550 magicHex = [redacted]
High
Oversized Source File

Package contains source files above the static scanner size ceiling.

dist/roll.mjsView on unpkg
path = dist/roll.mjs kind = oversized_cli_entrypoint sizeBytes = 12784550 magicHex = [redacted]
Medium
Oversized Cli Entrypoint

Package contains an oversized executable-looking CLI entrypoint.

dist/roll.mjsView on unpkg

Findings

7 High7 Medium5 Low
HighInstall Time Lifecycle Scriptspackage.json
HighChild Processdist/postinstall.mjs
HighShell
HighSame File Env Network Executiondist/postinstall.mjs
HighSandbox Evasion Gated Capabilitydist/postinstall.mjs
HighOversized Source Filedist/roll.mjs
HighPrevious Version Dangerous Deltadist/postinstall.mjs
MediumDynamic Requiredist/postinstall.mjs
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencedist/postinstall.mjs
MediumShips Build Helperlib/agent_usage/kimi_emit.py
MediumOversized Cli Entrypointdist/roll.mjs
MediumStructural Risk Force Deep Review
LowScripts Present
LowEvaldist/postinstall.mjs
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings