viem-v2

Warn

Audited by Gen Agent Trust Hub on Sep 1, 2026

Risk Level: MEDIUMCREDENTIALS_UNSAFEMETADATA_POISONINGINDIRECT_PROMPT_INJECTION
Full Analysis
  • [CREDENTIALS_UNSAFE]: The documentation includes hardcoded Ethereum private keys and mnemonics which are sensitive cryptographic secrets.
  • Evidence: references/accounts-and-keys.md contains a specific private key (0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80) and a mnemonic phrase (legal winner thank year wave sausage worth useful legal winner thank yellow).
  • Although these are labeled as test credentials for the Anvil development environment, hardcoding real cryptographic secrets in skill instructions is a risky practice that could lead to accidental use in production environments.
  • [METADATA_POISONING]: There is a discrepancy between the declared author in the skill's metadata and the actual provider of the skill, which is potentially deceptive.
  • Evidence: SKILL.md lists author: uniswap in its YAML frontmatter, whereas the skill is authored by blockmatic. This mismatch could mislead users regarding the origin, official support, or security vetting of the skill.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted data from external blockchain sources, creating a potential surface for indirect prompt injection attacks.
  • Ingestion points: The skill defines patterns for fetching untrusted data from the Ethereum blockchain using functions like client.getLogs(), client.readContract(), and client.getTransaction() in references/reading-data.md.
  • Boundary markers: The skill includes an "Input Validation Rules" section in SKILL.md which prescribes validation for Ethereum addresses and RPC protocols to mitigate basic injection attempts.
  • Capability inventory: The skill instructions enable the agent to execute transactions and write to smart contracts via client.sendTransaction() and client.writeContract() as documented in references/writing-transactions.md.
  • Sanitization: While the skill recommends using isAddress() and parseUnits(), the processing of arbitrary blockchain data (like contract return values or event logs) represents a trust boundary where malicious on-chain data could attempt to influence the agent's logic.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 1, 2026, 11:09 PM
Security Audit — agent-trust-hub — viem-v2