Back to skill

Security audit

Git Changelog Generator

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward local git changelog generator, with the main caution that it can read repository history and overwrite a user-chosen output file.

Use this on repositories whose commit history you are comfortable exposing to the agent. Prefer stdout unless you intentionally choose --output, and choose a non-sensitive destination path because existing files can be overwritten.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
}

def git(cmd, repo="."):
    result = subprocess.run(
        ["git", "-C", repo] + cmd,
        capture_output=True, text=True, timeout=30
    )
Confidence
70% confidence
Finding
subprocess module calls execute external commands. Without careful input validation, this enables command injection.

Missing User Warnings

Low
Confidence
95% confidence
Finding
The skill explicitly supports writing output to a user-specified file via `--output`, but the documentation does not warn that the destination file may be created or overwritten. In an agent or automated workflow, this omission can cause unintended data loss if a sensitive or important path is provided, especially when users assume the operation is read-only changelog generation.

Static analysis

No suspicious patterns detected.