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, andscripts/verify-primary.shusenode -eto 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'; ...")whereENS_NAMEis a user-supplied argument. - Evidence in
scripts/verify-primary.sh:REVERSE_NAME=$(node -e "const hex = '$REVERSE_RESULT'; ...")whereREVERSE_RESULTis data fetched directly from an external Ethereum/L2 RPC endpoint viacurl. - [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, andverify-primary.shin thescripts/directory. - Boundary markers: None identified in the prompt or script logic to delimit external data from instructions.
- Capability inventory: Transaction submission via the
bankr agentcommand and network access viacurl. - 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