Back to skill

Security audit

Himalaya Email CLI

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward Himalaya email CLI helper; it handles sensitive email operations but the behavior is visible and aligned with managing mail from the terminal.

Install only if you intend to let the agent help operate a configured email account through Himalaya. Review recipients and account selection before sending, confirm message IDs before moving or deleting mail, and prefer pass, keyring, or app-password commands instead of storing raw passwords in the config file.

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
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

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 43)May include surrounding context.

md
backend.encryption.type = "tls"
backend.login = "you@example.com"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap"  # or use keyring

message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"

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 · references/configuration.md (reported line 47)May include surrounding context.

md
backend.encryption.type = "tls"
backend.login = "you@example.com"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap"  # or use keyring

message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"

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 30)May include surrounding context.

himalaya account configure

text

Or create `~/.config/himalaya/config.toml` manually:
```toml
[accounts.personal]
email = "you@example.com"

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The skill instructs users how to compose and send emails, including piping message bodies and headers directly to the CLI, but does not mention that message content, recipients, and account metadata will be transmitted to external mail servers. For markdown files, behaviors affecting user privacy should be clearly disclosed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file includes a direct example for deleting an email via himalaya message delete 42, but provides no warning that the action may remove user data or be hard to reverse depending on server/account behavior. Under the markdown-specific warning criteria, destructive operations affecting user data should be accompanied by a clear caution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The documentation includes complete working examples with backend.auth.raw and message.send.backend.auth.raw set to plaintext passwords in a user config file under the home directory. Although labeled 'testing only, not recommended', this still normalizes insecure credential storage and can lead users to persist secrets in readable files, backups, screenshots, dotfile repos, or shared systems.

Content

No source excerpt is available for this finding.