Back to skill

Security audit

Variant Pathogenicity Predictor

Security checks for vulnerabilities and agentic risk

Overview

This skill is not malware, but it presents medically meaningful pathogenicity labels from a very simple heuristic with unsupported capability claims and weak input handling.

Review before installing or using this skill for genomics work. It appears locally contained and does not show malicious behavior, but its output should be treated only as a toy or rough research heuristic, not as diagnostic or clinical interpretation. Users should require stronger validation, explicit medical disclaimers, supported input formats, and documented data sources before relying on it.

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/main.py:17
Finding

Unvalidated Numeric Inputs Can Produce Misleading Pathogenicity Classifications

Content
View full analysis
= 0.9: classification = "Pathogenic" elif composite >= 0.7: classification = "Likely Pathogenic" elif composite >= 0.3: classification = "Uncertain Significance" elif composite >= 0.1: classification = "Likely Benign" else: classification = "Benign" ``` ```python variant = { "REVEL": args.revel or 0.5, "CADD": args.cadd or 15, "PolyPhen": args.polyphen or 0.5 } ``` ### Technical Analysis The command-line parser converts supplied scores to Python floating-point values but does not verify that they are finite or within their expected domains. Python accepts special values such as `nan`, `inf`, and `-inf` as floats. Negative values and implausibly large values are also accepted. A `NaN` value propagates into the composite score. Every ordered comparison against `NaN` evaluates to false, causing execution to reach the final `else` branch and classify the variant as `Benign`. Thus, a malformed value fails open to the least severe classification rather than being rejected. The use of expressions such as `args.revel or 0.5` introduces an additional correctness flaw. A legitimate numeric value of `0.0` is false in a Boolean context and is silently replaced with the default. Consequently, users cannot reliably submit valid zero scores. The function also accepts dictionaries directly without validating their types. No ...[truncated 1884 chars]
Remediation
View remediation
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The SKILL.md states 'Network Access | No external API calls' at L115, while the skill's purpose and usage describe integrating REVEL, CADD, PolyPhen and other scores for arbitrary variants. Given the file also states no additional Python packages are required and provides no local score datasets or offline acquisition mechanism, this documentation conflicts with what would be needed for the advertised behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script emits a categorical medical-risk style classification such as 'Pathogenic' and 'Likely Pathogenic' without any visible warning that the result is a simplified heuristic based on a few scores and is not sufficient for clinical interpretation. In a genomics context, users may over-trust this output and use it in medical or diagnostic decision-making, which can lead to harmful misclassification or inappropriate follow-up actions.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
74% confidence
Finding

L134 asserts 'No additional Python packages required,' but the skill claims to perform multi-score variant pathogenicity prediction and ACMG interpretation across inputs like VCF files. In the absence of any documented local databases, parsers, or supporting packages, the documentation presents a capability level that is inconsistent with the stated setup requirements.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.