portless-ops

Warn

Audited by Gen Agent Trust Hub on Oct 9, 2026

Risk Level: MEDIUMPRIVILEGE_ESCALATIONPERSISTENCECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSREMOTE_CODE_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The skill relies on executing various system commands and CLI tools, including npm, portless, yq, openssl, and certutil across its PowerShell and shell scripts.
  • [EXTERNAL_DOWNLOADS]: scripts/install-portless.ps1 downloads the portless package tarball from registry.npmjs.org. Although this is part of a secure installation process with hash verification, it involves fetching external code.
  • [REMOTE_CODE_EXECUTION]: The skill automates the global installation of the portless package (npm install -g), which involves executing remote code provided by the npm registry.
  • [PRIVILEGE_ESCALATION]: Several operations require or acquire elevated privileges:
  • portless trust modifies the system trust store to include a local CA.
  • portless proxy start attempts to bind to privileged port 443, using sudo on Unix-like systems.
  • portless service install creates a scheduled task on Windows that runs with SYSTEM privileges.
  • [PERSISTENCE]: The skill provides commands (portless service install) and documentation for setting up the proxy as a persistent OS-native startup service, ensuring it runs across reboots.
  • [INDIRECT_PROMPT_INJECTION]: scripts/sync-aliases-from-yaml.ps1 reads and parses process-compose.yaml using yq to drive portless alias commands. This creates an attack surface where untrusted configuration data could influence command arguments.
  • Ingestion points: process-compose.yaml (in scripts/sync-aliases-from-yaml.ps1)
  • Boundary markers: Absent
  • Capability inventory: portless alias command execution
  • Sanitization: Absent
  • [DYNAMIC_EXECUTION]: scripts/reset-state.ps1 and scripts/sync-aliases-from-yaml.ps1 dynamically construct and execute commands based on runtime parameters and file contents.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Oct 9, 2026, 01:32 PM