autoupgrade-icp-cli
Pass
Audited by Gen Agent Trust Hub on Sep 13, 2026
Risk Level: SAFEEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONPERSISTENCEINDIRECT_PROMPT_INJECTION
Full Analysis
- [EXTERNAL_DOWNLOADS]: The skill downloads its core management script from
skills.internetcomputer.org, which is the official domain of the vendor, DFINITY. - Evidence:
curl -fsSL https://skills.internetcomputer.org/.well-known/skills/autoupgrade-icp-cli/scripts/upgrade-icp-cli.sh -o .claude/upgrade-icp-cli.sh - [COMMAND_EXECUTION]: The script executes standard package management commands (
npm install -g,brew upgrade) to update the toolchain. It also executes a locally downloaded shell script. - Evidence: The script identifies the installation channel (npm, brew, or shell) and invokes the corresponding update command.
- [PERSISTENCE]: The skill registers a
SessionStarthook in.claude/settings.jsonto ensure the update check runs whenever a new session begins. - Evidence: Configuration block in
SKILL.mdStep 4 adds a command to theSessionStarthooks array. - [INDIRECT_PROMPT_INJECTION]: The skill processes external data from the GitHub and Homebrew APIs (version strings) to determine if an update is needed.
- Ingestion points: Fetches latest version tags from
https://github.com/dfinity/icp-cli/releases/latestandhttps://formulae.brew.sh/api/formula/icp-cli.json. - Boundary markers: The script uses a dedicated
note()function to sanitize output before it is returned to the agent context as JSON. - Capability inventory: The script can execute package managers and write to a throttle stamp file (
.claude/.icp-upgrade-check). - Sanitization: The
note()function removes backslashes, double quotes, and newlines to prevent JSON injection or terminal escape sequences.
Audit Metadata