Back to skill

Security audit

search for literature on environmental psychology

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward academic-PPT helper with ordinary dependency and scoping caveats, not evidence of hidden or harmful behavior.

Install this only if you want a Chinese-language academic presentation workflow and are comfortable preparing or reviewing the paper-analysis JSON yourself. Use a virtual environment and pin `python-pptx` if you need reproducible or stricter supply-chain controls.

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

T08 · Insecure Dependencies

Note
Location
SKILL.md:83
Finding
Unpinned Third-Party Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 83-87 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Low ### Vulnerable Code ```markdown ### Dependency Installation ```bash pip install python-pptx ``` ``` ### Technical Analysis The installation command retrieves the latest version of `python-pptx` and its transitive dependencies from pip's configured package index without enforcing an audited version or verifying package hashes. Consequently, the dependency graph can change after the Skill has been reviewed. This is a supply-chain hardening weakness rather than evidence that the named package is currently malicious. Exploitation would require compromise of a resolved package, its release process, an upstream dependency, the configured package index, or the package-resolution channel. ### Attack Path 1. An attacker compromises a package release or another dependency source used by pip. 2. The attacker publishes a malicious version that satisfies the unrestricted installation request. 3. A user follows the documented `pip install python-pptx` instruction. 4. Pip resolves and installs the attacker-controlled release or transitive dependency. 5. Malicious package code executes during installation or when `scripts/export_ppt.py` imports the package. ### Impact Assessment Malicious dependency code would execute with the privileges of the user running pip or the exporter. It could access files and environment variables available to that user, alter generated presentations, modify the active Python environment, or communicate over the network where permitted. If installation is performed with administrative privileges, the potential scope could extend to system-wide Python packages and other resources accessible to that privileged account. The repository audit found no direct network retrieval, credential collection, persistence, shell execution, embedded malicious payload, obf ...[truncated 65 chars]
Remediation
## Remediation Suggestions - Pin `python-pptx` and every transitive dependency to versions that have been reviewed and tested. - Store the dependency set in a lock file or a fully pinned requirements file. - Require package hashes, for example by installing with `pip install --require-hashes -r requirements.txt`. - Generate and retain hashes from a trusted package index, and review dependency updates before changing the lock file. - Install dependencies inside an isolated virtual environment using a non-privileged account. - Avoid running pip with administrator or root privileges. - Add automated dependency vulnerability and provenance checks to the release process.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The skill advertises a full PDF-to-PPT pipeline, but the documented workflow actually depends on an externally prepared analysis JSON and does not implement the claimed PDF analysis or end-to-end automation. This mismatch can mislead users and orchestrators into trusting the skill with document-processing tasks it cannot safely or correctly perform, increasing the risk of unsafe assumptions, incorrect data handling, or inappropriate deployment.

Lp3

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding
Without declared permissions the skill's intent is opaque and cannot be validated.

Vague Triggers

Medium
Confidence
94% confidence
Finding
Broad trigger terms like 'presentation' and generic academic phrases can cause the skill to activate in situations beyond the author's intended scope. Unintended activation may route user content into the wrong workflow, causing confusion, disclosure of unnecessary document content, or accidental processing of unrelated files.

Natural-Language Policy Violations

Low
Confidence
89% confidence
Finding
This markdown guide is written entirely in Chinese and specifies output structure and analysis instructions in Chinese without indicating that language is optional or limited to a justified region-specific use case. Under the policy rule, forcing a specific language without user opt-in is a natural-language policy concern.

Natural-Language Policy Violations

Low
Confidence
87% confidence
Finding
This JSON content presents all user-facing natural-language fields exclusively in Chinese, and there is no surrounding text indicating that the language was selected by the user or that the file is intended for a China-specific context. Under the stated policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Natural-Language Policy Violations

Low
Confidence
88% confidence
Finding
This code file contains user-facing natural-language text that fixes the skill's description to Chinese. Under the language/locale policy, forcing a specific language without user opt-in can be a policy concern when no justification or alternative is provided.

Static analysis

No suspicious patterns detected.