Back to skill

Security audit

Strawpoll Cli

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward StrawPoll CLI guide with expected account and poll-management permissions, but users should be careful with the unpinned CLI install and force-delete examples.

Install only if you trust the strawpoll-cli upstream and are comfortable granting it access to your StrawPoll API key and poll-management actions. Prefer a pinned reviewed version if available, keep the API key scoped as narrowly as StrawPoll allows, and avoid --force delete/reset commands unless you have confirmed the exact poll ID.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:27
Finding

Unpinned Third-Party CLI Installation Creates a Supply-Chain Risk

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (9)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 47)May include surrounding context.

An API key is required. Get one at strawpoll.com/account/settings.

bash
# Store in system keyring (interactive prompt)
strawpoll auth set-key

# Or use environment variable (for scripts/CI)

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
81% confidence
Finding

The phrase 'Delete without confirmation' paired with a concrete command encourages autonomous destructive behavior with no human verification step. In a terminal automation skill, this can enable unintended deletion if an agent derives or reuses the wrong poll ID.

Content

Scanner excerpt · SKILL.md (reported line 169)May include surrounding context.

md
# Pipe results
strawpoll poll results "$POLL_ID" --plain | cut -f1,3

# Delete without confirmation
strawpoll poll delete "$POLL_ID" --force

# Results with participant breakdown

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation explicitly shows a force-delete workflow that bypasses confirmation and does not pair it with a prominent warning about irreversibility. In an agent skill or automation context, this increases the chance of accidental destructive actions against user polls, especially when examples are copied verbatim into scripts.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 197)May include surrounding context.

Interactive Mode

Create commands launch an interactive wizard when run in a terminal without arguments:

bash
# Launches wizard (poll title, options, settings)

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

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.

Content

Scanner excerpt · reference.md (reported line 75)May include surrounding context.

md
| Flag | Short | Description |
|------|-------|-------------|
| `--force` | `-f` | Skip confirmation prompt |

### `strawpoll poll results <POLL_ID>`

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

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.

Content

Scanner excerpt · reference.md (reported line 87)May include surrounding context.

md
| Flag | Short | Description |
|------|-------|-------------|
| `--force` | `-f` | Skip confirmation prompt |

### `strawpoll poll results <POLL_ID>`

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

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.

Content

Scanner excerpt · reference.md (reported line 132)May include surrounding context.

md
| Flag | Short | Description |
|------|-------|-------------|
| `--force` | `-f` | Skip confirmation prompt |

### `strawpoll poll results <POLL_ID>`

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

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.

Content

Scanner excerpt · reference.md (reported line 176)May include surrounding context.

md
| Flag | Short | Description |
|------|-------|-------------|
| `--force` | `-f` | Skip confirmation prompt |

### `strawpoll poll results <POLL_ID>`

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This markdown file documents sensitive credential-handling behaviors such as --stdin for API key input and environment variables for API key/password storage, but it does not warn users about shell history, process environment exposure, or file-based keyring sensitivity. Under the markdown-file criteria for missing user warnings, credential and privacy-impacting behaviors should include some cautionary disclosure.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.