Back to skill

Security audit

Crispr Screen Analyzer

Security checks for vulnerabilities and agentic risk

Overview

The skill runs local CRISPR analysis, but its documentation overstates the statistical method and safety controls, which could mislead scientific use.

Review this skill carefully before using it for real experimental decisions. Treat its results as a simplified exploratory analysis, not validated RRA or robust gene-level hit calling, pin dependencies in a controlled environment, and avoid opening generated CSVs in spreadsheets unless identifier columns are treated as text or escaped.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
requirements.txt:1
Finding

Unpinned Third-Party Runtime Dependencies

Content
View full analysis
Remediation
View remediation
pandas== scipy== ``` 2. Generate a fully resolved lock file that also pins transitive dependencies. 3. Record SHA-256 hashes for all permitted distributions and install with: ```bash python -m pip install --require-hashes -r requirements.txt ``` 4. Use a trusted, explicitly configured package index and disable unneeded fallback indexes. 5. Run dependency vulnerability and provenance checks in CI. 6. Review and deliberately update the lock file on a controlled schedule rather than resolving unrestricted versions during deployment. 7. Install and run the analyzer in a least-privileged virtual environment or container. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/main.py:55
Finding

Spreadsheet Formula Injection in Generated CSV Results

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

This skill materially overstates its analytical behavior: it claims true RRA, gene-level hit calling, and integrated QC support, while the implementation reportedly performs only a simplified sgRNA-level z-score workflow and may omit QC in the main path. In a biomedical analysis context, that mismatch can mislead users into trusting incorrect statistical results, producing false hit lists, flawed downstream experiments, or invalid scientific conclusions.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The markdown includes natural-language labels '上游' and '下游' alongside English in the Related Skills section. Because the skill does not state that it is region-specific or provide a user language/locale choice, this creates a minor language policy inconsistency.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
96% confidence
Finding

The dependency is unpinned, so installations may pull different NumPy versions over time, reducing build reproducibility and potentially introducing vulnerable or incompatible releases without notice. In a scientific analysis skill, this is primarily a supply-chain and integrity risk rather than an immediate exploit in the file itself.

Content

Scanner excerpt · requirements.txt (reported line 1)May include surrounding context.

text
numpy
pandas
scipy

Unverifiable Dependency: numpy has 16 known advisory(ies) (CVE-2014-1859 (Numpy arbitrary file write via symlink attack); CVE-2021-41495 (NumPy NULL Pointer Dereference); CVE-2021-33430 (NumPy Buffer Overflow (Disputed)) +13 more), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
88% confidence
Finding

Because NumPy is not pinned, it is impossible to verify from this manifest whether installations will avoid versions affected by known advisories. The file does not prove a vulnerable version is used, but it does leave consumers exposed to accidental installation of one, especially in rebuilt or fresh environments.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
96% confidence
Finding

The pandas requirement is unpinned, which allows future installs to resolve to arbitrary newer or older releases depending on repository state and environment. This creates avoidable supply-chain uncertainty and can expose deployments to vulnerable versions or breaking changes.

Content

Scanner excerpt · requirements.txt (reported line 2)May include surrounding context.

text
numpy
pandas
scipy

Unverifiable Dependency: pandas has 1 known advisory(ies) (CVE-2020-13091 (** DISPUTED ** pandas through 1.0.3 can unserialize and execute commands from an)), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
83% confidence
Finding

The unpinned pandas dependency prevents determining whether deployed environments are using a version impacted by the cited advisory. While the exploitability depends on application behavior and the disputed nature of some advisories, the manifest still creates avoidable supply-chain ambiguity.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
96% confidence
Finding

The scipy dependency is not version-pinned, so the installed package may vary across environments and time. That weakens reproducibility and can inadvertently introduce releases with known security defects or unsafe behavior.

Content

Scanner excerpt · requirements.txt (reported line 3)May include surrounding context.

text
numpy
pandas
scipy

Unverifiable Dependency: scipy has 4 known advisory(ies) (CVE-2013-4251 (SciPy creates insecure temporary directories); CVE-2013-4251 (The scipy.weave component in SciPy before 0.12.1 creates insecure temporary dire); CVE-2023-25399 (A refcounting issue which leads to potential memory leak was discovered in scipy) +1 more), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
87% confidence
Finding

SciPy has known advisories, and without version pinning there is no way to verify that downstream installs will consistently avoid affected releases. In this research-oriented skill, that is a low-severity but real integrity and maintenance risk tied to dependency management.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.