beacon@2.16.1

CAUTION· static only

Publisher claims: "Send agent-to-agent pings with likes, comments, upvotes, adverts, and signed RustChain RTC payments across BoTTube, Moltbook, and LAN UDP." Observed in sandbox: static analysis only — behavior not yet observed.

Registry ClawHubPublisher scottcjn · publishing for 159 daysInstalls 3,138Last detonated 19 h ago

Coverage

Static only; nothing was run yet.

The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.

Is [email protected] safe to install?

KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-13 and scored it 48/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Credential pass-through configuration; Credential pass-through configuration; Credential pass-through configuration. Summary: static analysis only — behavior not yet observed.

Behavior trace

Queued for honeypot run · static analysis only
t+CategoryObserved action

This version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.

Static findings

HIGH
Credential pass-through configurationatlas/beacon_chat.py:3435 · Credential pass-through configuration — agent relays sensitive credentialsreturn cors_json({"error": "Invalid relay token", "code": "AUTH_FAILED"}, 403)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/relay.py:27 · Credential pass-through configuration — agent relays sensitive credentials# Relay token TTL: 24 hoursFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/relay.py:89 · Credential pass-through configuration — agent relays sensitive credentials"""Public-safe view — no relay token."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/atlas_ping.py:26 · Credential pass-through configuration — agent relays sensitive credentials"""Get the stored relay token."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationatlas/beacon_chat.py:1056 · Credential pass-through configuration — agent relays sensitive credentials# Generate relay tokenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/atlas_ping.py:31 · Credential pass-through configuration — agent relays sensitive credentials"""Store the relay token for future heartbeats."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationatlas/gemini_seo_agent.py:122 · Credential pass-through configuration — agent relays sensitive credentials"""Load persisted state (relay token, etc)."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationatlas/beacon_chat.py:1164 · Credential pass-through configuration — agent relays sensitive credentialsreturn cors_json({"error": "Invalid relay token", "code": "AUTH_FAILED"}, 403)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationatlas/beacon_chat.py:1569 · Credential pass-through configuration — agent relays sensitive credentials"POST /relay/heartbeat/seo with your relay token, nonce, ts, and "Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationatlas/gemini_seo_agent.py:70 · Credential pass-through configuration — agent relays sensitive credentials# State file for relay token persistenceFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/atlas_ping.py:101 · Credential pass-through configuration — agent relays sensitive credentials# Store relay token for future heartbeatsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/atlas_ping.py:78 · Credential pass-through configuration — agent relays sensitive credentials# Check if we have a relay token (existing agent heartbeat)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
HIGH
Credential pass-through configurationbeacon_skill/atlas_ping.py:21 · Credential pass-through configuration — agent relays sensitive credentials# Store relay token between callsFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
MEDIUM
Process kill commandscripts/webhook_loopback_smoke.sh:17 · Process kill command — agent can terminate processeskill "$SERVER_PID" >/dev/null 2>&1 || trueFix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST05
HIGH
Credential pass-through configurationbeacon_skill/relay.py:250 · Credential pass-through configuration — agent relays sensitive credentials"""Validate a relay token and return the agent, or None."""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
LOW
Authorization escalation languagedocs/DISCORD_TRANSPORT.md:11 · Authorization escalation language · informational: not an instruction file- Discord server with admin accessFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Python subprocess execution detectedtools/moltbook-migrate/migrate.py:228 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
HTTP URL with a raw public IP addresstools/moltbook_migrate/migrate.py:38 · HTTP URL with a raw public IP address — a hard-coded destination that domain-based monitoring cannot nameBEACON_ATLAS_URL = "https://50.28.86.131/beacon/atlas"Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
Python subprocess execution detectedtools/moltbook_migrate/hardware.py:433 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
HTTP URL with a raw public IP addressmcp_server/beacon_lookup.py:24 · HTTP URL with a raw public IP address — a hard-coded destination that domain-based monitoring cannot nameBEACON_ATLAS_URL = "https://50.28.86.131/beacon/atlas"Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Python subprocess execution detectedbeacon_skill/updater.py:156 · Python subprocess execution detectedproc = subprocess.run(Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST05
MEDIUM
Python subprocess execution detectedtools/moltbook_migrate/hardware.py:226 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedtools/moltbook-migrate/migrate.py:181 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Process kill commandbeacon_skill/accord.py:440 · Process kill command — agent can terminate processes"kill myself", "suicide", "self-harm", "end it all",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST05
HIGH
Credential pass-through configurationbeacon_skill/relay.py:288 · Credential pass-through configuration — agent relays sensitive credentialsreturn {"error": "Invalid relay token", "code": "AUTH_FAILED"}Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST02
MEDIUM
File permission modification commandSKILL.md:69 · File permission modification command — agent changes file ownership/permissions- **File permissions** — keystores and config are chmod 600 on POSIX systemsFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
File permission modification commandbeacon_skill/identity.py:143 · File permission modification command — agent changes file ownership/permissions"""Save identity to ~/.beacon/identity/agent.key (JSON, chmod 600)."""Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST05
MEDIUM
URL using a raw public IP addressmcp_server/beacon_lookup.py:24 · URL using a raw public IP address — may bypass domain-based filteringBEACON_ATLAS_URL = "https://50.28.86.131/beacon/atlas"Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Python subprocess execution detectedtools/moltbook_migrate/hardware.py:249 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedtools/moltbook_migrate/hardware.py:276 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
URL using a raw public IP addresstools/moltbook_migrate/migrate.py:38 · URL using a raw public IP address — may bypass domain-based filteringBEACON_ATLAS_URL = "https://50.28.86.131/beacon/atlas"Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07
MEDIUM
Python subprocess execution detectedtools/moltbook_migrate/hardware.py:453 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
HIGH
Discord webhook URLconfig.example.json:43 · Discord webhook URL — data will be sent to Discord"webhook_url": "https://discord.com/api/webhooks/...",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07

Cost to the agent

Instructions loaded
≈798 tok
1 file · 135 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

32 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Unclaimed publisher≈ +8 on the totalClaim scottcjn: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  2. Credential pass-through configuration≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
  3. HTTP URL with a raw public IP address≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
  4. Discord webhook URL≈ +4 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
  5. Process kill command≈ +2 on the totalRemove the call, or declare the host in frontmatter and explain in the README what is sent and why.
  6. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim scottcjnPropose a patch to the maintainer