registry  /  homebridge-mammotion-ng  /  0.3.3

homebridge-mammotion-ng@0.3.3

Hybrid Homebridge plugin for Mammotion mowers (Luba, Yuka): Matter RVC + HomeKit trigger sensors + Abort switch, via PyMammotion

Static Scan Results

scanned 2d ago · by rust-scanner

Static analysis flagged 13 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
ChildProcessEnvironmentVarsFilesystemNetwork
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 13 file(s), 51.4 KB of source, external domains: api.github.com

Source & flagged code

5 flagged · loading source
package.jsonView file
scripts.postinstall = node ./scripts/bootstrap-python.js
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts/bootstrap-python.jsView file
22Manifest entrypoint (scripts.postinstall) carries capability families absent from dist/build output: environment+network, execution+network L22: const { join } = require('node:path'); L23: const { spawnSync } = require('node:child_process'); L24: const https = require('node:https'); L25: const os = require('node:os'); ... L31: L32: const root = join(__dirname, '..'); L33: const venvDir = join(root, '.python-bridge-venv'); L34: const standaloneDir = join(root, '.python-standalone'); L35: const isWin = process.platform === 'win32'; L36: const venvPython = isWin ? join(venvDir, 'Scripts', 'python.exe') : join(venvDir, 'bin', 'python'); ... L44: const r = spawnSync(python, ['-c', script], { encoding: 'utf8' }); L45: if (r.status !== 0 || !r.stdout) {
High
Entrypoint Build Divergence

Manifest entrypoint contains risky behavior absent from dist/build output.

scripts/bootstrap-python.jsView on unpkg · L22
22const { join } = require('node:path'); L23: const { spawnSync } = require('node:child_process'); L24: const https = require('node:https'); L25: const os = require('node:os'); ... L31: L32: const root = join(__dirname, '..'); L33: const venvDir = join(root, '.python-bridge-venv'); L34: const standaloneDir = join(root, '.python-standalone'); L35: const isWin = process.platform === 'win32'; L36: const venvPython = isWin ? join(venvDir, 'Scripts', 'python.exe') : join(venvDir, 'bin', 'python'); ... L44: const r = spawnSync(python, ['-c', script], { encoding: 'utf8' }); L45: if (r.status !== 0 || !r.stdout) {
High
Sandbox Evasion Gated Capability

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

scripts/bootstrap-python.jsView on unpkg · L22
matchType = previous_version_dangerous_delta matchedPackage = homebridge-mammotion-ng@0.3.1 matchedIdentity = npm:aG9tZWJyaWRnZS1tYW1tb3Rpb24tbmc:0.3.1 similarity = 0.846 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.

scripts/bootstrap-python.jsView on unpkg
dist/python/bridge.pyView file
path = dist/python/bridge.py kind = build_helper sizeBytes = 22672 magicHex = [redacted]
Medium
Ships Build Helper

Package ships non-JavaScript build or shell helper files.

dist/python/bridge.pyView on unpkg

Findings

4 High4 Medium5 Low
HighInstall Time Lifecycle Scriptspackage.json
HighEntrypoint Build Divergencescripts/bootstrap-python.js
HighSandbox Evasion Gated Capabilityscripts/bootstrap-python.js
HighPrevious Version Dangerous Deltascripts/bootstrap-python.js
MediumNetwork
MediumEnvironment Vars
MediumShips Build Helperdist/python/bridge.py
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings