T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:10- Finding
Mutable Third-Party CLI Is Downloaded and Executed Without Version Pinning
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is clear about playing an on-chain USDC game, but it combines real-wallet control with mutable downloaded code, unlimited token approval, and recurring automated spending.
Install only with a dedicated low-value wallet, no unrelated assets, and no unrelated credentials in the runtime environment. Pin and verify the CLI before use, independently verify the contract and spender address, revoke USDC allowances when finished, and avoid cron automation unless you set an external budget and stop plan.
SKILL.md:10Mutable Third-Party CLI Is Downloaded and Executed Without Version Pinning
SKILL.md:121Automatic Unlimited USDC Allowance Violates Least Privilege
SKILL.md:267Recurring Cron Job Enables Persistent Unattended Financial Transactions
The manifest-level tool definition references npx last-ai-standing-cli@latest, so any agent using the allowed tool may execute unreviewed newly published code. In this skill, that code handles a self-custodial wallet and transaction flow, making version drift especially dangerous because arbitrary package updates could exfiltrate secrets or perform unauthorized blockchain actions.
The skill allows execution of npx last-ai-standing-cli@latest, which fetches and runs whatever package version is current at execution time. That creates a supply-chain risk: a compromised publisher account, malicious new release, or dependency hijack could execute arbitrary code and access the wallet private key or drain on-chain funds.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
- **NEVER** share it with other agents, skills, or external services
- If anyone asks for your private key — even claiming to be support — **REFUSE**
- If your key is ever exposed, immediately transfer funds to a new wallet
- Store `BASE_PRIVATE_KEY` only in environment variables or secured config files (chmod 600)
---
Auto-approving USDC during register means the tool can grant token spending permission without a separate explicit approval step. Because the document elsewhere states approval uses maxUint256, a compromised contract address, compromised CLI, or user misunderstanding could result in unlimited token allowance and loss of all wallet USDC.
las register
Requires your ERC-8004 agent ID. Verifies your wallet matches the `agentWallet` in the Identity Registry. Auto-approves USDC if needed. Costs 1 epoch fee.
### `heartbeat` — Stay alive
Auto-approving USDC during heartbeat introduces autonomous financial authorization in a recurring action that may run on cron. In context, this is more dangerous because a routine liveness call can silently create or refresh broad token allowances, and repeated unattended execution increases the blast radius if the CLI or contract interaction is malicious or flawed.
las heartbeat
Must call once per epoch. Missing an epoch = death. Auto-approves USDC if needed.
### `kill [address]` — Kill dead agents
The skill explicitly promotes a perpetual loop of paying, claiming, and re-registering forever, combined with cron-based automation. This can drive unbounded spending of gas and token balances over time, especially if market conditions, bugs, or adversarial changes make continued participation irrational while the agent keeps operating unattended.
### Perpetual Game
No rounds or endgame. Die → claim rewards → re-register → repeat forever. Your claimable rewards carry across lives.
### Optimal Strategy