Back to skill

Security audit

Essay Humanizer

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local essay-rewriting tool with expected model assets and scripts, though users should be careful with academic-integrity rules, dependency installation, and optional remote hosting.

Install only if you are comfortable running local ML dependencies and downloading the base model. Use a virtual environment, avoid hosted API mode for sensitive essays unless you control the server and transport security, and use the rewritten output only in ways allowed by your institution or publisher.

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

Warning
Location
scripts/install_deps.sh:9
Finding
Unpinned Dependency Installation with Unconditional Global Upgrades## Vulnerability Details **File Location**: `scripts/install_deps.sh`, line 9 **Vulnerability Type**: Unpinned third-party dependencies and unsafe environment-wide upgrades **Risk Level**: Medium ### Vulnerable Code ```bash echo "Installing MLX + inference deps (requires Apple Silicon macOS)..." pip install --upgrade mlx mlx-lm transformers ``` The related documentation also recommends unpinned installation of optional server dependencies at `SKILL.md`, line 87: ```bash pip install fastapi uvicorn[standard] ``` ### Technical Analysis The installation script retrieves mutable package versions and their transitive dependencies from the active Python package index. It neither pins exact versions nor verifies package hashes. The `--upgrade` option may also replace packages in the user's current Python environment, rather than limiting changes to an isolated environment. Python package installation can execute package build and installation logic. Consequently, a compromised upstream release, malicious package-index configuration, dependency-confusion condition, or compromised transitive dependency could execute code under the invoking user's account. Even without a malicious package, an incompatible future release could alter audited behavior or break other software in the same environment. This finding concerns the installation process. No evidence was found that the currently named packages are malicious. ### Attack Path 1. An attacker compromises a named or transitive package release, or influences the package index used by `pip`. 2. A user follows the documented Quick Start and runs `bash scripts/install_deps.sh`. 3. Line 9 invokes `pip install --upgrade` without version or hash constraints. 4. `pip` downloads the attacker-controlled or otherwise unaudited package version and executes its installation logic. 5. The payload runs with the permissions of the user who launched the installer and may modify that us ...[truncated 630 chars]
Remediation
## Remediation Suggestions 1. Pin all direct and transitive dependencies to reviewed versions in a lock file. 2. Generate and verify cryptographic hashes, and install with `pip install --require-hashes`. 3. Create and use a dedicated virtual environment instead of modifying the active environment. 4. Remove the unconditional `--upgrade` behavior. 5. Configure and document a trusted package index. 6. Apply equivalent version and hash controls to the optional FastAPI and Uvicorn dependencies. 7. Periodically review and intentionally update the lock file after security and compatibility testing.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

YARA rule 'php_webshell_known': Known PHP webshell families (c99, r57, b374k, WSO, etc.) [webshells]

Critical
Category
YARA Match
Content
mZycC47/P7OTgPOTqRXNA5tR6QOvwfQroaOIM51r+aOUsxGbmDF9i6+gkCu3g/h7naBZU6rtbruknsErrp1+I5EvSsONpMfTnitAo6Ok6FOpYijLn+qI46hGTBN1gmKLvfjJG6XzUiuhzz5DmGROw5zEBpOoWwQLhcoto51fKwuAO4kTqohKG5AIKbOlwC/bh/V4O62XewuUIvVToFvjg6cY7RueQhnbqsLqE6PNgHOjMZpDrP7Iy6odfEOiUv9zrsWUK6HhWGutJZqLrMQQG5FEYjOwKFwri1i225QmfUuYsrCzo8oiK6XcwEOmhfWLhGOoI6LKr4OMfKm7puXRc5Yl4FOu5pHrok7Cg7uuwKu/Ttqrrl/m26XGUOOOzs5rmeGzY5tTzNuSMFHbp0wnY6fTi5OVggRzrn0K068Gi4OhqCVzrdoWM660KfusuDBTuykga7H6aIuqTiVbp33We5f0OluvpfQrtzBtk5psS5unJTkDrKfrK6/tZwu7mXpDhu+7M63RRSOSBmT7lrrHA64nykuda2hTqGlac6w2k/OlOynLitwxY6dlEFO3HyErmLxNo51CkbNwGjibqDBc46sNMBOxty6DhTQ946SQr4OfszDbq9Mmi6C6n9t3P9RzrcjdW6eJa8OAkolDo8i9c6clv2OhEnRzqdZgK6pCC8uiVUWrr6sJo6SsULO7nj8DoNTcs5dhELuoWiYzr9Dpw6GcqBupF8xjq0JF26vb8COw+P2zo8Rsy6OszsuZdgvTnkT846TJS1OhbHZ7qzzC6699IpOrdjhDr7uhI6g9rxuYeToDpgbsU6heyhutHsdLnGG6w5YxRjupYWmbqAjym6/gHwOI3hhrkTvQk7kpLBOmpDuTrtvgo5/4o1OjDWRzuHFGm6iBFRuKP2vzoVAYU6v7kNuwuwBjqQXLk5AqQAu+XQyDno/Ci6XnGBulWlLLpWBJ66yChGOs7377koONA5fhnEOanSybls9uU6bA
Confidence
90% confidence
Finding
YARA rule matched a known webshell pattern (PHP, Python, JSP, or ASPX webshell).

