llm-council-harness
Pass
Audited by Gen Agent Trust Hub on Jul 21, 2026
Risk Level: SAFECOMMAND_EXECUTIONPROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
- [PROMPT_INJECTION]: The skill manages a 'council' where outputs from multiple LLMs are processed and synthesized. This creates an indirect prompt injection surface where a member's output could attempt to influence the 'boss' model's synthesis. The skill implements robust defenses against this:
- Ingestion points: Member proposal outputs are captured in
references/harness-invocation.md(_member_call). - Boundary markers: It uses a structured
anon_block(JSON array) and explicit instructions to the boss model inCouncil.deliberateto ignore directives inside data fields. - Capability inventory: The system executes shell commands via
subprocess.Popeninreferences/harness-invocation.md(_run). - Sanitization: Implements a strict
_valid_contractcheck during JSON extraction to ensure outputs meet specific schema requirements before being accepted. - [COMMAND_EXECUTION]: The skill executes external CLI tools (Claude Code, Codex, etc.) via Python's
subprocessmodule. It adheres to security best practices for command execution: - Uses argument lists instead of shell strings to prevent shell injection.
- Implements process-group termination (
os.killpg) to prevent leaked grandchild processes. - Enforces hard timeouts and uses an empty scratch directory (
cwd) for execution to isolate potential side effects. - Implements environment variable scrubbing and allowlisting to prevent credential leakage to child processes.
- [EXTERNAL_DOWNLOADS]: Contains references to official documentation and community repositories for various LLM CLI tools. These are provided for informational purposes and are not used for automated downloads or runtime execution.
Audit Metadata