T08 · Insecure Dependencies
- Location
README.md:32- Finding
Unpinned Third-Party Dependencies Permit Mutable Supply-Chain Resolution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This temporary-email skill uses the Temporam API for the expected mailbox functions, but retrieved emails and verification codes should be treated as sensitive.
Install only in an isolated environment with a scoped TEMPORAM_API_KEY. Do not use it for sensitive, regulated, or personal communications unless you accept that email addresses, message metadata, and full message contents are handled through Temporam. Prefer pinned dependencies and add request timeouts before production use.
README.md:32Unpinned Third-Party Dependencies Permit Mutable Supply-Chain Resolution
scripts/client.py:20Temporam Client Network Requests Have No Timeout
mcp_server.py:20MCP Tools Perform Outbound Requests Without Timeouts
The documented behavior does not accurately match the detected capabilities: the skill claims to generate random email addresses, but that capability appears not to be implemented, while domain-listing behavior is present but undocumented. This mismatch can mislead users and reviewers about what the skill actually does, undermining trust and making it harder to assess privacy and security impact.
The README documents tools for listing and retrieving full email contents but does not warn users that these messages may contain sensitive data such as verification codes, account links, personal messages, or other private content. In a temp-mail skill, this omission increases the chance that operators will mishandle, log, or overexpose mailbox contents during automation.
The skill requires environment-variable access for TEMPORAM_API_KEY and makes outbound network requests, but it does not declare tool scope or permissions. This weakens least-privilege controls and can cause the skill to run with broader capabilities than users or the platform expect, increasing the chance of unintended secret exposure or unauthorized external communication.
The skill sends email addresses and retrieved email contents to a third-party service, but the description does not clearly warn users that this data leaves the local environment. Because email content can include verification codes, personal data, or sensitive links, lack of disclosure can lead to privacy violations and unsafe use in higher-sensitivity workflows.
The manifest says the skill provides functionality for generating temporary email addresses, but the implemented tools only list domains, list emails, fetch email content, and fetch the latest email. No function creates, provisions, or returns a new temporary mailbox/address, so the advertised behavior is broader than the actual code.
The skill sends user-supplied email addresses and retrieves email contents from a third-party service without any in-file disclosure, consent prompt, or data-handling notice. Because email metadata and message bodies can contain sensitive information, silently transmitting or fetching this data from an external provider creates privacy and compliance risk, especially if users assume processing is local or agent-confined.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import string
class TemporamClient:
BASE_URL = "https://api.temporam.com/v1"
def __init__(self, api_key=None):
self.api_key = api_key or os.environ.get("TEMPORAM_API_KEY")
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
import string
class TemporamClient:
BASE_URL = "https://api.temporam.com/v1"
def __init__(self, api_key=None):
self.api_key = api_key or os.environ.get("TEMPORAM_API_KEY")
This markdown file contains changelog content in Chinese for multiple feature descriptions, but there is no indication that the skill is intentionally region-specific or that users can choose another language. Under the natural-language policy rule, forcing a specific language without opt-in is a policy concern.
The skill documentation is presented entirely in Chinese, with no indication that users can choose another language or that the locale restriction is intentional and justified. The policy requires flagging language or locale constraints when a specific language is effectively imposed without user opt-in.
The skill's example prompts are written only in Chinese, which can imply a language expectation or default behavior without offering alternatives or stating that other languages are supported. Under the language/locale policy, skills should not force a specific language unless the constraint is documented and justified or the user is given a choice.
The skill's stated purpose is temporary email retrieval operations, but the code also depends on reading a bearer token from the process environment. While this may be operationally necessary for the API, credential access is not described in the manifest's purpose and constitutes an additional capability beyond the user-facing email functions.
The manifest describes temporary email generation and retrieval functions, but does not mention credential handling or access to host environment data. The code automatically reads TEMPORAM_API_KEY from the process environment, which is a broader capability than the user-facing purpose requires.
No suspicious patterns detected.