Summary
ferodrigop/forge v2026-03-23 was classified as CRITICAL RISK with a risk score of 644. Sigil detected 36 findings across 131 files, covering phases including provenance, install hooks, code patterns, obfuscation. Review the findings below before installing this package.
Package description: Terminal MCP server for AI coding agents — spawn, manage, and monitor PTY sessions via the Model Context Protocol
v2026-03-23
24 March 2026, 00:21 UTC
by Sigil Bot
Risk Score
644
Findings
36
Files Scanned
131
Provenance
Repository
https://github.com/ferodrigop/forgeScanned From
https://github.com/ferodrigop/forge.gitFindings by Phase
Phase Ordering
Phases are ordered by criticality, with the most dangerous at the top. Click any phase header to expand or collapse its findings. Critical phases are expanded by default.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/README.md:58
```bash
curl -fsSL https://forgemcp.dev/install.sh | sh
```Why was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-pip-setup-exec
CRITICALsetup.py executes code at install time
repo/desktop/resources/vendor/xterm.min.js:7
*/
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}}(globalThis,(()=>(()=>{"use strict";var e={4567:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorWhy was this flagged?
This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/docs/RELEASING.md:90
- Verify `npm info forge-terminal-mcp version` shows the new version
- Verify `curl -fsSL https://forgemcp.dev/install.sh | sh` downloads the new binary
- Verify the GitHub release has all 4 binary assets (darwin-arm64, darwin-x64, linux-x64, linux-arm64)Why was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/install.sh:3
# Forge installer — downloads the latest standalone binary from GitHub Releases.
# Usage: curl -fsSL https://forgemcp.dev/install.sh | sh
set -eWhy was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/landing/docs/getting-started.html:200
<span class="text-glow select-none">$</span>
<code class="text-bright">curl -fsSL https://forgemcp.dev/install.sh | sh</code>
<button onclick="copyText('curl -fsSL https://forgemcp.dev/install.sh | sh', this)" class="text-muted hover:text-bright transition-colors ml-auto flex-shrink-0 opacity-0 group-hover:opacity-100" title="Copy">Why was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/landing/docs/getting-started.html:201
<code class="text-bright">curl -fsSL https://forgemcp.dev/install.sh | sh</code>
<button onclick="copyText('curl -fsSL https://forgemcp.dev/install.sh | sh', this)" class="text-muted hover:text-bright transition-colors ml-auto flex-shrink-0 opacity-0 group-hover:opacity-100" title="Copy">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2Why was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/landing/index.html:561
<div>
<span class="text-glow select-none">$ </span><span class="text-bright">curl -fsSL https://forgemcp.dev/install.sh | sh</span>
</div>Why was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/landing/index.html:563
</div>
<button onclick="copyText('curl -fsSL https://forgemcp.dev/install.sh | sh', this)" class="copy-btn text-muted opacity-60" title="Copy">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"/></svg>Why was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-makefile-curl
HIGHMakefile/script pipes remote content to shell
repo/landing/install.sh:3
# Forge installer — downloads the latest standalone binary from GitHub Releases.
# Usage: curl -fsSL https://forgemcp.dev/install.sh | sh
set -eWhy was this flagged?
A script or Makefile pipes content from a remote URL directly into a shell (curl | sh or wget | bash). This is inherently dangerous because the remote content can change at any time, and the command runs with the current user's permissions. Rated HIGH because it requires manual execution (unlike install hooks) but still executes arbitrary remote code.
install-npm-postinstall
CRITICALnpm lifecycle script — runs automatically on install
repo/package.json:22
"typecheck": "tsc --noEmit",
"postinstall": "chmod +x node_modules/node-pty/prebuilds/*/spawn-helper 2>/dev/null || true",
"prepublishOnly": "npm run build",Why was this flagged?
npm lifecycle scripts like postinstall run automatically during package installation with no user interaction required. This is the #1 attack vector for malicious npm packages — attackers embed data theft or backdoor installation in these hooks. Rated CRITICAL because code executes before the developer can review it.
Badge
Markdown
[](https://sigilsec.ai/scans/06A71751-12D7-4D29-B91F-C3DAE37B8965)HTML
<a href="https://sigilsec.ai/scans/06A71751-12D7-4D29-B91F-C3DAE37B8965"><img src="https://sigilsec.ai/badge/github/ferodrigop/forge" alt="Sigil Scan"></a>Run This Scan Yourself
Scan your own packages
Run Sigil locally to audit any package before it touches your codebase.
Early Access
Get cloud scanning, threat intel, and CI/CD integration.
Join 150+ developers on the waitlist.
Get threat intelligence and product updates
Security research, new threat signatures, and product updates. No spam.
Other github scans
Believe this result is incorrect? Request a review or see our Terms of Service and Methodology.