Back to skill

Security audit

Google Video URL Analysis

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Gemini video-analysis helper with minor credential and dependency hygiene cautions but no hidden or destructive behavior found.

Install only if you are comfortable sending public video URLs and your prompts to Gemini. Configure the API key through `MAVERICK_GEMINI_API_KEY` or `MAVERICK_GOOGLE_API_KEY`, avoid passing secrets on the command line, and install dependencies from a trusted, pinned environment where possible.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/gemini_video_url_analyzer.py:28
Finding

Gemini API Key Exposure Through Command-Line Arguments

Content
View full analysis
str: api_key = cli_api_key or os.getenv("MAVERICK_GEMINI_API_KEY") or os.getenv("MAVERICK_GOOGLE_API_KEY") if not api_key: ``` ### Technical Analysis The analyzer permits users to provide a Gemini API key through the `--api-key` command-line option. Command-line arguments are commonly visible in shell history, process inspection interfaces, process-monitoring products, diagnostic reports, and automation logs. Although the script also supports environment variables, the availability of the command-line option creates an avoidable secret-disclosure path. Exploitation requires the victim to invoke the script with `--api-key` and the attacker to have access to command history, process metadata, or logs containing the invocation. ### Attack Path 1. A user runs the analyzer with `--api-key `. 2. The command is saved in shell history, captured by an automation log, or temporarily exposed through the operating system's process-listing interface. 3. A local user, monitoring service, log reader, or compromised process obtains the command-line value. 4. The exposed credential is reused to authenticate to the Gemini API. 5. The attacker submits unauthorized requests until the credential is revoked or its quota is exhausted. ### Impact Assessment An attacker who obtains the key can act within the permissions and quota assigned to that Gemini API credential. Potential effects include unauthorized API consumption, quota exhaustion, financial charges, and activity attributed to the legitimate credential ...[truncated 179 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Note
Location
scripts/gemini_video_url_analyzer.py:44
Finding

Unpinned Third-Party Dependency Installation Guidance

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
86% confidence
Finding

The skill references environment-based secrets (MAVERICK_GEMINI_API_KEY / MAVERICK_GOOGLE_API_KEY) and invokes a Python script, but it does not declare any permissions or allowed-tools scope. That creates an undeclared capability boundary: an agent may access sensitive environment variables or execute code paths without the manifest making those privileges explicit, reducing reviewability and increasing the chance of unintended secret exposure or unsafe execution.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.