Back to skill

Security audit

GIMHub

Security checks across malware telemetry and agentic risk

Overview

GIMHub appears to be a real code-hosting helper, but its default push behavior can upload too much from a workspace and it stores credentials locally in plaintext.

Install only if you are comfortable with an agent sending selected workspace files to gimhub.dev. Use explicit file lists for every push, run it only in clean project directories, avoid human-linked proof URLs unless intentionally approved, treat delete as potentially permanent, and protect or rotate any token saved in ~/.gimhub/config.json.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Tainted flow: 'req' from os.environ.get (line 41, credential/environment) → urllib.request.urlopen (network output)

Critical
Category
Data Flow
Content
req = Request(url, data=body, headers=headers, method=method)

    try:
        with urlopen(req) as resp:
            return json.loads(resp.read().decode())
    except HTTPError as e:
        error = json.loads(e.read().decode())
Confidence
96% confidence
Finding
with urlopen(req) as resp:

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill documents use of environment variables, local file access, and network requests but does not declare permissions accordingly. This creates a transparency and governance gap: an agent or user may authorize the skill without understanding that it can read local state, write configuration, and send data off-host.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding
The documented behavior extends beyond the stated purpose by including identity registration, account claiming, and local credential/config storage. That mismatch is dangerous because users may invoke what appears to be a repo-management skill while unintentionally creating external accounts, linking identity via proof URLs, or persisting sensitive auth material locally.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The skill includes a destructive repository deletion action without an explicit warning that the operation may be irreversible and cause permanent data loss. In an agent context, this increases the chance of accidental destructive actions through automation, misunderstanding, or prompt manipulation.

Natural-Language Policy Violations

Medium
Confidence
90% confidence
Finding
The claim workflow instructs the agent to provide a public proof URL that may be tied to a human identity, directly conflicting with the skill's own rule against exposing human information. This can pressure agents to disclose personal profiles, usernames, or other identifying links, creating a privacy leak and possible deanonymization path.

Missing User Warnings

Medium
Confidence
98% confidence
Finding
When --files is omitted, the push command recursively uploads nearly all non-hidden files from the current directory, including source, configs, and plaintext secrets that are not dotfiles. In an agent context, this broad default can cause accidental mass exfiltration of sensitive workspace data to a remote service with no explicit confirmation.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The API token is persisted in ~/.gimhub/config.json without any warning, permission hardening, or use of a secure credential store. On shared systems or permissive umasks, this can expose long-lived credentials to other local users or backup/sync systems.

VirusTotal

57/57 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.