Back to skill

Security audit

Csharp Developer

Security checks for vulnerabilities and agentic risk

Overview

This C# helper mostly matches its stated purpose, but its project creation path can run local shell commands from insufficiently constrained user inputs.

Install only if you trust the publisher and will use controlled project options. Avoid untrusted output paths or .NET version values, do not run it with elevated privileges, and review generated serial-port control code before using it with real hardware.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (4)

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The reconnection path is effectively broken because HandleReconnectionAsync only reopens the port when `_serialPort != null && !_isConnected`, but `_isConnected` is never set to false when the read loop catches an `IOException`. After a real connection loss, the service can remain in an inconsistent state where callers believe it is connected or automatic recovery never occurs, which is dangerous in a vibration/actuator control context because supervisory logic may miss loss of control or telemetry.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The README presents very broad natural-language invocation examples such as creating projects, generating code, and reviewing code without any trigger boundaries, authorization checks, or exclusion conditions. In an agentic environment, overly general prompts can cause the skill to activate in unintended contexts and perform sensitive code-generation or analysis tasks on unrelated user input.

Vague Triggers

Medium
Confidence
85% confidence
Finding
The later example prompts remain generic and operationally broad, which reinforces unsafe matching behavior across a wide range of user requests. This increases the chance that the agent will invoke the skill when the user did not intend to use it, potentially leading to unsafe file creation, code modification, or misleading automation in development workflows.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill executes a shell command (`dotnet new ...`) that creates files and directories based on user-controlled inputs, but it provides no confirmation gate, safety warning, or restriction on where writes may occur. In an agent context, this is risky because invoking the skill can cause unintended filesystem side effects, and the shell command construction also increases exposure to command-injection if inputs such as `dotnetVersion` or `outputDir` are not strictly validated.

Static analysis

No suspicious patterns detected.