Back to skill

Security audit

cluade-scientific-writer-wrapper

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for AI scientific writing, but it needs review because it asks users to install mutable external Python code and handles API keys and potentially sensitive research or clinical files with limited safety guidance.

Before installing, use an isolated virtual environment, pin and verify the Python package where possible, and avoid production credentials. Prefer a keychain or securely permissioned environment variable over a project .env file; if .env is used, keep it out of version control and restrict access. Assume prompts and selected data files may be sent to Anthropic, OpenRouter, or other research services, and do not use sensitive clinical, proprietary, or unpublished data unless that is approved for those providers.

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
SKILL.md:20
Finding

Unpinned and Unverified Python Package Installation

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:28
Finding

Plaintext API Credential Storage in a Project File

Content
View full analysis
.env ``` ### Technical Analysis The documentation recommends writing the Anthropic API key directly into a plaintext `.env` file. It does not instruct users to apply restrictive file permissions, exclude the file from version control, or use a dedicated secret-management system. A `.env` file created under a permissive process umask may be readable by other local users or processes. Project files are also commonly committed to source control, included in archives, uploaded as build artifacts, or copied into backups. Any of these operations could disclose the API key. The shell environment alternative also exposes the key to processes authorized to inspect the invoking process's environment, but the persistent plaintext `.env` recommendation creates the more durable exposure. ### Attack Path 1. A user follows the documentation and writes a real API key to `.env`. 2. The file receives insufficiently restrictive permissions or remains unlisted in `.gitignore`. 3. The project directory is committed, archived, backed up, uploaded, or read by another authorized local process or user. 4. An attacker obtains the plaintext credential. 5. The attacker uses the key to submit API requests under the victim's account until the credential is revoked or expires. ### Impact Assessment Credential disclosure could permit unauthorized use of the victim's Anthropic account within the permissions and limits associated with the exposed key. Potential consequences include: - Consumption of paid API quota and resulting financial charges. - Exposure of account-level usage metadata available to the credential. - Abuse of the API under the victim's identity or organization. - Continued ...[truncated 211 chars]
Remediation
View remediation
.env chmod 600 .env ``` - Document that `.env` must never be committed, uploaded, shared, or included in distributable artifacts. - Use narrowly scoped credentials where supported and rotate keys regularly. - Add automated secret scanning to source-control and release workflows. - Immediately revoke and replace any credential that has previously been committed or otherwise exposed; deleting it from the latest revision alone is insufficient because it may remain in repository history. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 35)May include surrounding context.

Set API keys:

bash
export ANTHROPIC_API_KEY='your_key'
# or create .env file
echo "ANTHROPIC_API_KEY=your_key" > .env

Credential Access

High
Category
Privilege Escalation
Confidence
73% confidence
Finding

Instructing users to write secrets directly into a .env file can lead to credential exposure if that file is later committed, shared, or left with permissive filesystem access. In a skill ecosystem where users may run tools in project directories, this increases the chance of accidental leakage of live API credentials.

Content

Scanner excerpt · SKILL.md (reported line 36)May include surrounding context.

bash
export ANTHROPIC_API_KEY='your_key'
# or create .env file
echo "ANTHROPIC_API_KEY=your_key" > .env

Usage

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly supports real-time research and uses required/optional external API keys, while also accepting user prompts and local data files as input. Without a clear warning that prompts and uploaded files may be transmitted to third-party AI or research services, users may unknowingly expose sensitive unpublished research data, manuscript drafts, or regulated information.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.