example-locker-dapp
Fail
Audited by Gen Agent Trust Hub on Jul 2, 2026
Risk Level: HIGHREMOTE_CODE_EXECUTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
- [REMOTE_CODE_EXECUTION]: The skill instructs the user to download and execute a shell script directly from a remote URL (
https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh) using thecurl | shpattern. This allows for arbitrary code execution on the local system from an unverified external source. - [COMMAND_EXECUTION]: Provides instructions to run various commands that can execute arbitrary code, including
npm install,npm run dev, and a custom asset synchronization script (scripts/sync-zk-assets.mjs) that performs file system operations likermSyncandcpSyncon the project directory. - [EXTERNAL_DOWNLOADS]: The project configuration downloads numerous dependencies from the NPM registry and refers the user to a third-party domain (
1am.dev) for browser extension installation and ZK proving assets. - [PROMPT_INJECTION]: The skill documents an architecture vulnerable to indirect prompt injection by processing untrusted data from an external indexer.
- Ingestion points: The
fetchLockerStatefunction inlib/locker.tsreads data from an externalindexerUriprovided in the session configuration. - Boundary markers: There are no delimiters or instructions provided to the agent to ignore potentially malicious content embedded in the indexer's response.
- Capability inventory: The skill possesses the capability to submit blockchain transactions and move funds through
submitCallTxAsyncandsubmitTxAsyncinlib/locker.ts. - Sanitization: The
decodeLockerStatefunction performs direct deserialization of the hex-encoded data returned by the indexer into ledger state without validation or sanitization.
Recommendations
- AI detected serious security threats
Audit Metadata