streamdeck-agent-cockpit
Pass
Audited by Gen Agent Trust Hub on Sep 17, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill ingests data from external agent hooks (e.g., Claude Code, Codex) which could potentially contain malicious instructions if the agent is processing untrusted content.
- Ingestion points:
bin/claude_hook.pyandbin/codex_hook.pyread hook events directly from stdin. - Boundary markers: Inputs are processed using structured JSON parsing.
- Capability inventory: The daemon
bin/cockpitd.pyexecutes local commands, but only those explicitly predefined in the user'scockpit.jsonconfiguration file. It does not accept arbitrary command fragments or shell strings from the API or hooks. - Sanitization: Hook inputs are mapped to a fixed set of semantic states (e.g., 'running', 'idle', 'needs_attention'). Descriptive labels and details are length-limited and used for display only, having no influence on logic or command execution.
- [DYNAMIC_EXECUTION]: The skill generates and executes AppleScript and PowerShell code at runtime to facilitate interaction with terminal emulators and OS UI elements.
- Evidence:
bin/focus_terminal.py,bin/focus_tmux.py, andbin/windows_terminal_uia.ps1construct script strings dynamically for execution viaosascriptorpowershell.exe. - Mitigation: Interpolated variables, such as session names and tab titles, are strictly validated against regular expressions (e.g.,
^[A-Za-z0-9_.-]{1,80}$) before being embedded. Scripts are executed usingsubprocess.run(shell=False)with arguments passed properly to the interpreters, preventing injection attacks. - [EXTERNAL_DOWNLOADS]: The build and validation process for the Stream Deck plugin involves standard network operations to fetch rules from the hardware vendor.
- Evidence: The
npm run validatestep instreamdeck-plugin/package.jsoninvokes the official Elgato validator, which may download current rulesets. - Mitigation: These operations are targeted at well-known, trusted vendor infrastructure and are documented in the skill's README files.
- [COMMAND_EXECUTION]: The core functionality of the skill involves executing local CLI tools (tmux, terminal agents, etc.) via a central daemon.
- Evidence:
bin/cockpitd.pyfeatures aCommandRunnerthat handles execution usingsubprocess.runandsubprocess.Popen. - Mitigation: The daemon explicitly rejects shell command strings (
bash -c, etc.) and requires all commands to be supplied as fixed argv arrays. It uses random, file-backed bearer tokens and binds only to the local loopback interface by default to prevent unauthorized access.
Audit Metadata