Back to skill

Security audit

jovay-interaction-skill

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent blockchain CLI helper, but it directs users to handle wallet secrets and irreversible transactions in ways that need careful review.

Review this before installing. Do not paste real wallet private keys or encryption passwords into an AI chat or shell command history. Prefer a test wallet, hardware or external signing, and verify every recipient, spender, amount, network, and contract call before using --broadcast. Pin and verify the CLI package where possible.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:10
Finding

Unpinned Globally Installed npm CLI Creates Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
``` 2. Publish and verify an integrity checksum, signed release artifact, or package provenance attestation before installation. 3. Document the canonical source repository and validate that npm package releases correspond to reviewed source commits. 4. Prefer a project-local installation with a committed lockfile over a global installation. 5. Disable npm lifecycle scripts during installation where they are not required: ```bash npm install --ignore-scripts --save-exact @jovaylabs/jovay-cli@ ``` 6. Audit direct and transitive dependencies and automate monitoring for package ownership changes, unexpected release activity, and known vulnerabilities. 7. Run the CLI under a dedicated, least-privileged account and isolate it from unrelated secrets and files. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:61
Finding

Wallet Private Keys and Encryption Passwords Are Passed Through Command-Line Arguments

Content
View full analysis
[--enc]` ``` ```bash jovay wallet set --sk [--enc] [--enc-key ] ``` ```markdown **Options:** - `--sk, --secret-key `: Private key (64 hex characters, with or without 0x prefix) - `--enc`: Enable encryption with auto-generated key (save the key!) - `--enc-key `: Custom encryption password (auto-enables encryption) - `--origin-enc-key `: Current encryption key (required when changing encrypted wallet) ``` The Skill also provides an executable example that places an encryption password directly in the command: ```markdown I'll send a transaction using an encrypted wallet. You need to provide the encryption key with `--enc-key`. ```bash jovay contract write \ --contract 0x \ --method setApprovalForAll \ --inputs "address,bool" \ --args '"0x", true' \ --enc-key "your-encryption-password" \ --broadcast ``` ``` ### Technical Analysis Command-line arguments are not an appropriate transport for private keys or encryption passwords. Depending on the operating system and execution environment, arguments can be exposed through process inspection, operating-system audit records, command telemetry, terminal capture, debugging output, or process-monitoring products. Commands entered interactively may also remain in shell history. In an AI-agent context, constructing these commands can additionally cause secrets supplied by a user to appear in conversation transcripts, generated command logs, execution traces, or t ...[truncated 1693 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill explicitly instructs users to pass a private key directly on the command line via jovay wallet set --sk <private-key> and also documents other commands accepting --sk <key>. Command-line secrets are commonly exposed through shell history, process listings, terminal logging, telemetry, and copied transcripts, so this creates a realistic credential-compromise path for blockchain wallets. In this skill context, the danger is elevated because the secret controls irreversible financial assets and the skill provides transaction-broadcasting workflows.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.