linear-autopilot
5 findings (2 high, 2 medium, 1 low), mainly data exfiltration, unauthorized tool use, command injection. Most recent scan 2026-02-06.
This skill presents MULTIPLE HIGH-SEVERITY security risks primarily related to credential management and data exposure. The most critical issues are: (1) plaintext storage of API keys without encryption, (2) exposure of Discord bot tokens to third-party services, and (3) automatic git operations without user confirmation. The skill also exhibits concerning patterns around command injection risks, excessive data collection, and missing security controls. While the core functionality (Linear-Discord-Git automation) is legitimate, the implementation lacks fundamental security practices for credential protection, user consent, and data minimization. The skill requires significant security hardening before it can be considered safe for production use.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
Automate Linear task processing with Discord notifications and git sync. Use when setting up a kanban-to-agent workflow where Linear tasks trigger Clawdbot actions via Discord. Handles task intake, status updates, DM notifications, and auto-push to git. Supports any task type - research, content creation, code tasks, or custom workflows.
- Package
- 5 files, 20 KB
- SKILL.md
- 804 words, 12+ sections
- Code
- Shell (1)
SKILL.md covers: Linear Autopilot · Free Tier Limitations · Setup · 1. Configure Linear API · 2. Get Linear IDs · 3. Set Up Webhook Service · 4. Configure Discord Channel · Task Processing Workflow · 1. Acknowledge · 2. Notify User via DM · 3. Process Task · 4. Complete
Findings
HIGH Hardcoded API Key Storage in Unencrypted File Data Exfiltrationllm
The skill instructs users to store their Linear API key in plaintext in ~/.clawdbot/linear.env without any encryption or secure storage mechanism. This creates a credential exposure risk where any process or malware with file system access can read the API key. The bash script also sources this file directly, making the key available in the shell environment.
SKILL.md
echo "LINEAR_API_KEY=lin_api_xxxxx" > ~/.clawdbot/linear.env
source ~/.clawdbot/linear.envHIGH Discord Bot Token Exposure Risk in Third-Party Services Data Exfiltrationllm
The setup instructions guide users to provide their Discord bot token to third-party automation services (Make.com, Pipedream, Zapier). This creates a credential exposure risk where the bot token is stored in external services outside the user's control. If these services are compromised or have data breaches, the bot token could be exposed, allowing unauthorized access to the Discord bot.
references/pipedream-setup.md
Connect your Discord bot account (use Clawdbot's bot token)
Use **Discord Bot** integration with your Clawdbot tokenMEDIUM Unrestricted Git Auto-Push Without User Confirmation Unauthorized Tool Usellm
The skill configuration enables automatic git commits and pushes (autoPush: true) without explicit user confirmation for each operation. The bash script performs git operations that could push sensitive task data, API responses, or configuration files to remote repositories without user review. This violates the principle of user control over data transmission.
SKILL.md
{"git": {"autoPush": true, "commitPrefix": "task:"}}
git add . && git commit -m "$COMMIT_PREFIX $msg" && git pushMEDIUM Command Injection Risk in Git Commit Messages Command Injectionllm
The bash script constructs git commit messages using variables that may contain user-controlled content from Linear task titles or descriptions without proper sanitization. If a task title contains shell metacharacters or command substitution syntax, it could lead to command injection when the commit message is constructed.
scripts/linear-api.sh
git commit -m "$COMMIT_PREFIX $msg"
# Where $msg comes from task data without sanitizationLOW Configuration File Permissions Not Enforced Data Exfiltrationllm
The setup instructions create configuration files (~/.clawdbot/linear.env, ~/.clawdbot/linear-config.json) without setting restrictive file permissions. These files contain sensitive data (API keys, Discord IDs) but may be readable by other users or processes on multi-user systems.
SKILL.md
mkdir -p ~/.clawdbot
echo "LINEAR_API_KEY=lin_api_xxxxx" > ~/.clawdbot/linear.env
# No chmod command to restrict permissionsWhat is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 5.9 KB |
references/make-setup.md | doc | 3.3 KB |
references/pipedream-setup.md | doc | 3.2 KB |
references/zapier-setup.md | doc | 3.2 KB |
scripts/linear-api.sh | script | 4.1 KB |
External hosts referenced
api.linear.app make.com pipedream.com zapier.com
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
CONFIG_FILE TEAM_ID LINEAR_API_KEY YOUR_BOT_ID
Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://clawhub.ai/skills/linear-autopilot
- Raw scan result: linear-autopilot-scan.json
- Badge for your README:
 - Request a re-scan