Back to skill

Security audit

Wish Ssh Code Review

Security checks for vulnerabilities and agentic risk

Overview

This is a documentation-only code-review skill for Wish SSH servers, and the credential-related examples are review guidance rather than hidden access or execution behavior.

Safe to install as a review aid. Treat its SSH key and password examples as documentation patterns to scrutinize rather than production-ready code, and prefer public-key authentication with securely stored host keys when applying the guidance.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Credential Access

High
Category
Privilege Escalation
Confidence
90% confidence
Finding

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

Content

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

md
// GOOD - complete server setup
s, err := wish.NewServer(
    wish.WithAddress(fmt.Sprintf("%s:%d", host, port)),
    wish.WithHostKeyPath(".ssh/id_ed25519"),
    wish.WithMiddleware(
        logging.Middleware(),       // first: log all connections
        activeterm.Middleware(),    // handle terminal sizing

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This documentation includes a concrete password-auth example that performs direct comparison against an environment variable, even though it is labeled 'not recommended for production.' In practice, readers often copy examples verbatim, and this pattern encourages weak password-based authentication, secret handling via environment variables, and likely omission of stronger controls such as key-based auth, hashing, rate limiting, or MFA.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This markdown file includes a server setup example with wish.WithHostKeyPath(".ssh/id_ed25519"), which involves loading sensitive SSH host key material. Under the markdown-file warning criterion, the skill description should disclose security-sensitive behaviors that affect credentials or system integrity, but no warning is provided near the example.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.