Back to skill

Security audit

Loan Refinance Calculator

Security checks across malware telemetry and agentic risk

Overview

This refinance calculator is mostly transparent about using a remote paid API, but it also contains under-disclosed admin credential handling and sends sensitive loan data to a configurable backend without clear transport or destination safeguards.

Install only if you trust the configured refinance API operator with customer loan details and account identifiers. Prefer an HTTPS backend you control or have vetted, use a limited user API key, and do not provide REFINANCE_ADMIN_KEY or COZE_REFINANCE_ADMIN_KEY credentials to this skill runtime.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding
The skill is presented as a calculator, but its documented behavior includes account registration, balance lookup, product retrieval, and use of a remote metered backend with API keys and credit tracking. This mismatch can mislead users and operators about what data leaves the environment and what external actions occur, increasing the risk of unintended data disclosure, unexpected billing, and trust-boundary violations.

Context-Inappropriate Capability

High
Confidence
96% confidence
Finding
The code loads an administrative credential alongside normal user credentials even though no visible user-facing workflow requires admin privileges. Embedding admin-capable paths in a broadly distributed client increases the chance of privilege misuse, accidental exposure, or future code paths invoking privileged backend operations with excessive authority.

External Transmission

Medium
Category
Data Exfiltration
Content
params = {k: v for k, v in (data or {}).items() if v is not None}
            resp = requests.get(url, headers=headers, params=params, timeout=30)
        else:
            resp = requests.post(url, headers=headers, json=data or {}, timeout=30)

        if resp.status_code >= 400:
            try:
Confidence
90% confidence
Finding
requests.post(url, headers=headers, json=

Env Variable Harvesting

High
Category
Data Exfiltration
Content
or os.environ.get("REFINANCE_API_KEY", "")
    )
    admin_key = (
        os.environ.get(f"COZE_REFINANCE_ADMIN_KEY_{SKILL_ID}")
        or os.environ.get("REFINANCE_ADMIN_KEY", "")
    )
    return api_url, api_key, admin_key
Confidence
95% confidence
Finding
os.environ.get(f"COZE_REFINANCE_ADMIN_KEY

Env Variable Harvesting

High
Category
Data Exfiltration
Content
)
    admin_key = (
        os.environ.get(f"COZE_REFINANCE_ADMIN_KEY_{SKILL_ID}")
        or os.environ.get("REFINANCE_ADMIN_KEY", "")
    )
    return api_url, api_key, admin_key
Confidence
95% confidence
Finding
os.environ.get("REFINANCE_ADMIN_KEY

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.