ens-primary-name

Warn

Audited by Gen Agent Trust Hub on Sep 24, 2026

Risk Level: MEDIUMDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
  • [DYNAMIC_EXECUTION]: The shell scripts scripts/set-avatar.sh, scripts/set-primary.sh, and scripts/verify-primary.sh use node -e to execute dynamically generated JavaScript. These scripts interpolate shell variables (which contain user input or external network data) directly into JavaScript string literals. If these variables contain malicious characters like single quotes, it could lead to arbitrary JavaScript code execution within the Node.js process.
  • Evidence in scripts/set-avatar.sh: CALLDATA=$(node -e "const name = '$ENS_NAME'; const avatar = '$AVATAR_URL'; ...") where both variables are user-supplied arguments.
  • Evidence in scripts/set-primary.sh: CALLDATA=$(node -e "const name = '$ENS_NAME'; ...") where ENS_NAME is a user-supplied argument.
  • Evidence in scripts/verify-primary.sh: REVERSE_NAME=$(node -e "const hex = '$REVERSE_RESULT'; ...") where REVERSE_RESULT is data fetched directly from an external Ethereum/L2 RPC endpoint via curl.
  • [INDIRECT_PROMPT_INJECTION]: The skill represents a surface for indirect prompt injection as it processes untrusted data (ENS names and blockchain addresses) that can influence the agent's behavior and trigger sensitive capabilities like transaction submission.
  • Ingestion points: Input arguments to set-primary.sh, set-avatar.sh, and verify-primary.sh in the scripts/ directory.
  • Boundary markers: None identified in the prompt or script logic to delimit external data from instructions.
  • Capability inventory: Transaction submission via the bankr agent command and network access via curl.
  • Sanitization: No input validation or sanitization is performed on the ENS names or addresses before they are interpolated into commands.
  • [EXTERNAL_DOWNLOADS]: The skill interacts with well-known external services to retrieve ENS and blockchain-related data.
  • Fetches resolver data from The Graph's ENS subgraph at api.thegraph.com.
  • Fetches contract data from the Thirdweb API at api.thirdweb.com.
  • Interacts with public RPC nodes for Base, Arbitrum, Optimism, and Ethereum (e.g., eth.publicnode.com, mainnet.base.org).
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 24, 2026, 04:44 AM
Security Audit — agent-trust-hub — ens-primary-name