Back to skill

Security audit

Research Assistant Deep

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed web research workflow with a small credibility helper, and the main risk is that the helper can overrate deceptive domain names.

Reasonable to install for research assistance, but do not treat its credibility script as authoritative. Review source domains yourself, especially for lookalike hostnames, and prefer exact-domain or official-source verification for important claims.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/credibility.py:15
Finding

Trusted domains are validated using unsafe substring matching

Content
View full analysis
Remediation
View remediation
bool: host = host.rstrip(".").lower() trusted_domain = trusted_domain.rstrip(".").lower() return host == trusted_domain or host.endswith("." + trusted_domain) def score(url: str) -> dict: parsed = urlparse(url) if parsed.scheme not in {"http", "https"} or not parsed.hostname: raise ValueError("A valid HTTP or HTTPS URL is required") domain = parsed.hostname.encode("idna").decode("ascii").rstrip(".").lower() high_domains = { "wikipedia.org", "arxiv.org", "nature.com", "sciencedirect.com", } if any(is_domain_or_subdomain(domain, trusted) for trusted in high_domains): tier = "high" ``` This accepts legitimate hosts such as `en.wikipedia.org` while rejecting deceptive hosts such as `wikipedia.org.attacker.example` and `fake-wikipedia.org`. ]]>
Vulnerability Patterns
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The declared description presents a broad deep-research assistant capable of multi-step investigation, source comparison, synthesis, and citation tracking. The supplied code does none of that: it neither fetches web content nor analyzes multiple sources, and it has no reporting or research workflow. Its actual function is narrowly limited to heuristic classification of a URL's credibility tier from the domain name. That is a materially different primary purpose, so this is a clear mismatch.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.