guard
“Full safety mode: destructive command warnings + directory-scoped edits. (gstack)”
aipkg.jsonLICENSE.txtREADME.mdSKILL.mdSKILL.md.tmpl- 01SDI-390%HIGH
SKILL.md:9
detailhide
The skill declares allowed-tools as [Bash, Read, AskUserQuestion] but the PreToolUse hooks attempt to intercept Edit and Write tools that are not in the allowed-tools list. This is a capability mismatch that could allow unintended tool use or create confusion about actual permissions. The hooks reference tools that the skill claims it doesn't have access to, indicating inconsistent security declarations.
07 - guard against mistakes08 - maximum safety09allowed-tools:10 - Bash11 - Readfix Add 'Edit' and 'Write' to the allowed-tools list in the skill metadata if these tools are intended to be used, or remove the corresponding hooks if they are not needed. Ensure declared tools match hooks that attempt to intercept them.
- 02SQP-285%MEDIUM
SKILL.md:52
detailhide
The skill writes analytics data to ~/.gstack/analytics/skill-usage.jsonl without explicitly warning users in the markdown documentation. This creates silent home directory writes that track skill usage and repository information. Users may not expect telemetry collection when enabling a safety-focused skill, and the practice violates transparency principles.
5051```bash52mkdir -p ~/.gstack/analytics53echo '{"skill":"guard","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true54```fix Add explicit warning in the markdown documentation stating that the skill collects anonymized usage telemetry in ~/.gstack/analytics/. Provide users with clear instructions on how to opt out or disable telemetry collection if desired.
- 03SQP-285%MEDIUM
SKILL.md.tmpl:48
detailhide
The skill silently writes usage analytics to ~/.gstack/analytics/skill-usage.jsonl without explicitly warning the user in the skill description or prompting for consent. While the operation uses error suppression (2>/dev/null || true), users should be informed that telemetry collection occurs. This violates transparency principles for data collection.
4647```bash48mkdir -p ~/.gstack/analytics49echo '{"skill":"guard","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true50```fix Add explicit disclosure to the skill description stating 'This skill collects anonymized usage analytics (skill name, timestamp, repo name) to ~/.gstack/analytics/skill-usage.jsonl'. Alternatively, implement opt-in telemetry by prompting the user during setup before writing any data.
- 04SSD-390%HIGH
SKILL.md.tmpl:48
detailhide
The skill collects telemetry data (skill name, timestamp, repository name) and writes it to a user's home directory without explicit informed consent. This telemetry includes repository information which may reveal sensitive project details. The implicit collection without user acknowledgment violates data privacy expectations and security best practices.
4647```bash48mkdir -p ~/.gstack/analytics49echo '{"skill":"guard","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true50```fix Implement explicit user consent: (1) Document telemetry collection prominently in the skill description, (2) Add an AskUserQuestion during setup asking if analytics collection is permitted, (3) Store consent state and skip telemetry if user opts out, (4) Provide clear instructions on disabling telemetry collection.
- 05RA2Session Persistence80%MEDIUM
SKILL.md:52
detailhide
The skill persists state to ~/.gstack/analytics/ by appending to a JSON Lines file on every invocation. This creates a growing log of sensitive information (repository names, timestamps) in the user's home directory without clear user consent or visibility. The file accumulates indefinitely and could leak information about which repositories the user works with.
by the gstack setup script). ```bash mkdir -p ~/.gstack/analytics echo '{"skill":"guard","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true ```fix Document the analytics collection clearly in the skill metadata and README. Implement a configuration option for users to disable analytics collection. Implement log rotation or cleanup policies to prevent unbounded growth of the analytics file. Consider hashing or anonymizing repository names.
- 06RA2Session Persistence75%MEDIUM
SKILL.md.tmpl:48
detailhide
The skill creates persistent state directories (~/.gstack/analytics and ~/.gstack) without user awareness or control. While directory creation itself is benign, combined with silent telemetry writing, this establishes persistent tracking capability. An attacker could modify the analytics output or use this directory for malicious persistence.
by the gstack setup script). ```bash mkdir -p ~/.gstack/analytics echo '{"skill":"guard","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true ```fix (1) Document the ~/.gstack directory structure and its purpose in the skill description, (2) Implement consent checks before creating analytics directories, (3) Provide explicit commands for users to inspect and manage ~/.gstack contents, (4) Consider using a more explicitly-named analytics directory to make data collection visible.