Skills/Glama/nullwire-mcp

nullwire-mcp@r1

BLOCKED· install only

Publisher claims: "Zero-dependency, RAM-only HTTP diagnostic proxy and MCP server in pure Go. It intercepts traffic in RAM and replaces secrets with salted SHA-256 correlation tags so AI agents can debug auth flows without credentials entering LLM contexts or touching disk." Observed in sandbox: sends data to release-assets.githubusercontent.com.

Registry GlamaPublisher voxnode-ux · publishing for 1 daysInstalls 0Last detonated 13 h ago

Coverage

Install scripts ran; no agent task scenario for this bundle.
Tested
install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

What this means for the label: Blocked here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.

Revoked: guards refuse to launch this version

confirmed incident: contacted release-assets.githubusercontent.com (undeclared) Every machine running vet-skills guard stops starting it at the next launch; the state clears when the honeypot re-run or a reviewer clears it.

Before you give it your token

It will ask for
GITHUB_TOKENNULLWIRE_AUTH_TOKENConfiguration, not credentials: CODEX_HOME, NULLWIRE_BASE_URL, NULLWIRE_CACHE_DIR, NULLWIRE_VERSION, NULLWIRE_VIA_NPM, PREFIX, SSL_CERT_DIR, SSL_CERT_FILE, TERMUX_VERSION
Where it talks to
no vendor host named in the codeAlso api.test, a.test, b.test, slack.com, zapier.com, ifttt.com, telegram.org, githubusercontent.com, httpbin.org — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · contacted release-assets.githubusercontent.com (undeclared)
What we could not test
use of the skill by an agent

Do not connect it. The honeypot or a critical finding blocked this version; the evidence is below.

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is nullwire-mcp@r1 safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-14 and scored it 39/100 (Blocked). Do not install it: the sandbox observed behaviour consistent with credential theft, exfiltration or persistence. Notable findings: Pipe-to-shell pattern; Access to sensitive file paths; Access to sensitive file paths. Summary: sends data to release-assets.githubusercontent.com.

Behavior trace

Honeypot run · 1 s · 2 scenarios
t+CategoryObserved action
0.0sprocessinstall script run in the sandbox
0.5snetworkCONNECT tcp://github.com:443
0.5snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
0.5sprocessexec /usr/bin/uname
0.5sprocessexec /usr/bin/mktemp
0.5sprocessexec /usr/bin/curl
0.5sprocessexec /usr/bin/rm
0.5sprocessexited 1: nullwire install: download failed: https://github.com/VoxNode-ux/nullwire-mcp/releases/download/latest/nullwire-linux-amd64
0.5sprocessscript backend runs setup only
0.5sprocessscript backend runs setup only
0.6sprocesssecond launch, clock +45 days, CI unset
0.8snetworkCONNECT tcp://github.com:443
0.8snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
0.8sprocessexec /usr/bin/uname
0.8sprocessexec /usr/bin/mktemp
0.8sprocessexec /usr/bin/curl
0.8sprocessexec /usr/bin/rm
0.8sprocessexited 1: nullwire install: download failed: https://github.com/VoxNode-ux/nullwire-mcp/releases/download/latest/nullwire-linux-amd64

Static findings

