Back to skill

Security audit

SurfAgent MCP Selection

Security checks for vulnerabilities and agentic risk

Overview

This is a routing guide that tells agents to use the narrowest browser automation layer and verify results, with no hidden code, persistence, or unrelated data access.

This skill appears safe to install as a guidance-only automation routing document. Users should still review any separate browser, Gmail, adapter, or MCP skill it is used with, because those tools may perform real account actions when the user asks for them.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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 (3)

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- a follow-up state check or render check confirms it

Bad proof:
- trusting the MCP output without checking resulting browser state when user-visible outcome matters

### Raw browser proof
Good proof:

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- a follow-up state check or render check confirms it

Bad proof:
- trusting the MCP output without checking resulting browser state when user-visible outcome matters

### Raw browser proof
Good proof:

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
Before escalating to a heavier layer, ask:
- is the current state actually clear?
- did the current layer fail, or did I skip verification?
- is the blocker about capability, or about page state?

Only move down the ladder when:

Static analysis

No suspicious patterns detected.