Back to skill

Security audit

Loan Refinance Calculator

Security checks for vulnerabilities and agentic risk

Overview

This refinance calculator is openly API-backed, but it sends sensitive loan data and account keys to a hard-coded plain-HTTP service with limited privacy disclosure.

Review this before installing. It is not just a local calculator: it depends on an external SaaS API, uses an account key, consumes credits, and may transmit sensitive loan information. Only use it if you trust the operator, are comfortable with the hard-coded HTTP endpoint or configure a trusted secure API URL, and understand that the included script currently has a syntax error.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (9)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill declares access to environment variables and relies on outbound network/API behavior, but does not clearly declare corresponding permissions. This weakens user and platform visibility into what the skill can access and where data may be sent, especially because sensitive financial inputs and a user key are involved.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The skill is presented as a refinance calculator, but its documented behavior extends to account registration, balance/package queries, product/service discovery, and commercial lead-routing to a fixed external service. This mismatch is dangerous because users may provide sensitive loan and identity-related data believing it is local calculation, while the skill actually drives remote account-linked transactions and marketing workflows.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The skill is presented as a refinance calculator, but it also supports account registration, account lookups, and broader SaaS service discovery. This expands the capability and data flow beyond the expected purpose, increasing the chance that users unknowingly interact with a paid external platform and disclose information they did not intend to share.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
Enumerating 'all AI services' and pricing is outside the narrow purpose implied by a refinance calculator and acts like a service-discovery or upsell mechanism. That broader platform exposure can leak unnecessary business metadata and encourage unintended use of unrelated remote services.

Vague Triggers

Medium
Confidence
89% confidence
Finding
The trigger conditions are broad enough to activate on ordinary finance conversations, which can cause the skill to engage unexpectedly and solicit or process sensitive financial details. In this context, unexpected activation is more risky because the skill performs remote API-backed calculations and may transmit user loan data off-platform.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill does not prominently warn that calculations depend on backend API calls and may transmit sensitive financial information such as principal, rates, loan terms, and potentially account-linked identifiers. In a finance skill, this omission materially increases privacy and trust risk because users may disclose highly sensitive debt and refinancing data without informed consent.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The calculation command sends user financial inputs such as loan amount, rates, term, and fees to a remote backend without an explicit user-facing warning at the point of collection or transmission. In a financial context, this is sensitive data handling, and silent transmission can violate user expectations and privacy requirements.

Missing User Warnings

Low
Confidence
82% confidence
Finding
Registration transmits the provided username to a remote API without clearly informing the user that registration occurs on an external service. While less sensitive than financial data, it still creates undisclosed external data sharing and account creation behavior.

External Transmission

Medium
Category
Data Exfiltration
Content
if method == "GET":
            resp = requests.get(url, headers=h, params=data or {}, timeout=30)
        else:
            resp = requests.post(url, headers=h, json=data or {}, timeout=60)
        if resp.status_code >= 400:
            try:
                err = resp.json()
Confidence
97% confidence
Finding
The code transmits user-supplied data to an external API endpoint, and the default base URL uses plain HTTP to a hard-coded IP address rather than HTTPS. That enables interception or tampering in transit and is especially dangerous because the transmitted data includes financial inputs and account identifiers/keys.

Static analysis

No suspicious patterns detected.