Back to skill

Security audit

API Mock Server

Security checks for vulnerabilities and agentic risk

Overview

This is a normal local API mock server with some dependency and network-exposure caveats, but no artifact evidence of hidden egress, credential use, persistence, or destructive behavior.

Install in a virtual environment, pin or lock dependencies before CI or shared-team use, and run the server with --host 127.0.0.1 unless you deliberately want other machines to reach it. Do not assume webhook simulation exists in this version without reviewing or adding that feature.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (9)

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill advertises webhook simulation, which strongly implies the ability to send outbound HTTP requests to user-specified endpoints, but it does not disclose that behavior or warn about its effects on external systems. In an agent setting, this omission can lead users to invoke the skill in environments where unsolicited network access, SSRF-like behavior, or unintended calls to production services are risky.

Unpinned Dependencies

Low
Category
Supply Chain
Content
Flask>=2.3.0
Faker>=19.0.0
jsonschema>=4.17.0
requests>=2.31.0
Confidence
97% confidence
Finding
The dependency is specified with a lower-bound constraint (Flask>=2.3.0) rather than an exact, reviewed version. This makes builds non-reproducible and can unintentionally pull in newly released versions, including vulnerable or breaking releases, increasing supply-chain risk.

Unpinned Dependencies

Low
Category
Supply Chain
Content
Flask>=2.3.0
Faker>=19.0.0
jsonschema>=4.17.0
requests>=2.31.0
pytest>=7.0.0
Confidence
96% confidence
Finding
Faker is unpinned and only constrained by a minimum version. That allows unpredictable dependency resolution over time and may introduce vulnerable or incompatible versions into the environment without explicit review.

Unpinned Dependencies

Low
Category
Supply Chain
Content
Flask>=2.3.0
Faker>=19.0.0
jsonschema>=4.17.0
requests>=2.31.0
pytest>=7.0.0
Confidence
96% confidence
Finding
jsonschema is referenced with a broad version range instead of an exact version. Unpinned dependencies weaken build reproducibility and can expose the project to supply-chain issues if a bad release is published upstream.

Unpinned Dependencies

Low
Category
Supply Chain
Content
Flask>=2.3.0
Faker>=19.0.0
jsonschema>=4.17.0
requests>=2.31.0
pytest>=7.0.0
Confidence
97% confidence
Finding
requests is not pinned to a specific version, so dependency resolution may select different releases at different times. This can silently introduce versions with known flaws or behavior changes, especially important for a networking library.

Unpinned Dependencies

Low
Category
Supply Chain
Content
Faker>=19.0.0
jsonschema>=4.17.0
requests>=2.31.0
pytest>=7.0.0
Confidence
94% confidence
Finding
pytest is also unpinned, which creates non-deterministic environments and can introduce risky or incompatible updates. While typically a development dependency, compromised or vulnerable tooling can still affect CI and developer systems.

Known Vulnerable Dependency: Flask — 8 advisory(ies): CVE-2025-47278 (Flask uses fallback key instead of current signing key); CVE-2018-1000656 (Flask is vulnerable to Denial of Service via incorrect encoding of JSON data); CVE-2019-1010083 (Pallets Project Flask is vulnerable to Denial of Service via Unexpected memory u) +5 more

High
Category
Supply Chain
Confidence
92% confidence
Finding
The requirements file allows installation of Flask versions that may include versions affected by multiple published advisories, and no upper bound or exact safe version is enforced. Because Flask is a web framework, vulnerable versions can expose the application to denial of service, key handling issues, or other server-side attacks depending on usage.

Known Vulnerable Dependency: requests — 10 advisory(ies): CVE-2014-1830 (Exposure of Sensitive Information to an Unauthorized Actor in Requests); CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi) +7 more

High
Category
Supply Chain
Confidence
93% confidence
Finding
The project depends on requests without pinning to a known fixed version despite multiple advisories affecting the package. Since requests handles outbound HTTP and authentication-related behavior, vulnerable versions can lead to credential leakage, TLS verification issues, or other network security problems depending on implementation.

Known Vulnerable Dependency: pytest — 1 advisory(ies): CVE-2025-71176 (pytest has vulnerable tmpdir handling)

Low
Category
Supply Chain
Confidence
79% confidence
Finding
pytest has a reported advisory and is included without pinning to a patched version. Although pytest is generally a development dependency rather than production runtime code, vulnerable test tooling can still affect CI agents and developer environments.

Static analysis

No suspicious patterns detected.