T06 · System Persistence
- Location
references/examples.md:92- Finding
Persistent HLE Tunnel Through a System-Level Service
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent and not malicious, but it needs Review because it can publish sensitive local agent/admin services to the internet and includes persistent tunnel examples without enough guardrails.
Install only if you intentionally want HLE to make selected local services reachable from the internet. Avoid exposing agent control panels, Jupyter, Portainer, Pi-hole, or other admin tools unless they also have strong native authentication. Prefer SSO allow lists, avoid auth-none for sensitive services, protect the API key, review active tunnels regularly, and do not run persistent background/systemd tunnels unless you also know how to stop and remove them.
references/examples.md:92Persistent HLE Tunnel Through a System-Level Service
SKILL.md:184Unpinned Executable Packages and Mutable Container Images
The skill enables exposing localhost-bound services, including the agent control UI and tools like Jupyter or Grafana, to the public internet, yet the introductory usage guidance does not prominently warn users about that trust boundary change. In this context, understated warnings are more dangerous because the skill is explicitly designed to publish sensitive local services remotely and share access with third parties, increasing the chance of accidental overexposure or misuse.
The examples encourage exposing sensitive local services such as agent control UIs, admin dashboards, Jupyter, Pi-hole, and Portainer to the internet, but do not prominently warn about the security and privacy consequences. Even with SSO or allow-lists, these services may have their own weaknesses, weak auth assumptions, or sensitive data exposure, so normalizing remote publication of localhost admin interfaces materially increases attack surface.
Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.
Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.
Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.
The background tunnel examples show nohup and systemd usage to keep remote exposure persistent, but omit a warning that this creates continuous internet-reachable access to a local service. Persistent tunnels are more dangerous than temporary sharing because they can be forgotten, survive reboots, and increase the window for compromise or unauthorized access.
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.
# Using nohup
nohup hle expose --service http://localhost:18789 --label my-agent > /dev/null 2>&1 &
# Using systemd (create a service file)
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.
# Using nohup
nohup hle expose --service http://localhost:18789 --label my-agent > /dev/null 2>&1 &
# Using systemd (create a service file)
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.
# Using nohup
nohup hle expose --service http://localhost:18789 --label my-agent > /dev/null 2>&1 &
# Using systemd (create a service file)
# /etc/systemd/system/hle-tunnel.service
# [Unit]
# Description=HLE Tunnel
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.
# Using nohup
nohup hle expose --service http://localhost:18789 --label my-agent > /dev/null 2>&1 &
# Using systemd (create a service file)
# /etc/systemd/system/hle-tunnel.service
# [Unit]
# Description=HLE Tunnel
The documentation references use of HLE_API_KEY as an environment variable and shows container examples with inline secret assignment, but it does not include clear handling guidance for that credential. In practice, environment-provided secrets can be exposed through shell history, process listings, shared compose files, screenshots, or accidental commits, so users should be warned to store and inject the API key carefully.
No suspicious patterns detected.