claude-switch-models-setup
Warn
Audited by Gen Agent Trust Hub on Sep 14, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONPERSISTENCEEXTERNAL_DOWNLOADSDYNAMIC_EXECUTIONCREDENTIALS_UNSAFEINDIRECT_PROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The management scripts (
claude-profiles.sh,setup.sh,sync-local-skill-sources-daemon.sh) rely on numerous shell commands such asln,mkdir,launchctl,git, anduvto manage the filesystem, coordinate background services, and monitor source checkouts. - [PERSISTENCE]: The
sync-local-skill-sources-daemon.shscript installs a macOS LaunchAgent (ai.daymade.claude-skill-source-sync) that runs automatically at load and on specific file change events (WatchPaths) to maintain profile and skill synchronization in the background. - [EXTERNAL_DOWNLOADS]: The
sync-local-skill-sources-daemon.shscript uses theuvtool to download and install a specific Python 3.12 interpreter into the configuration directory (~/.config/claude-switch-models-setup/python/) to ensure the synchronization daemon runs with a consistent runtime environment. - [DYNAMIC_EXECUTION]:
sync-local-skill-sources.pyutilizes thectypeslibrary to load system C libraries for platform-specific atomic file operations (renameatx_npon macOS andrenameat2on Linux). Additionally, shell scripts utilize inline Python execution via heredocs andpython3 -cfor processing structured configuration data. - [CREDENTIALS_UNSAFE]: The profile management system explicitly handles and stores provider API keys (e.g., Kimi, DeepSeek, GLM) in plain text within
settings.jsonfiles. While this follows the security model of the target application (Claude Code), the skill centralizes and automates the management of these sensitive files. - [INDIRECT_PROMPT_INJECTION]: The
sync-profile-settings.pyscript performs complex merging and overwriting of configuration data fromsettings.jsonand.claude.jsonacross all profiles. The ingestion of these configuration files, which could theoretically be influenced by external project data, creates an attack surface for manipulating agent behavior settings. This finding follows the mandatory evidence chain for indirect injection: (1) Ingestion points:settings.jsonand.claude.json; (2) Capability inventory: Filesystem manipulation and shell command execution across various utility scripts; (3) Sanitization and Boundary markers: No explicit validation or delimiter-based isolation was observed for the merged configuration keys.
Audit Metadata