T06 · System Persistence
- Location
references/setup-guide.md:7- Finding
Tor Is Registered as a Persistent Startup Service
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s Tor browser purpose is coherent, but its setup guidance can create persistent services and expose Tor proxy/control ports in ways users should review carefully.
Install only if you need Tor-specific browser automation. Review and run any sudo, service, Docker, or firewall commands manually; avoid exposing port 9051, bind any proxy to localhost, keep Tor control authentication enabled, prefer pinned dependencies/images, and avoid entering sensitive credentials into untrusted pages.
references/setup-guide.md:7Tor Is Registered as a Persistent Startup Service
references/setup-guide.md:22Unpinned Playwright Components and Mutable Third-Party Container Image
references/setup-guide.md:22Tor SOCKS and Control Ports Are Published While Cookie Authentication Is Disabled
scripts/tor-browser.py:63Content Security Policy Is Globally Bypassed for Untrusted Pages
The chained command sudo apt install tor && sudo systemctl start tor combines package installation and service startup in a single privileged line, reducing opportunities for review or failure handling between steps. In agent-facing documentation, such chaining can make accidental or overly broad system modification more likely.
Quick setup:
# Install Tor
sudo apt install tor && sudo systemctl start tor
# Install Python dependencies
pip install playwright
Without declared permissions the skill's intent is opaque and cannot be validated.
The description is broad enough to trigger this skill for general browsing tasks, including non-Tor use cases, because it mentions navigation, screenshots, and data extraction in generic terms. That increases the chance an agent invokes a dark-web-capable browsing tool in situations where a standard browser skill would be safer and more appropriate.
The skill describes browsing, screenshots, and extraction capabilities without clearly warning that visited URLs, form submissions, and interaction metadata will be transmitted through the Tor network and that screenshots/output files may persist locally. In a privacy-sensitive context, missing disclosure can cause unintentional data handling, evidence creation, or policy violations.
The documented setup command instructs users to run sudo apt install tor && sudo systemctl start tor, which requires elevated privileges and chains privileged actions. Even though it is standard system administration guidance, embedding root-level commands in a skill increases the risk of agents or users executing privileged operations without sufficient review.
Quick setup:
# Install Tor
sudo apt install tor && sudo systemctl start tor
# Install Python dependencies
pip install playwright
Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
# Click element by ref
tor-browser click @e1
# Fill input field
tor-browser fill @e2 "text to enter"
# Wait for page load
Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
# Click element by ref
tor-browser click @e1
# Fill input field
tor-browser fill @e2 "text to enter"
# Wait for page load
Skill attempts to fill the context window with filler content, displacing legitimate instructions and safety constraints. This can degrade agent performance or bypass safety boundaries.
# Click element by ref
tor-browser click @e1
# Fill input field
tor-browser fill @e2 "text to enter"
# Wait for page load
The troubleshooting step uses sudo systemctl status tor, which again normalizes privileged execution inside the skill documentation. While lower risk than install/start commands, it still encourages elevated command use that may be inappropriate in restricted or automated environments.
# Check Tor is running
sudo systemctl status tor
# Test SOCKS5 proxy
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip
The instruction sudo journalctl -u tor -f requires elevated privileges and may expose sensitive operational logs. In an agent skill, recommending privileged log access can broaden the blast radius if the skill is used in environments with access to confidential system data.
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip
sudo journalctl -u tor -f
### Common Errors
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
Ubuntu/Debian:
sudo apt update
sudo apt install tor
sudo systemctl enable tor
sudo systemctl start tor
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
Ubuntu/Debian:
sudo apt update
sudo apt install tor
sudo systemctl enable tor
sudo systemctl start tor
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
Ubuntu/Debian:
sudo apt update
sudo apt install tor
sudo systemctl enable tor
sudo systemctl start tor
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
Ubuntu/Debian:
sudo apt update
sudo apt install tor
sudo systemctl enable tor
sudo systemctl start tor
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
Ubuntu/Debian:
sudo apt update
sudo apt install tor
sudo systemctl enable tor
sudo systemctl start tor
This markdown file instructs users to run privileged commands such as installing packages, enabling and starting the Tor service, and later adjusting firewall rules. While the guide is instructional, it does not explicitly warn users that these actions alter system configuration and may affect network exposure or require administrative privileges.
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.
sudo apt update
sudo apt install tor
sudo systemctl enable tor
sudo systemctl start tor
Docker image references without a specific tag (:latest is implicit) or digest (@sha256:...) can be silently replaced by a malicious image.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Troubleshooting
### Connection refused
- Ensure Tor service is running: `sudo systemctl status tor`
- Check firewall: `sudo ufw allow 9050`
### Timeout errors
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
## Troubleshooting
### Connection refused
- Ensure Tor service is running: `sudo systemctl status tor`
- Check firewall: `sudo ufw allow 9050`
### Timeout errors
The navigate method issues live browser requests to arbitrary URLs, including .onion destinations, which is a network operation that may transmit user-supplied targets and browser metadata. The code contains no user-facing warning, confirmation, or disclosure at execution time beyond terse technical docstrings.
The screenshot method can write page captures to an arbitrary file path when path is provided, which is a file write affecting local user data. Although the method has a technical docstring, there is no confirmation prompt or explicit user-facing warning that page content will be persisted to disk.
The check_tor_connection routine navigates to https://check.torproject.org/api/ip, causing an external network request that reveals connectivity details to a third-party service. There is no explicit user-facing warning that invoking this command contacts an outside endpoint and retrieves IP-related information.
No suspicious patterns detected.