Back to skill

Security audit

tcm-face-tongue

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent RageHealth face/tongue analysis skill, but users should understand that it sends sensitive images to an external API.

Install only if you are comfortable sending face or tongue photos, optional demographic/location details, and RageHealth API credentials to the configured RageHealth endpoint. Verify the intended base URL before use, avoid enabling face ID detection unless explicitly needed, and prefer pinned dependencies or a reviewed lockfile in sensitive environments.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill instructs use of environment-sourced credentials, file output, and outbound network access, but the metadata declares no permissions. This creates a trust and review gap: an executor may allow the skill to read secrets, write local files, and call external services without explicit user/admin approval, increasing the chance of unintended credential exposure or unreviewed data exfiltration of sensitive face/tongue images.

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.28
pycryptodome>=3.18
python-dotenv>=1.0  # optional: auto-load .env for local dev
Confidence
95% confidence
Finding
Using `requests>=2.28` leaves dependency resolution open to any future compatible version, which reduces build reproducibility and can unexpectedly pull in insecure or breaking releases. In security-sensitive software that sends image data to external APIs, non-deterministic dependency selection increases supply-chain and stability risk.

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.28
pycryptodome>=3.18
python-dotenv>=1.0  # optional: auto-load .env for local dev
Confidence
95% confidence
Finding
Using `pycryptodome>=3.18` is an unpinned dependency declaration, so installs are not reproducible and may resolve to unreviewed versions. Because this package provides cryptographic primitives, uncontrolled version drift can have direct security consequences if vulnerable or incompatible releases are installed.

Static analysis

No suspicious patterns detected.