Back to skill

Security audit

Adblock Dns

Security checks for vulnerabilities and agentic risk

Overview

The skill describes a network-wide DNS blocker, but it asks for root-level persistent service setup and DNS logging while the actual setup/server files are not included for review.

Review before installing. This skill may be useful for DNS-level ad blocking, but do not run its setup unless you can inspect the missing setup script, service file, and DNS server code. Confirm where the stats API binds, whether it has authentication, what DNS queries are logged, how long logs are retained, and how to disable or remove the service.

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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (14)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

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

nslookup google.com MACHINE_IP

text

Or check the API: `curl http://localhost:8053/stats`

## Agent Commands

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
85% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

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

Remove completely

sudo systemctl disable adblock-dns sudo rm /etc/systemd/system/adblock-dns.service sudo systemctl daemon-reload

text

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly states that all DNS queries are logged with stats, but it does not provide a clear privacy warning about the scope of that collection across all devices using the resolver. DNS logs can reveal browsing habits, device behavior, and sensitive service usage for an entire network, so omitting a prominent warning can mislead users about surveillance and data sensitivity.

Content

No source excerpt is available for this finding.

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

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

  1. Start a stats API on port 8053
  2. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

bash

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

Whitelist a domain

If something is broken because it's being blocked:

bash
curl -s -X POST http://localhost:8053/whitelist/add -H "Content-Type: application/json" -d '{"domain":"example.com"}'

Block a specific domain

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

md
sudo systemctl start adblock-dns     # Start
sudo systemctl stop adblock-dns      # Stop
sudo systemctl restart adblock-dns   # Restart
sudo systemctl status adblock-dns    # Check status
journalctl -u adblock-dns -f         # View logs

# Remove completely

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

md
sudo systemctl start adblock-dns     # Start
sudo systemctl stop adblock-dns      # Stop
sudo systemctl restart adblock-dns   # Restart
sudo systemctl status adblock-dns    # Check status
journalctl -u adblock-dns -f         # View logs

# Remove completely