Back to skill

Security audit

NordVPN

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent NordVPN CLI helper skill, with expected but potentially disruptive VPN controls that users should run deliberately.

Install only if you intend to let an agent control NordVPN on the local Linux machine. Run disruptive actions such as connect, disconnect, kill switch, protocol changes, autoconnect, and allowlist edits only with explicit intent, especially over SSH or on shared systems, and avoid exposing raw account/status output in logs or shared transcripts.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

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

Option A: Snap (common on Ubuntu)

bash
sudo snap install nordvpn
nordvpn --version

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 38)May include surrounding context.

Verify daemon is running

bash
# systemd installs usually
systemctl status nordvpnd --no-pager || true

# snap installs may not expose systemd unit the same way

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill describes connect, disconnect, settings, and allowlist operations without an explicit warning that these actions can immediately change system-wide routing, interrupt active SSH sessions, break downloads, or alter application connectivity. In an automation context, that omission is security-relevant because an agent may invoke these actions non-interactively on a remote host and cause loss of control or unintended traffic routing.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
80% 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 247)May include surrounding context.

md
Handling:

* Check `systemctl status nordvpnd` (systemd installs)
* Confirm snap service health (snap installs vary)
* Ensure user belongs to the right group (some installs use a `nordvpn` group):

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The authentication and status sections do not warn that commands like nordvpn account and nordvpn status may reveal account state, IP address, server location, and other network metadata in logs or agent outputs. While not code execution, exposing this information through automation transcripts can leak sensitive operational details.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.