Back to skill

Security audit

lin

Security checks for vulnerabilities and agentic risk

Overview

The skill appears purpose-aligned, but it writes URL data to MySQL using unsafe dynamic SQL and overly privileged default credentials.

Review before installing or using. Only run it against a dedicated MySQL database with a least-privileged account, remove root/root defaults, avoid sensitive URLs, and require parameter-name validation or a fixed schema before processing untrusted input.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (4)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/save_url_params.py:21
Finding

SQL Injection Through Attacker-Controlled URL Parameter Names

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
scripts/save_url_params.py:6
Finding

Predictable Hardcoded Default Database Credentials

Content
View full analysis
Remediation
View remediation

T05 · Unauthorized Access and Privilege Escalation

Error
Location
scripts/save_url_params.py:7
Finding

Database Operations Use an Excessively Privileged Root Account by Default

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/save_url_params.py:64
Finding

Plaintext Disclosure of Sensitive URL Parameter Values Through Standard Output

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill advertises code capabilities that can access environment data and use the network, but it does not declare any explicit tool scope or permissions boundaries. That creates unnecessary ambiguity about what the skill may access or transmit at runtime, increasing the risk of over-privileged execution, secret exposure from environment variables, or unexpected outbound connections.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill description says it stores URL parameters in MySQL and may auto-create a table, but it does not prominently warn users that untrusted URL-derived data will be persisted to a database schema that changes dynamically. In this context, that is dangerous because query parameters often contain tokens, personal data, or other sensitive values, and automatic table creation or dynamic column mapping can expand the attack surface and lead to unsafe data handling.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest says this skill extracts URL parameters and saves them into MySQL, but the code additionally pulls connection details and credentials from process environment variables. Accessing environment-held secrets is a broader capability than the stated task itself and is not declared in the skill description.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The script stores arbitrary URL query parameters directly into a database, and query strings often contain sensitive data such as tokens, emails, session IDs, or API keys. Persisting this data without filtering, consent, minimization, or warnings increases the risk of long-term exposure through database compromise, logs, backups, or unintended internal access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The script reads database connection settings, including the password, from environment variables. There is no user-facing notice or explanatory documentation in the file indicating that sensitive environment-based credentials are required and will be accessed.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.