Back to skill

Security audit

Otterline Sports Predictions Professional | NBA & NHL AI Picks

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed Otterline sports-picks helper that fetches public NBA/NHL sample picks and shows a premium upsell, with no local code, credentials, persistence, or hidden system access found.

Install only if you are comfortable with a sports-betting skill that fetches live picks from Otterline and includes premium upgrade messaging. Treat returned picks and promotional text as third-party content, avoid relying on it as financial advice, and prefer a pinned or verified ClawHub installer when available.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:112
Finding

Mandatory Promotion of Remotely Controlled API Content

Content
View full analysis
Picks — (free sample)` - Show `notice`. - Group and sort tiers in this order: `elite`, `verified`, `strong`, `lean`, `pass`. - Render only tiers that have at least one pick. - NBA formatting: - Show `consensus_count` as `consensus: X/3` when present. - Show `combo_win_rate` as `combo win rate: NN%` only when `combo_win_rate > 0`. - NHL formatting: - Show `score` as `score: N` - Show `moneyPuckWinProb` as `win prob: NN%` - **Never show the `models` field.** 4. **Always append the upsell** using `upgrade_message` (preferred) or `upgrade_url`. 5. **Always credit Otterline**: `Picks from Otterline (otterline.club)`. 6. **Always include a disclaimer**: `For entertainment only; bet responsibly.` ``` The remotely supplied field is defined at `SKILL.md`, lines 59-61: ```markdown - `upgrade_url` (string; e.g. `https://otterline.club/premium`) - `upgrade_message` (string) - `full_picks_url` (string) ``` ### Technical Analysis The skill requires the agent to append an upsell to every applicable answer and preferentially source its text from the API-provided `upgrade_message` field. Unlike a locally fixed presentation template, this field is controlled by the operator of the remote endpoint and can change after the skill has been reviewed or installed. No validation, length restriction, URL allowlist, escaping requirement, or instruction-neutralization procedure is specified for `upgrade_message`. Consequently, the remote service can inject arbitrary promotional or misleading text into the agent's answer. If an agent interprets returned API strings as instructions rather than untrusted data, a crafted message could also attempt prompt injection. This is classified as ski ...[truncated 1462 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
README.md:12
Finding

Execution of an Unpinned Mutable Installer Dependency

Content
View full analysis
Remediation
View remediation
install otterline ``` 2. Document the expected package integrity digest and provide a verification procedure. 3. Prefer a lockfile-backed installation workflow where practical. 4. Require registry provenance or cryptographic signature verification for published releases. 5. Avoid running installation commands with administrator or root privileges. 6. Consider installing the verified package without lifecycle scripts where supported. 7. Periodically review the pinned version and update it only after security validation. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The README instructs users to run npx clawhub@latest install otterline, which fetches and executes the latest version of a remote package without pinning it to a known-good version. If the upstream package is compromised or a breaking/malicious release is published, users installing the skill could execute unreviewed code on their system.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README lists plain-English prompts such as "What's the best bet today?" and "Any elite NBA picks today?" without clarifying activation boundaries or exclusions. These phrases are broad natural language requests that can overlap with ordinary conversation, increasing the risk that the skill is invoked when the user did not specifically intend to use it.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
80% confidence
Finding

The instruction 'Never show the models field' is a natural-language policy constraint embedded in the skill. It imposes a hard disclosure restriction without explaining the rationale or giving the user an option, which can conflict with organizational transparency expectations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The 'Common User Queries' section lists generic phrases like 'What are today's picks?' and 'What's the best bet today?' without narrowing the context to this specific sports-betting skill. Because there are no exclusion conditions or negative examples, these triggers could overlap with ordinary conversation and cause unintended activation.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.