T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Global Installation of an External Executable Dependency
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a disclosed GSD automation helper, but it gives a headless subprocess broad authority to change projects, auto-answer prompts, and inject secrets with limited safety guidance.
Install only if you intentionally want GSD to run headless development workflows through a subprocess. Prefer a pinned/local `gsd-pi` install, run it in a restricted project workspace, avoid broad environment credentials, keep any answers file out of version control with restrictive permissions, and use explicit answers or supervised mode rather than relying on auto-confirm defaults.
SKILL.md:15Unpinned Global Installation of an External Executable Dependency
references/answer-injection.md:73Headless Mode Automatically Confirms Unmatched Prompts
The skill explicitly supports pre-supplying secrets via an answers file and states that they are injected into the child process environment for autonomous runs, but it does not present strong warnings, consent requirements, or scoping controls. In a subprocess-execution skill, this increases the risk that sensitive credentials are exposed to the invoked tool, inherited by downstream processes, logged, or misused during automated workflows.
The trigger description is broad enough to match many generic project-management or development requests, which can cause this skill to be invoked when the user did not explicitly intend to run a subprocess-based orchestrator. Because the skill launches gsd headless workflows that can create milestones, execute tasks, and alter project state, accidental invocation can lead to unintended command execution and side effects.
The document explicitly instructs users to place secrets in a JSON file and states they are injected into child-process environment variables, but it omits key safety guidance about plaintext secret storage, file permissions, lifecycle management, inherited environments, and exposure through subprocesses, crash dumps, or misconfigured tooling. In the context of a headless orchestration skill that automates software workflows, this increases the chance that operators will handle credentials unsafely and leak them during automated runs.
The documented default behavior to auto-confirm prompts and choose the first option enables autonomous execution of potentially sensitive workflow decisions without explicit user approval. In an orchestrator that can run development workflows headlessly via subprocesses, this can cause unintended actions such as destructive commands, risky configuration choices, or unsafe progression past security-relevant prompts.
| Prompt Type | Default Behavior |
|-------------|-----------------|
| Select | Picks first option |
| Confirm | Auto-confirms |
| Input | Empty string |
| Editor | Returns prefill or empty |
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
undoRevert last completed unit. Use --force to bypass confirmation.
gsd headless undo
No suspicious patterns detected.