T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Unpinned External Agent Skills Create a Mutable Supply-Chain Boundary
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is coherent for claiming an AI bounty, but it relies on unpinned wallet-related dependencies and shows raw private-key handling for a blockchain transaction path.
Review before installing. Only use this with wallet dependencies pinned to reviewed commits or otherwise verified, and avoid exposing raw manager private keys to helper code; prefer a signer interface that never reveals key material. Confirm decoded transaction details, receiver, chain, contract, fee, and reward amount before any send.
SKILL.md:36Unpinned External Agent Skills Create a Mutable Supply-Chain Boundary
references/examples/portkey-ca.md:91Raw Manager Private Key Is Passed to External Helper Code Despite a Permissionless Reward Method
Referenced artifact was not completely inspected
- If behavior seems inconsistent or an external AI reports unexpected output, ask them to report the `version` field from this `SKILL.md` first.
This file is a Chinese-language skill README and does not indicate that language selection is optional or user-driven. Under the policy, forcing a specific language or locale without user opt-in is a natural-language policy violation unless the constraint is clearly documented and justified.
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 continue with `Claim()` if the address is exchange-managed, custodial, or lacks a user-controlled private key.
- Always tell the user not to fill exchange or custodial addresses.
- Never offer to create, custody, or store a wallet for the user.
- Do not ask the user to paste an address when a local EOA or local AA/CA context should be used.
- For generic claim requests, explain `AA/CA vs EOA` first and ask the user to choose one before entering a claim branch.
- Treat `AA` as the preferred user-facing term, but accept `CA` as the same route alias.
- Always recommend `AA/CA` because the current campaign reward is `2 AIBOUNTY` for `AA/CA` and `1 AIBOUNTY` for `EOA`.
The trigger examples "help me claim" and its Chinese equivalent are very broad and resemble normal conversational requests, which can cause this skill to activate in situations where a user has not clearly asked for this specific bounty-claim workflow. In an agent-routing system, overly generic triggers increase the chance of misrouting, unintended wallet-related guidance, and accidental progression into sensitive account or transaction flows.
The example hard-codes a Chinese-only final reply template and does not indicate that the agent should preserve or negotiate the user's preferred language. In a transactional claim flow, forcing output into a language the user may not understand can degrade informed consent, causing users to confirm blockchain actions without fully understanding signer, receiver, fee, or failure details.
The flow is configured to trigger on very broad, ordinary phrases such as 'help me claim' and 'claim for me', which can cause the skill to activate in contexts where the user has not clearly consented to this specific blockchain claim workflow. In a wallet/account onboarding and transaction-guidance context, over-broad invocation increases the risk of unintended routing into sensitive account handling steps and makes prompt-injection or context-confusion attacks easier.
No suspicious patterns detected.