Back to skill

Security audit

GitHub Issue Auto Triage

Security checks across malware telemetry and agentic risk

Overview

This skill matches its GitHub triage purpose, but it can make live repository changes and sends issue text to a third-party LLM with weak scoping and warnings.

Review before installing. Use a fine-grained GitHub token limited to the target repository and issue permissions, run dry-run first, avoid cron until behavior is validated, and do not use this on private/security-sensitive issues unless you are comfortable sending issue text to DashScope.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill clearly describes capabilities requiring sensitive operations: reading environment secrets (`${GITHUB_TOKEN}`), network access to GitHub/Slack/local API, and likely file/log output, yet it declares no permissions. This creates a privilege-transparency gap where users or hosting systems cannot accurately evaluate or constrain what the skill can access, increasing the risk of unintended secret exposure, unauthorized issue modifications, or outbound data transmission.

Intent-Code Divergence

Low
Confidence
94% confidence
Finding
The README states adherence to least privilege, but the token guidance asks for broad `repo` access, which can exceed what is needed for issue triage. If users follow this advice and the token is later exposed through logs, shell history, or a compromised host, an attacker could gain unnecessary write access across repository contents and workflows rather than only issue-management capabilities.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The report documents a normal execution mode that performs live modifications to GitHub issues, but it does not prominently warn that running the command will create labels, assignments, replies, and other repository-side changes. In an agent skill context, this can cause unintended write operations if a user or automation follows the example assuming it is only a test procedure.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The deployment section instructs users to install the tool into cron for unattended execution every 30 minutes, but it does not clearly warn that this will continuously perform autonomous modifications to GitHub issues. In a repository automation skill, unattended live writes materially increase the chance of mass mislabeling, spam replies, incorrect assignments, or repeated changes at scale.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
Issue title and body content are sent to a third-party LLM service, which can expose potentially sensitive repository data, personal data, or security reports outside GitHub. The skill provides no explicit consent flow, warning, redaction, or configuration to disable external sharing beyond code-level modification.

Ssd 1

Medium
Confidence
93% confidence
Finding
The prompt directly embeds untrusted issue text into a single user message without delimiters, schema-constrained output, or defensive instructions, so a crafted issue can manipulate the model's classification. In this skill, prompt injection can cause incorrect labels or downstream automated actions such as misleading comments, which is more concerning because triage is automated.

External Transmission

Medium
Category
Data Exfiltration
Content
### API 调用
```bash
curl -X POST http://localhost:8080/api/triage \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{"repo": "owner/repo", "issue_number": 123}'
```
Confidence
86% confidence
Finding
curl -X POST http://localhost:8080/api/triage \ -H "Authorization: Bearer YOUR_TOKEN" \ -d

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.