Back to skill

Security audit

SearchD AEO Audit

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent public-web AEO audit/reporting tool, but users should know its reports include SearchD attribution and may include a disclosed SearchD service recommendation.

Install only if SearchD-branded reports are acceptable. For neutral or client-facing work, avoid `--agency-cta` unless explicitly wanted and review generated reports for publisher attribution before sharing.

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
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
scripts/report_common.py:42
Finding

Unrequested Publisher Promotion Injected into Audit Reports and Conversational Handoffs

Content
View full analysis
str: label = localized(locale, "Powered by SearchD", "SearchD 제공") return f"""
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

This code does not perform the described AEO/GEO/AI-visibility audit behavior. It is a generic schema/input validation module used to validate structured audit fields. While such validation could support a larger auditing system, this chunk’s actual purpose is materially narrower and different from the declared end-user functionality. Therefore the description does not accurately represent what this supplied code chunk actually does.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill instructs the agent to read public websites, write multiple files, and invoke a Python renderer, but it declares no explicit tool or permission scope. In an agent platform, missing scope declarations can allow broader-than-expected file and network access, making it harder to enforce least privilege and increasing the chance of unintended data access or unsafe execution behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The file declares the audit language as English, but key methodological notes, excerpts, and analyst commentary are partly in Korean. This mismatch can cause downstream agents, validators, or reporting pipelines to misinterpret evidence, skip content, or produce incorrect summaries, which is especially risky in a security- or audit-adjacent workflow that depends on consistent locale assumptions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The file imports and consistently uses a localization helper that only supplies English and Korean strings throughout the report. This indicates a built-in locale restriction without any visible user opt-in, language selection mechanism, or justification that the skill is intended only for those locales.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest describes a skill for measuring brand visibility, competitor mentions, cited sources, and producing an HTML visibility report. This code adds a promotional section for the skill publisher's paid agency services, which is not necessary to perform or present the audit and is a commercial capability outside the stated analytical purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file imports and consistently uses a localization helper that supplies only English and Korean strings throughout the report. Under the policy rule for language or locale constraints, this is a natural-language policy concern because the file enforces a limited locale set without showing user choice or opt-in in this file.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file repeatedly localizes visible report text into exactly two languages via localized(locale, ..., ...), with no indication in this file that users can choose other languages or opt in to a locale restriction. This creates a natural-language locale policy concern because the skill appears to constrain report language to English/Korean by implementation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The command example hard-codes --locale en, and the following text only provides a Korean exception for a specific review surface. This imposes a default language choice in the skill instructions rather than clearly deferring to the user's preferred language or locale.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The CLI sets --locale to English by default, which imposes a language choice when the user does not specify one. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation unless the choice is offered explicitly or justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The stylesheet applies special behavior specifically to html[lang="ko"], which encodes locale-specific treatment in the skill file. Under the policy rule, hard-coded language or locale constraints can be a concern when there is no visible indication that users can choose the locale or that the constraint is explicitly justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.