CRITICAL
Pipe-to-shell patternscripts/install.sh:5 · Pipe-to-shell pattern — downloads and immediately executes remote code# curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setupFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Access to sensitive file paths.pre-commit-hooks.yaml:29 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesfiles: '(?i)(^|/)(\.env[^/]*|[^/]*\.env|\.mcp\.json|mcp\.json|mcp_config\.json|claude_desktop_config\.json|[^/]*[-_]mcp\.json|[^/]*\.toml|[^/]*\.ya?ml)$'Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file paths.pre-commit-hooks.yaml:15 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdescription: Block commits that contain secrets in MCP configs, .env, TOML or YAML files.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
CRITICAL
Pipe-to-shell patternscripts/install.sh:47 · Pipe-to-shell pattern — downloads and immediately executes remote codecurl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setupFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Collapsed <details> block carrying instructionsREADME.md:93 · Collapsed <details> block carrying instructions<summary><b>macOS, Linux and Termux: install script</b></summary> ```bash curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/instFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Collapsed <details> block carrying instructionsREADME.md:102 · Collapsed <details> block carrying instructions<summary><b>Windows: install script</b></summary> ```powershell irm https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.ps1 | iex nulFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
CRITICAL
Pipe-to-shell patternscripts/install.sh:46 · Pipe-to-shell pattern — downloads and immediately executes remote codecurl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Collapsed <details> block carrying instructionsREADME.md:84 · Collapsed <details> block carrying instructions<summary><b>With Node.js (no install step): <code>npx</code></b></summary> ```bash npx -y nullwire-mcp install --client all ``` Nothing to download by hand: theFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Collapsed <details> block carrying instructionsREADME.md:151 · Collapsed <details> block carrying instructions<summary><b>Python, GitHub CLI, mise and asdf</b></summary> ```bash pipx run nullwire-mcp install --client all # or: pip install nullwire-mcp gh extension instaFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Collapsed <details> block carrying instructionsREADME.md:112 · Collapsed <details> block carrying instructions<summary><b>Short install URL (GitHub Pages)</b></summary> ```bash curl -fsSL https://voxnode-ux.github.io/nullwire-mcp/install.sh | sh -s -- --setup ``` ```powFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Collapsed <details> block carrying instructionsREADME.md:124 · Collapsed <details> block carrying instructions<summary><b>Linux packages and distributions</b></summary> ```bash # Debian, Ubuntu: download the .deb from the release page, then sudo apt install ./nullwire-mFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
CRITICAL
Pipe-to-shell patternscripts/install.sh:4 · Pipe-to-shell pattern — downloads and immediately executes remote code# curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
HIGH
Access to sensitive file paths.pre-commit-hooks.yaml:18 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesfiles: '(?i)(^|/)(\.env[^/]*|[^/]*\.env|\.mcp\.json|mcp\.json|mcp_config\.json|claude_desktop_config\.json|[^/]*[-_]mcp\.json|[^/]*\.toml|[^/]*\.ya?ml)$'Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagenpm/bin/nullwire-mcp.js:11 · npx invocation of non-well-known package — may execute untrusted code// npx -y nullwire-mcp run the serverFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsinternal/scan/scan.go:277 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filespaths = append(paths, ".mcp.json", filepath.Join(".claude", "settings.json"), ".env", ".envrc")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinternal/scan/env_scan.go:52 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesreturn n == ".env" || n == ".envrc" || strings.HasPrefix(n, ".env.") || strings.HasSuffix(n, ".env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinternal/scan/scan.go:274 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesfilepath.Join(home, ".env"), filepath.Join(home, ".envrc"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Collapsed <details> block carrying instructionsnpm/README.md:79 · Collapsed <details> block carrying instructions<summary><b>Windows: install script</b></summary> ```powershell irm https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.ps1 | iex nulFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Process kill command.github/scripts/smoke-test.sh:54 · Process kill command — agent can terminate processeskill $UP 2>/dev/nullFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Direct script execution from GitHub raw URLscripts/install.sh:4 · Direct script execution from GitHub raw URL — unverified code source# curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | shFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsinternal/install/install.go:237 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files// [mcp_servers.<name>.env] are left alone.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packageinternal/install/install.go:489 · npx invocation of non-well-known package — may execute untrusted codeuseNpx := fset.Bool("npx", false, "register `npx -y nullwire-mcp` instead of a binary path")Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Telegram Bot API URLinternal/vendors/vendors.go:98 · Telegram Bot API URL — data will be sent to Telegram"https://chat.googleapis.com/v1/spaces/", "https://api.telegram.org/bot",Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
Access to sensitive file paths.github/workflows/distribute.yml:94 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system fileschmod 600 ~/.ssh/aurFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
npx invocation of non-well-known packagenpm/bin/nullwire-mcp.js:12 · npx invocation of non-well-known package — may execute untrusted code// npx -y nullwire-mcp install --client all register it with your MCP clientsFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Remote installer piped to shellscripts/install.sh:4 · Remote installer piped to shell# curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
HIGH
Access to sensitive file pathsinternal/scan/scan.go:115 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdeep := fset.String("deep", "", "also walk this directory and scan MCP config JSON and .env files")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Access to sensitive file pathsinternal/protect/protect.go:19 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdeep := pf.String("deep", "", "also scan this directory for MCP config JSON, .env and .toml files")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Collapsed <details> block carrying instructionsnpm/README.md:61 · Collapsed <details> block carrying instructions<summary><b>With Node.js (no install step): <code>npx</code></b></summary> ```bash npx -y nullwire-mcp install --client all ``` Nothing to download by hand: theFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
npx invocation of non-well-known packageinternal/install/install_test.go:218 · npx invocation of non-well-known package — may execute untrusted codet.Errorf("npx dry run: %d\n%s", code, out)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Slack webhook URLinternal/app/vendors_test.go:95 · Slack webhook URL — data will be sent to Slack"see https://hooks.slack.com/services/ for the docs",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
HIGH
Access to sensitive file pathsinternal/app/scan_fail_test.go:17 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesdirty := filepath.Join(dir, ".env")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Stripe-like API key pattern detectedinternal/app/feature_test.go:801 · Stripe-like API key pattern detected — possible hardcoded or harvested key"api_key: sk_live_1234567890abcdefghijklmnop\nlist:\n - token: abcdefghijklmnop12345\n"Fix: Never read or enumerate credential locations; accept a documented environment variable instead.
AST03
HIGH
Stripe-like API key pattern detectedinternal/app/feature_test.go:779 · Stripe-like API key pattern detected — possible hardcoded or harvested keyif strings.Contains(out, "sk_live_1234567890abcdef") || !fxTagRe.MatchString(out) {Fix: Never read or enumerate credential locations; accept a documented environment variable instead.
AST03
MEDIUM
Remote installer piped to shellscripts/install.sh:46 · Remote installer piped to shellcurl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
HIGH
Collapsed <details> block carrying instructionsnpm/README.md:70 · Collapsed <details> block carrying instructions<summary><b>macOS, Linux and Termux: install script</b></summary> ```bash curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/instFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
npx invocation of non-well-known packageinternal/install/install_test.go:222 · npx invocation of non-well-known package — may execute untrusted codet.Errorf("under the npm wrapper the npx form is used:\n%s", out)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
URL with embedded credentials.github/workflows/distribute.yml:54 · URL with embedded credentials — may be phishing or credential leakinggit clone --depth 1 "https://x-access-token:${TAP_TOKEN}@github.com/VoxNode-ux/$1.git" "$dir"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST07
HIGH
Collapsed <details> block carrying instructionsnpm/README.md:101 · Collapsed <details> block carrying instructions<summary><b>Linux packages and distributions</b></summary> ```bash # Debian, Ubuntu: download the .deb from the release page, then sudo apt install ./nullwire-mFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
File permission modification command.github/workflows/publish-registry.yml:28 · File permission modification command — agent changes file ownership/permissionschmod +x mcp-publisherFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Access to sensitive file paths.github/workflows/distribute.yml:93 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesprintf '%s\n' "$AUR_SSH_KEY" > ~/.ssh/aurFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Access to sensitive file paths.github/workflows/distribute.yml:92 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesinstall -m 700 -d ~/.sshFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Remote installer piped to shellscripts/install.sh:5 · Remote installer piped to shell# curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setupFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
Destructive file system command detected.github/workflows/container-scan.yml:29 · Destructive file system command detecteddocker run --rm \Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
HIGH
Direct script execution from GitHub raw URLscripts/install.sh:47 · Direct script execution from GitHub raw URL — unverified code sourcecurl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setupFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Access to sensitive file paths.github/workflows/distribute.yml:95 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesssh-keyscan aur.archlinux.org >> ~/.ssh/known_hostsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
HIGH
Direct script execution from GitHub raw URLscripts/install.sh:46 · Direct script execution from GitHub raw URL — unverified code sourcecurl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | shFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Stripe-like API key pattern detectedinternal/app/feature_test.go:811 · Stripe-like API key pattern detected — possible hardcoded or harvested keyfor _, leak := range []string{"supersecretvalue123", "sk_live_1234567890abcdefghijklmnop", "abcdefghijklmnop12345"} {Fix: Never read or enumerate credential locations; accept a documented environment variable instead.
AST03
MEDIUM
File permission modification command.github/scripts/smoke-test.sh:9 · File permission modification command — agent changes file ownership/permissionschmod +x "$BIN" 2>/dev/nullFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification command.github/workflows/distribute.yml:94 · File permission modification command — agent changes file ownership/permissionschmod 600 ~/.ssh/aurFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Process kill command.github/workflows/smoke.yml:63 · Process kill command — agent can terminate processeskill $UP 2>/dev/null || trueFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
File permission modification commandscripts/install.sh:133 · File permission modification command — agent changes file ownership/permissionschmod 755 "$BIN.new"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
npx invocation of non-well-known packagenpm/bin/nullwire-mcp.js:13 · npx invocation of non-well-known package — may execute untrusted code// npx -y nullwire-mcp --nullwire-prefetch only download the binaryFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Direct script execution from GitHub raw URLscripts/install.sh:5 · Direct script execution from GitHub raw URL — unverified code source# curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setupFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsinternal/app/feature_test.go:505 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system fileswrite(".env", "API_TOKEN=abcdefgh\nPORT=8080\nAUTHOR=jane\n")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Python subprocess execution detectedpython/src/nullwire_mcp/__init__.py:133 · Python subprocess execution detectedproc = subprocess.Popen([binary] + args, env=env)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Remote installer piped to shellscripts/install.sh:47 · Remote installer piped to shellcurl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setupFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
HIGH
Collapsed <details> block carrying instructionsnpm/README.md:89 · Collapsed <details> block carrying instructions<summary><b>Short install URL (GitHub Pages)</b></summary> ```bash curl -fsSL https://voxnode-ux.github.io/nullwire-mcp/install.sh | sh -s -- --setup ``` ```powFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
Collapsed <details> block carrying instructionsnpm/README.md:128 · Collapsed <details> block carrying instructions<summary><b>Python, GitHub CLI, mise and asdf</b></summary> ```bash pipx run nullwire-mcp install --client all # or: pip install nullwire-mcp gh extension instaFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
HIGH
URL with embedded credentialsinternal/app/main_test.go:208 · URL with embedded credentials — may be phishing or credential leaking"userinfo": {"http://admin:[email protected]/path", "hunter2pass"},Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST07

Cost to the agent

Instructions loaded
≈37 tok
1 file · 81 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.

What would make this Verified

41 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Contacts a host you did not declare≈ +23 on the totalList every host you talk to in SKILL.md frontmatter (`network: [api.example.com]`), or stop contacting the ones you cannot justify.
  2. Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  3. Unclaimed publisher≈ +8 on the totalClaim voxnode-ux: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  4. Hidden instructions≈ +6 on the totalRemove HTML comments, zero-width characters and white-on-white text that carry instructions. Everything the agent is meant to read should be visible to the person reading the file.
  5. Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  6. Direct script execution from GitHub raw URL≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
Publish a new version to Glama, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim voxnode-uxPropose a patch to the maintainer