T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned npm dependencies create supply-chain exposure
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent for Circle smart-contract work, but it warrants review because its deployment examples handle high-impact blockchain actions with incomplete retry safeguards.
Install only in a project where Circle credentials are not exposed to frontend code, pin and review npm dependencies, use testnet by default, manually confirm any mainnet or value-moving action, and add idempotency keys to deployment examples before using them.
SKILL.md:17Unpinned npm dependencies create supply-chain exposure
references/deploy-bytecode.md:45Bytecode deployment example omits the required idempotency key
references/deploy-erc-1155.md:15ERC-1155 template deployment example omits the required idempotency key
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
- NEVER pass private keys as plain-text CLI flags (e.g., `--private-key $KEY`). Prefer encrypted keystores or interactive import (e.g., Foundry's `cast wallet import`).
- ALWAYS keep API keys and entity secrets server-side. NEVER expose in frontend code.
- NEVER reuse `idempotencyKey` values across different API requests.
- ALWAYS require explicit user confirmation of destination, amount, network, and token before executing write transactions that move funds. NEVER auto-execute fund movements on mainnet.
- ALWAYS warn when targeting mainnet or exceeding safety thresholds (e.g., >100 USDC).
- ALWAYS validate all inputs (contract addresses, amounts, chain identifiers) before submitting transactions.
- ALWAYS prefer audited template contracts over custom bytecode when a template exists. Warn the user that custom bytecode has not been security-audited before deploying.
Subtle instructions detected that may alter agent decision-making or introduce hidden biases.
- ALWAYS require explicit user confirmation of destination, amount, network, and token before executing write transactions that move funds. NEVER auto-execute fund movements on mainnet.
- ALWAYS warn when targeting mainnet or exceeding safety thresholds (e.g., >100 USDC).
- ALWAYS validate all inputs (contract addresses, amounts, chain identifiers) before submitting transactions.
- ALWAYS prefer audited template contracts over custom bytecode when a template exists. Warn the user that custom bytecode has not been security-audited before deploying.
- NEVER deploy contracts designed to deceive, phish, or drain funds.
- ALWAYS warn before interacting with unaudited or unknown contracts.
The guidance instructs users to deploy arbitrary bytecode to a blockchain without an explicit warning that deployment is a state-changing, fee-consuming, and often irreversible action. In a smart-contract deployment skill, this omission can cause users to unintentionally spend funds, deploy to the wrong network, or publish unsafe code permanently, especially because the workflow is presented as a straightforward copy/paste procedure.
No suspicious patterns detected.