Ae1

High
Category
analysis-evasion
Content
| LoRA adapters | `assets/adapters/adapters.safetensors.json` | 12.3 MB base64 JSON; auto-decoded to binary on first run |
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

YARA rule 'privilege_escalation_tools': Privilege escalation tools and techniques [hacktools]

High
Category
YARA Match
Content
oivus69Qo4ups2v7rzcYm6rDPiOtJPkLrc/tC62O3puXyVmrl5UAO79THFuTvMb7qED186ddBLOtqFVbrUYo06S1laujZoM7qhPba6l0mxOeW56zrZ8GS54hexOTLEmTik32o6t7UqurlFsDkNQ8I4A2ehugfzNTqY8Pk68PYXum9Ns7qgoiq7vLO0OUKWCDoEiTa6GufEOpjX+blSos46I5KEOt1lhznisr04ipi0Ojhtp7pfo2o6mp6buIm4uTo4dBc6Cz36OWXHKLrdWSG7zvfYOTmU3rrjkDE5XXuROnS7ETqr0qG6H7x8OrO4njqXXp04mc+quO72C7oSdfs67jyPuvPS3Tm+3pA6qu+euL3RpLrcoKO5/JSsun8FF7qEnLs6diktuxCaTjpspyS6Rm5BulmdhLiOcQi7nclCujadUDqZx8U6HnS7uqhGYzpWH6g6ekLGut8FdDk8A/Q66KoyOppqpDoIqTc6xn4yOiapGrsB3DK6MpPbuiRi3jr4LNq6DsbQOdrm5rlrNJw6rt5Ius1rCTvFceK6NQdEulfNR7ouLPc6UhSBupHOeDrWKy26n5d4OdkK9roeEgq6SJCIOuW9bbqtMZ26E/ebun+8UbpTIBM63cL0Or9qfzi7Uy06eJ6Pt9szSrq8iUO6Rr76OdvFDTrZaU65Qb0TuqE6UrpEjI26MJsROCsburp5q965K9+1OmVYq7r9WwI7MJr7OtAv0ToCnv+6j7SvOmHFBzrLGp056WM2Ot8g3rmpewy6YQMDOcLgxjolA1Y5hlTmuWjWCTv/wx66HgfeOgE0cjr80924AhgUugzxMjsfsa+62TpEuuEGOrra8lu5p3N5OXvNMTrfhsQ6DXYJuyJo0DjwopW6FWrWusd9FzoZLKI52YpKugXNT7odFTu68Fm6tyGvUTqi7S66darvOvhco7ha0Cs7EvCPOvdF+rolM086iBRUuGu0Zbr7Yaw6fOG9OS6hWrrYaKO6p1
Confidence
75% confidence
Finding
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Lp3

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding
The skill advertises executable components that read and write local files, including decoding adapter data and running installer/inference scripts, but it does not declare any explicit tool scope or permissions. This creates an authorization and transparency gap: an orchestrator or user may invoke the skill without clear awareness that it can modify the filesystem, increasing the risk of unintended file access or writes.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The optional hosted API sends user essay text to a remote HTTP service, but the skill provides no privacy, retention, logging, or data-handling warning. Because essay drafts may contain personal, academic, or proprietary content, users could unknowingly transmit sensitive text off-device to a network-accessible service, especially since the server is exposed on 0.0.0.0 for multi-user use.

Natural-Language Policy Violations

Medium
Confidence
83% confidence
Finding
This JSON file contains a natural-language note directing the system to 'target human-like variability when humanizing.' That instruction steers output style toward concealing AI characteristics, which is a policy-relevant behavioral directive embedded in config data rather than a neutral statistical description.

Static analysis

No suspicious patterns detected.