Summary
strawpot v0.1.81 was classified as CRITICAL RISK with a risk score of 1865. Sigil detected 114 findings across 76 files, covering phases including code patterns, install hooks, network exfiltration, provenance. Review the findings below before installing this package.
Package description: Lightweight CLI for agent orchestration
v0.1.81
25 March 2026, 06:37 UTC
by Sigil Bot
Risk Score
1865
Findings
114
Files Scanned
76
Provenance
Findings 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
strawpot-0.1.81/src/strawpot/cli.py:424
# Pattern: curl [flags] <URL> | sh [args]
_CURL_PIPE_SH_RE = re.compile(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
strawpot-0.1.81/src/strawpot/cli.py:456
1. ``metadata.strawpot.install.<os>`` from AGENT.md — if the command
is a ``curl ... | sh`` pipeline, download the script with Python's
stdlib urllib and pipe it to ``sh``, eliminating the ``curl``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
strawpot-0.1.81/tests/test_agents_registry.py:324
install:
macos: curl -fsSL https://example.com/install.sh | sh
linux: curl -fsSL https://example.com/install.sh | shWhy 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
strawpot-0.1.81/tests/test_agents_registry.py:325
macos: curl -fsSL https://example.com/install.sh | sh
linux: curl -fsSL https://example.com/install.sh | sh
tools: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
strawpot-0.1.81/tests/test_agents_registry.py:423
"bin": {"macos": "missing-binary"},
"install": {"macos": "curl -fsSL https://example.com/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
strawpot-0.1.81/tests/test_cli_bootstrap.py:934
def test_authenticate_agent_login_session(mock_resolve, mock_runtime_cls, mock_prompt, mock_echo):
"""Choice 1 runs WrapperRuntime.setup() for login session."""
spec = _make_spec()Why 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
strawpot-0.1.81/tests/test_cli_bootstrap.py:122
" install:\n"
" macos: curl -fsSL https://example.com/install.sh | sh\n"
" linux: curl -fsSL https://example.com/install.sh | sh\n"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
strawpot-0.1.81/tests/test_cli_bootstrap.py:123
" macos: curl -fsSL https://example.com/install.sh | sh\n"
" linux: curl -fsSL https://example.com/install.sh | sh\n"
"---\n"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
strawpot-0.1.81/tests/test_cli_bootstrap.py:176
def test_curl_regex_matches_standard_curl_pipe_sh():
"""Matches standard curl -fsSL <url> | sh."""
m = _CURL_PIPE_SH_RE.match("curl -fsSL https://example.com/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-makefile-curl
HIGHMakefile/script pipes remote content to shell
strawpot-0.1.81/tests/test_cli_bootstrap.py:177
"""Matches standard curl -fsSL <url> | sh."""
m = _CURL_PIPE_SH_RE.match("curl -fsSL https://example.com/install.sh | sh")
assert m is not NoneWhy 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
strawpot-0.1.81/tests/test_cli_bootstrap.py:184
"""Matches curl with different flags."""
m = _CURL_PIPE_SH_RE.match("curl -sL https://example.com/install.sh | sh")
assert m is not NoneWhy 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
strawpot-0.1.81/tests/test_cli_bootstrap.py:191
"""Does not match non-curl commands."""
m = _CURL_PIPE_SH_RE.match("wget -q https://example.com/install.sh | sh")
assert m is NoneWhy 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
strawpot-0.1.81/tests/test_cli_bootstrap.py:267
" install:\n"
" macos: curl -fsSL https://example.com/install.sh | sh\n"
" linux: curl -fsSL https://example.com/install.sh | sh\n"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
strawpot-0.1.81/tests/test_cli_bootstrap.py:268
" macos: curl -fsSL https://example.com/install.sh | sh\n"
" linux: curl -fsSL https://example.com/install.sh | sh\n"
"---\n"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.
Badge
Markdown
[](https://sigilsec.ai/scans/AAE30E06-E535-45C9-8843-EB94852EDACD)HTML
<a href="https://sigilsec.ai/scans/AAE30E06-E535-45C9-8843-EB94852EDACD"><img src="https://sigilsec.ai/badge/pypi/strawpot" 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 pypi scans
Believe this result is incorrect? Request a review or see our Terms of Service and Methodology.