Back to skill

Security audit

temp-mail

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward temporary-email helper, with some ordinary caution needed around external mailbox data, deletion, and unpinned Python dependencies.

Use this only for disposable, low-sensitivity email workflows. Do not route important account recovery, regulated data, secrets, or private personal mail through it. Treat the clear command as destructive for that mailbox, and prefer pinned dependencies or an isolated virtual environment before running it.

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/temp_mail.py:4
Finding

Unpinned and Inconsistent Third-Party Dependencies

Content
View full analysis
=0.24.0 # rich is optional, not required for core functionality ``` `SKILL.md:43-49` ```bash # create a venv and install deps (unix) python -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip python -m pip install -r scripts/requirements.txt # or using uv which creates an ephemeral venv for you, e.g. uv run {baseDir}/scripts/temp_mail.py create ``` ### Technical Analysis The project permits package resolvers to select mutable future releases of third-party dependencies. The inline `uv` metadata does not constrain either `httpx` or `rich`, while `requirements.txt` permits any `httpx` release equal to or newer than version 0.24.0. No lockfile or package integrity hashes are supplied. Consequently, the source code reviewed during this audit does not uniquely determine the dependency code that will be downloaded and executed later. A compromised package release, compromised package index, or unexpectedly incompatible future version could introduce arbitrary behavior during installation or import. The declarations are also inconsistent. The script imports `rich` unconditionally: ```python from rich import print ``` However, `requirements.txt` states that `rich` is optional and does not install it. Therefore, the documented pip installation procedure does not create a complete, reproducible environment. It can fail at startup or silently rely on an unrelated `rich` installation already present in the environment. ### Attack Path 1. A user follows the documented installation instructions or invokes the script through `uv run`. 2. The package reso ...[truncated 1373 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

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

md
# temp-mail skill

This skill provides a Python CLI script to interact with the hosted Vortex API (GET /emails/{email}, DELETE /emails/{email}/clear).

Usage examples (scripts are in scripts/):

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly relies on a hosted third-party temporary email service, but the description does not warn users that mailbox contents and queried addresses are transmitted to and managed by that external provider. This can cause users to expose sensitive signup flows, verification emails, or personal data to an untrusted service without informed consent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation advertises a clear command that deletes all messages for a mailbox, but it does not warn users about the destructive effect. A user could irreversibly erase mailbox contents, including verification or audit-relevant messages, without understanding that the action is destructive.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The clear command performs a remote deletion of email messages via client.delete(...) and only prints the returned status code afterward. There is no confirmation prompt, warning comment, or user-facing disclosure near the destructive action itself, so a user may invoke irreversible message clearing without advance notice.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
94% confidence
Finding

The dependency is specified as httpx>=0.24.0, which allows installation of many different future versions and makes builds non-reproducible. Unpinned dependencies increase supply-chain risk and can unexpectedly pull in vulnerable or breaking releases, even if the package itself is legitimate.

Content

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

text
httpx>=0.24.0
# rich is optional, not required for core functionality

Unverifiable Dependency: httpx has 2 known advisory(ies) (CVE-2021-41945 (Improper Input Validation in httpx); CVE-2021-41945 (Encode OSS httpx <=1.0.0.beta0 is affected by improper input validation in `http)), 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 httpx is not pinned, it is not possible to determine from this manifest whether the resolved version is affected by known advisories. This uncertainty is itself a supply-chain weakness: deployments may silently consume a vulnerable release depending on environment, cache state, or future resolver behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.