T09 · Insecure Skill Coding Practices
- Location
scripts/win-exec.sh:22- Finding
SSH Host Authentication Disabled for Remote Command Execution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a disclosed Windows SSH administration tool, but its default SSH/SCP settings disable host verification for powerful remote command and file-transfer operations.
Review before installing. Use this only for Windows hosts you administer, with a restricted SSH account and a dedicated key. Pin or pre-provision the Windows host key instead of accepting StrictHostKeyChecking=no, and carefully confirm any command, upload path, or download destination before invoking the scripts.
scripts/win-exec.sh:22SSH Host Authentication Disabled for Remote Command Execution
scripts/win-upload.sh:22SSH Host Authentication Disabled During File Upload
scripts/win-download.sh:22SSH Host Authentication Disabled During File Download
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
"example": "Administrator"
},
"WINDOWS_SSH_KEY": {
"description": "Path to SSH private key (default: ~/.ssh/id_ed25519)",
"required": false,
"default": "~/.ssh/id_ed25519"
},
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
"example": "Administrator"
},
"WINDOWS_SSH_KEY": {
"description": "Path to SSH private key (default: ~/.ssh/id_ed25519)",
"required": false,
"default": "~/.ssh/id_ed25519"
},
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
| Issue | Solution |
|-------|----------|
| Connection refused | Check SSH service: `Get-Service sshd` |
| Permission denied | Verify SSH key in `~/.ssh/authorized_keys` or `administrators_authorized_keys` |
| Timeout | Check firewall rules, verify IP/port |
| Command not found | Use full path or check PATH on Windows |
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
HOST="${WINDOWS_SSH_HOST:?WINDOWS_SSH_HOST is required}"
PORT="${WINDOWS_SSH_PORT:-22}"
USER="${WINDOWS_SSH_USER:?WINDOWS_SSH_USER is required}"
KEY="${WINDOWS_SSH_KEY:-$HOME/.ssh/id_ed25519}"
TIMEOUT="${WINDOWS_SSH_TIMEOUT:-10}"
if [ -z "$1" ] || [ -z "$2" ]; then
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
HOST="${WINDOWS_SSH_HOST:?WINDOWS_SSH_HOST is required}"
PORT="${WINDOWS_SSH_PORT:-22}"
USER="${WINDOWS_SSH_USER:?WINDOWS_SSH_USER is required}"
KEY="${WINDOWS_SSH_KEY:-$HOME/.ssh/id_ed25519}"
TIMEOUT="${WINDOWS_SSH_TIMEOUT:-10}"
if [ -z "$1" ] || [ -z "$2" ]; then
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
HOST="${WINDOWS_SSH_HOST:?WINDOWS_SSH_HOST is required}"
PORT="${WINDOWS_SSH_PORT:-22}"
USER="${WINDOWS_SSH_USER:?WINDOWS_SSH_USER is required}"
KEY="${WINDOWS_SSH_KEY:-$HOME/.ssh/id_ed25519}"
TIMEOUT="${WINDOWS_SSH_TIMEOUT:-10}"
if [ -z "$1" ] || [ -z "$2" ]; then
The trigger phrases are broad enough to match generic requests like 'execute on remote' or 'check GPU', which could cause this high-impact remote-execution skill to activate outside a clearly intended Windows administration context. Because the skill enables command execution and file transfer to remote hosts, accidental invocation materially increases the chance of unintended actions on infrastructure.
The skill documents remote command execution, uploads/downloads, and service control without prominently warning that these actions can modify systems, disrupt services, or overwrite data. In an agent context, missing safety guidance increases the risk that users or downstream automation invoke powerful operations without appreciating their operational impact.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Security Notes
- Use SSH keys instead of passwords
- Keep private keys secure (chmod 600)
- Consider using Tailscale for cross-network access
The script implements SCP download functionality from a remote Windows host, but the skill metadata describes remote command execution and system management without clearly disclosing file exfiltration/download behavior. Hidden or undocumented transfer capability expands the effective privilege/scope of the skill and can mislead users or policy controls about what data movement is possible.
Disabling StrictHostKeyChecking causes the client to accept unknown or changed SSH host keys without validation, enabling man-in-the-middle interception or redirection to an attacker-controlled host. In a file download workflow, this can result in silent retrieval of tampered files or disclosure of credentials and connection metadata.
The script executes an arbitrary command on a remote Windows host via SSH, which is a safety-critical subprocess/network operation. While the file has brief comments describing usage, it provides no confirmation prompt, visible runtime disclosure, or explicit warning about executing the supplied command on the remote system.
The manifest describes this skill as controlling remote Windows machines via SSH for executing commands, checking GPU status, running scripts, and managing systems. This script performs SCP-based file transfer, which is a distinct capability not mentioned in the manifest description and goes beyond the specifically claimed operations.
The script will transmit any caller-supplied local file to a remote host immediately, with no confirmation, preview, or policy checks. In an agent context, this increases the risk of unintended exfiltration of sensitive local files if the tool is invoked with unsafe arguments or by a compromised workflow.
No suspicious patterns detected.