Back to skill

Security audit

UniProt Query

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent UniProt lookup/search helper that makes expected UniProt API requests and optionally saves local reports.

Before installing, expect the skill to contact UniProt over the network and to save query results and reports locally when using the example scripts. Review or choose the output directory if you do not want generated protein metadata files placed under ./tmp/uniprot.

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
  • 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 (5)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The code substantially matches part of the description: it queries UniProt by accession ID and retrieves rich metadata including sequence, domains, PTMs, disease/function annotations, and cross-references. However, the declared purpose also claims search by criteria (gene name, organism, function, disease), and that capability is not present in this code chunk. The primary implemented behavior is a single-ID lookup plus report generation and file export. Because the declared description overstates the implemented search capabilities and omits the local file/report output behavior, this chunk is a partial but materially narrower implementation than described.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The skill demonstrates network access via direct UniProt API requests but does not declare any explicit tool scope or permissions boundary. Missing scope declarations weaken reviewability and containment, making it easier for a skill to gain or be assumed to have broader capabilities than users expect.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The manifest describes this skill as querying UniProt for sequences and metadata, which implies network retrieval and returning data, but this example also creates directories and persists metadata/report files locally. Local report generation may be a useful convenience, yet it exceeds the manifest's stated read/query-focused behavior.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The manifest describes lookup and retrieval of protein information, which implies read-oriented querying of the UniProt service. In addition to querying, the code creates a local output directory and writes both JSON metadata and a text report, adding a file-output behavior not mentioned in the stated skill description.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The docstring for search_proteins presents the function as a search-and-return operation, listing only returned values and not disclosing its file-system side effects. The implementation later creates directories and writes JSON and text files, which is a meaningful divergence in documented intent versus actual behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.