Back to skill

Security audit

DDGS Metasearch via local MCP

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local web-search helper; the optional always-on service adds some operational risk but is clear and purpose-aligned.

Install this only if you are comfortable running a local search service and installing mcporter plus the ddgs Python package. Keep it bound to localhost, avoid sensitive searches, and enable the systemd service only if you intentionally want the server to keep running across sessions.

Vulnerability Patterns
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (2)

Session Persistence

Medium
Category
Rogue Agent
Content
Then:
```bash
systemctl --user daemon-reload
systemctl --user enable --now ddgs
systemctl --user status ddgs --no-pager
```
Confidence
84% confidence
Finding
The skill recommends enabling a persistent user-level systemd service so the DDGS server is always available. Persistence increases attack surface by exposing a long-running local HTTP/SSE service beyond the immediate task, and if the service or its dependencies are later compromised, the foothold survives across sessions.

Session Persistence

Medium
Category
Rogue Agent
Content
```

### Optional: systemd user service (always available)
Create `~/.config/systemd/user/ddgs.service`:
```ini
[Unit]
Description=DDGS MCP SSE server
Confidence
80% confidence
Finding
Creating `~/.config/systemd/user/ddgs.service` establishes user-session persistence for a local server process. While not overtly malicious, this changes the host's long-term execution model and can leave a network-reachable service running continuously, which is riskier than an ad hoc foreground process for a search helper.

Static analysis

No suspicious patterns detected.