Back to skill

Security audit

Banjixiaoguanjia

Security checks for vulnerabilities and agentic risk

Overview

This skill is related to homework capture and grading, but it has serious safety and privacy issues that should be reviewed before use.

Install only if you are authorized to process the students' work this way, are comfortable sending homework images to DashScope/Qwen, and can first remove the hard-coded API key, stop reading .zshrc, replace shell-based curl and generated Python execution with safer APIs, and add explicit confirmation and retention controls.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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 (5)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
capture-new-browser.js:6
Finding

Overbroad Collection of Secrets from the User Shell Configuration

Content
View full analysis
{ const match = line.match(/export\s+([A-Z_]+)=(.+)/); if (match && !process.env[match[1]]) { process.env[match[1]] = match[2].replace(/^["']|["']$/g, ''); } }); } } } catch (e) { // Ignore errors } } // Load environment variables at startup loadEnvFromZshrc(); ``` ### Technical Analysis The recommended executable reads the user's complete `~/.zshrc` file and imports every uppercase exported variable into the Node.js process. The declared AI functionality only requires `DASHSCOPE_API_KEY`; reading unrelated variables is not necessary. Shell configuration files commonly contain cloud credentials, database passwords, deployment tokens, proxy credentials, and other secrets. Importing all such values unnecessarily expands the sensitive information available to this process, its dependencies, diagnostic output, and any subsequently introduced or exploited code. The broad collection does not itself transmit every imported value, and the audit found no code that deliberately uploads the complete environment. Nevertheless, it violates least privilege and increases the impact of another vulnerability in the same process. ### Attack Path 1. A user stores unrelated credentials as uppercase exports in `~/.zshrc`. 2. The user runs the recommended `capture-new-browser.js` script. 3. The script reads ...[truncated 663 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
analyze-homework.js:11
Finding

Hard-Coded DashScope API Credential in Distributed Source Code

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
analyze-homework.js:196
Finding

API Keys and Student Homework Stored in Predictable Executable Temporary Files

Content
View full analysis
{ const base64 = fs.readFileSync(imgPath, { encoding: 'base64' }); return `"data:image/jpeg;base64,${base64}"`; }); return ` # -*- coding: utf-8 -*- import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') from openai import OpenAI client = OpenAI( api_key="${this.apiKey}", base_url="${this.baseUrl}" ) response = client.chat.completions.create( model="${this.model}", messages=[ { "role": "user", "content": [ ${imageEncodings.map(img => `{ "type": "image_url", "image_url": {"url": ${img}} }`).join(',\n ')}, { "type": "text", "text": """${prompt}""" } ] } ] ) print(response.choices[0].message.content) `; } ``` The generated content is then written to a predictable path: ```javascript const tempScript = path.join(homeworkFiles[0], '..', '_analyze_batch.py'); fs.writeFileSync(tempScript, pythonScript, 'utf-8'); try { const result = execSync(`python3 "${tempScript}"`, { encoding: 'utf-8', timeout: 300000 }); fs.unlinkSync(tempScript); return result.trim(); } catch (error) { if (fs.existsSync(tempScript)) fs.unlinkSync(tempScript); throw error; } ``` ### Technical Analysis The generated Python source contains the API key in plaintext and embeds complete student homework images as Base64 data URLs. Base64 is an encoding, not encryption ...[truncated 1459 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
download-homework.js:369
Finding

Shell Command Injection in Homework Image Downloader

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
analyze-homework.js:196
Finding

Python Code Injection Through Unescaped Generated Source

Content
View full analysis
{ const base64 = fs.readFileSync(imgPath, { encoding: 'base64' }); return `"data:image/jpeg;base64,${base64}"`; }); return ` # -*- coding: utf-8 -*- import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') from openai import OpenAI client = OpenAI( api_key="${this.apiKey}", base_url="${this.baseUrl}" ) response = client.chat.completions.create( model="${this.model}", messages=[ { "role": "user", "content": [ ${imageEncodings.map(img => `{ "type": "image_url", "image_url": {"url": ${img}} }`).join(',\n ')}, { "type": "text", "text": """${prompt}""" } ] } ] ) print(response.choices[0].message.content) `; } ``` The prompt contains unescaped student and homework data: ```javascript prompt += `Help check these assignments for correctness. Please output in the following format: Student name: ${studentName} Homework type: ${homeworkType} Number of homework images: ${count} Question-by-question grading: Question 1: ... Weakness analysis: ... Homework summary: ...`; ``` AI-generated results are also inserted into another executable script: ```javascript const allResults = results.join('\n\n'); const summaryPrompt = `Generate a complete homework analysis report based on the following grading results. Individual grading results: ${all ...[truncated 2147 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 (256)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The guide instructs fully automatic execution of collecting screenshots, downloading homework, and AI grading without intermediate confirmation, while handling student educational records. For a tool aimed at teachers and involving minors’ data, lack of consent checkpoints and privacy warnings increases the risk of over-collection, unintended local storage, and unauthorized analysis.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documented AI grading and Word/TXT report generation are substantially more sensitive than mere screenshot collection because they derive judgments from student work and create persistent records. In the context of elementary-school homework, this undisclosed functional expansion raises privacy, consent, and data-governance risks.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The documentation presents the skill as a screenshot-automation tool, but it also describes materially different behaviors: uploading homework images to third-party AI services, generating reports, downloading original images, reading environment variables, and invoking shell commands. This mismatch is dangerous because users and orchestrators may authorize the skill under a narrower trust assumption than its actual data-handling and execution behavior warrants.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dangerous_exec, suspicious.env_credential_access, suspicious.exposed_secret_literal

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
analyze-homework.js:88

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/analyze-homework-ai.js:100

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/analyze-screenshots.js:100

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/analyze-with-qwen.js:119

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/capture-and-analyze-36.js:386

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/capture-auto-start.js:53

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/capture-auto.js:45

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/complete-workflow.js:95

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/convert-to-word.js:94

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/download-37.js:47

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/download-student-fixed-20260322.js:154

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
archived-scripts/index.js:474

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
capture-36-fixed.js:338

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
download-homework.js:375

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
archived-scripts/capture-auto-start.js:431

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
archived-scripts/capture-auto.js:261

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
capture-new-browser.js:16

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
archived-scripts/example-full.js:13