claude-discuss
Pass
Audited by Gen Agent Trust Hub on Aug 31, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted user-provided content (plans, drafts, ideas) by inlining it into prompts for the Claude Code CLI. This creates an indirect prompt injection surface.
- Ingestion points: User content is inlined into the
## Topic Under Discussionand## User's Goal and Constraintssections of the prompt inSKILL.md. - Boundary markers: The skill mandates the use of fresh random-suffix delimiters (e.g.,
<<<UNTRUSTED[suffix]) to wrap all untrusted content, along with explicit instructions telling the model to treat the content as data rather than directives. - Capability inventory: The skill invokes the
claudeCLI which has read access to the workspace and network access. These capabilities are restricted by mandatory--permission-mode planand--disallowedToolsflags. - Sanitization: While content is not escaped, the combination of random delimiters and strict role-based instructions serves as the primary mitigation.
- [COMMAND_EXECUTION]: The skill executes the
claudeCLI and shell utilities to manage the discussion. - The
claudecommand includes user-supplied overrides for--modeland--effort. The skill implements strict validation (regex^[A-Za-z0-9._-]+$and specific allowlists) to prevent shell command injection via these parameters. - [DYNAMIC_EXECUTION]: The skill generates and executes a small Python script at runtime via a shell heredoc to parse the JSON response from the Claude CLI.
- The script is static and used for extracting the
session_idandresultfields into temporary files. It does not incorporate untrusted input into its executable logic. - [EXTERNAL_DOWNLOADS]: The
claudeCLI requires network access to communicate with the Anthropic API to process prompts. This is the intended behavior of the official CLI tool.
Audit Metadata