Back to skill

Security audit

repo-scout

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent GitHub repository ranking helper, but it asks for GitHub authentication and token access too broadly for mostly public research tasks.

Review before installing. Use it only for GitHub repository scouting, prefer unauthenticated public searches when possible, and do not paste GitHub tokens into chat. If authentication is necessary, use an interactive `gh auth login` flow with the minimum required permissions and avoid exposing private repository access unless you explicitly need it.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:16
Finding

Unnecessary Solicitation of Over-Privileged GitHub Credentials

Content
View full analysis
` Without auth, `gh` API calls will hit rate limits quickly and private repo data won't be accessible. ``` ### Technical Analysis The Skill makes GitHub authentication mandatory and instructs the agent to ask the user to provide a GitHub token. However, the declared repository-discovery workflow primarily uses public GitHub metadata and does not inherently require access to private repositories. The instructions do not: - Restrict the token to minimum necessary permissions. - Distinguish public-repository research from explicitly requested private-repository analysis. - Prohibit users from pasting credentials into the conversation. - Require an interactive authentication mechanism that keeps the token outside the agent context. - Explain that unauthenticated access can still be used within GitHub's public API rate limits. Consequently, a user may provide a broadly scoped personal access token even when the task only requires public information. Supplying a token through conversation text or an environment-variable command can expose it to agent context, transcripts, logs, shell history, or other tools available during execution. The project does not contain instructions to exfiltrate or deliberately misuse the token. The security issue is the unnecessary expansion of the agent's privileges and the unsafe credential-handling guidance. ### Attack Path 1. A user invokes the Skill to rank publicly accessible GitHub repositories. 2. The Skill checks `gh au ...[truncated 1526 chars]
Remediation
View remediation
` because environment variables may be inherited by subprocesses or exposed through logs and debugging tools. 5. **Enforce least privilege** - Document the minimum GitHub permissions needed for each workflow. - For public repository analysis, use a fine-grained token limited to public-resource read access only if authentication is required. - Do not request private-repository, organization-administration, workflow, package, or write permissions unless a user explicitly requests functionality that requires them. 6. **Avoid unnecessary identity collection** - Do not separately solicit the GitHub username when it can be obtained from an already authenticated session, for example with `gh api user --jq .login`. 7. **Add credential-handling safeguards** - Instruct the agent never to print, persist, summarize, or include credentials in generated rankin ...[truncated 151 chars]
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (2)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The manifest description says to use the skill for broad scenarios like 'evaluating technology options,' 'doing competitive analysis,' or 'exploring a new ecosystem' without defining specific trigger phrases or boundaries. In a markdown/manifest context, that makes activation scope ambiguous and increases the chance the skill is invoked for general-purpose analysis requests rather than repository scouting specifically.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs writing a markdown file into the workspace without explicitly warning the user that it will modify local files. This can cause unexpected workspace changes, overwrite collisions, or confusion in automated pipelines that assume read-only analysis behavior.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.