registry  /  @morphy-agent/channel-telegram  /  0.6.1

@morphy-agent/channel-telegram@0.6.1

Telegram channel adapter for Morphy — inline keyboards, media types, streaming

AI Security Review

scanned 3h ago · by lpm-firewall-ai

The package is a thin installer/launcher for a native Telegram channel adapter binary. The unresolved risk is install-time retrieval of an executable whose integrity is checked only against a checksum file from the same release source.

Static reason
One or more suspicious static signals were detected.
Trigger
npm install postinstall, or user runs channel-telegram CLI
Impact
A compromised or malicious GitHub release asset could place executable code into the package bin path; no confirmed credential theft or persistence was found in inspected JS source.
Mechanism
postinstall remote native binary download and CLI execution wrapper
Attack narrative
On install, install.js selects a platform-specific binary name, downloads it from the package author's GitHub release, fetches sha256sums.txt from that same release, verifies the downloaded file, chmods it, and stores it under bin/channel-telegram. The package CLI then delegates to that native executable. The JS source does not show exfiltration, persistence, or foreign agent-surface mutation, but the install-time remote executable remains an unresolved supply-chain risk.
Rationale
Static source inspection found a package-aligned native binary installer, not concrete malicious behavior. Because executable code is fetched at install time and cannot be evaluated from the package source, this should warn rather than block.
Evidence
package.jsoninstall.jsbin/run.jsLICENSEbin/channel-telegrambin/channel-telegram.exe
Network endpoints3
github.com/deadraid/morphy-releases/releases/download/v0.6.1/<platform-binary>github.com/deadraid/morphy-releases/releases/download/v0.6.1/sha256sums.txtgithub.com/deadraid/morphy-releases/releases/tag/v0.6.1

Decision evidence

public snapshot
AI called this Suspicious at 78.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
  • package.json defines postinstall: node install.js
  • install.js downloads a platform executable during install from GitHub releases
  • install.js verifies against sha256sums.txt fetched from the same remote release, not a package-pinned checksum
  • install.js may execute an existing bin/channel-telegram with --version during install
  • bin/run.js invokes the downloaded executable with user CLI arguments
Evidence against
  • No code found reading process.env, home directories, credentials, or project files
  • No evidence of AI-agent control-surface writes such as MCP, Claude, Codex, or Cursor config
  • Writes are limited to package-local bin/channel-telegram executable paths
  • Network endpoints are package-aligned GitHub release URLs
  • No eval/vm/Function or dynamic require/import found
Behavioral surface
Source
ChildProcessCryptoFilesystemNetwork
Supply chain
UrlStrings
Manifest
NoLicense
scanned 2 file(s), 5.32 KB of source, external domains: github.com

Source & flagged code

2 flagged · loading source
package.jsonView file
scripts.postinstall = node install.js
High
Install Time Lifecycle Scripts

Package defines install-time lifecycle scripts.

package.jsonView on unpkg
scripts.postinstall = node install.js
Medium
Ambiguous Install Lifecycle Script

Install-time lifecycle script is not statically allowlisted and needs review.

package.jsonView on unpkg

Findings

1 High2 Medium4 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
LowScripts Present
LowFilesystem
LowUrl Strings
LowNo License