Back to skill

Security audit

DevOps Insight

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed DevOps incident tool, but it combines broad production access with automatic external publishing and mutation-capable workflows that need review before use.

Review before installing. Use read-only and tightly scoped MCP credentials where possible, disable EvoMap heartbeat and autoPublish unless your organization explicitly approves the destination and payload, require confirmation before ticket, branch, PR, or production changes, and fix the database setup script before using it outside a disposable environment.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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 (3)

other

Error
Location
config.example.json:47
Finding

Automatic External Publication May Disclose Sensitive Production Data

Content
View full analysis
; description: string; }; context: { monitoring_data?: any; root_cause?: string; affected_services?: string[]; }; ``` ### Technical Analysis The example configuration enables both recurring heartbeat traffic and automatic publication to the external EvoMap endpoint. The documented Capsule structure can include unrestricted `monitoring_data`, internal service identifiers, root-cause information, file paths, source diffs, and file contents. The skill instructs users to sanitize sensitive information, but no mandatory redaction mechanism, payload allowlist, secret detection, or per-publication approval requirement is defined. A confidence threshold is a quality measure and does not establish whether a payload is safe to disclose. External publication is not required to perform the skill's core incident collection, root-cause analysis, ticket management, or code review functions. Enabling it by default therefore exceeds the minimum network privileges necessary for those functions. The static pre-scan warnings for `README.md` and `README.zh.md` were reviewed. Those files do not themselves contain a command that directly transmits secrets. The confirmed outbound-data risk ...[truncated 1432 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/init-database.sh:17
Finding

SQL Injection Through Environment-Controlled Database Name

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/init-database.sh:12
Finding

Predictable Default Database Password

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (23)

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The description suggests a broader operational skill focused on incident management and SRE workflows, including analysis, troubleshooting, alert investigation, ticket creation, and observability integration. The actual code only performs a predefined health check of several local/CLI-accessible services and reports whether each command succeeds. While health checks can be related to DevOps/SRE and loosely adjacent to 'check monitoring' or troubleshooting, this script’s primary purpose is much narrower: validating availability of specific dependencies. It does not contain logic for incident analysis, RCA, alert investigation, ticket creation, or observability integration. Therefore the code’s actual behavior is only partially related and is materially different from the declared purpose.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
80% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · config.example.json (reported line 6)May include surrounding context.

json
"mcpServers": {
      "kubernetes": {
        "command": "mcp-server-kubernetes",
        "args": ["--kubeconfig", "${HOME}/.kube/config"],
        "env": {
          "KUBECONFIG": "${HOME}/.kube/config"
        }

Credential Access

High
Category
Privilege Escalation
Confidence
80% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · config.example.json (reported line 8)May include surrounding context.

json
"mcpServers": {
      "kubernetes": {
        "command": "mcp-server-kubernetes",
        "args": ["--kubeconfig", "${HOME}/.kube/config"],
        "env": {
          "KUBECONFIG": "${HOME}/.kube/config"
        }

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · config.example.json (reported line 6)May include surrounding context.

json
"mcpServers": {
      "kubernetes": {
        "command": "mcp-server-kubernetes",
        "args": ["--kubeconfig", "${HOME}/.kube/config"],
        "env": {
          "KUBECONFIG": "${HOME}/.kube/config"
        }

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · skill.md (reported line 241)May include surrounding context.

md
"mcpServers": {
      "kubernetes": {
        "command": "mcp-server-kubernetes",
        "args": ["--kubeconfig", "${HOME}/.kube/config"],
        "env": {
          "KUBECONFIG": "${HOME}/.kube/config"
        }

Credential Access

High
Category
Privilege Escalation
Confidence
60% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · config.example.json (reported line 8)May include surrounding context.

json
"command": "mcp-server-kubernetes",
        "args": ["--kubeconfig", "${HOME}/.kube/config"],
        "env": {
          "KUBECONFIG": "${HOME}/.kube/config"
        }
      },
      "postgresql": {

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The markdown describes automatic external publishing without a clear user-facing warning about data-sharing consequences. Because the skill handles logs, metrics, root-cause narratives, and possible code diffs, failing to prominently disclose outbound sharing undermines informed consent and can expose sensitive production information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README states that tickets may be automatically created, updated, and correlated in an external ticket database, but it does not clearly warn users that running the skill can modify live incident records. In a DevOps/SRE context, this can cause unintended changes to operational workflows, noisy or incorrect incident records, and accidental writes to production-integrated systems if users assume the skill is read-only.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README advertises optional auto-fix code generation and PR submission without a prominent warning that the skill may modify code repositories through GitHub integration. In this skill's context, that is more dangerous because it operates on production incidents and related code, so an operator could unintentionally trigger repository changes, create unreviewed fixes, or introduce harmful patches during incident response.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README advertises code review and optional auto-fix/PR submission features that extend beyond the stated incident-analysis and observability scope. In an agent skill, scope expansion matters because users may invoke capabilities that can modify source code or repositories, increasing the chance of unexpected write actions and privilege misuse.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The workflow says tickets are 'automatically create[d], update[d], and correlate[d]' without a nearby warning that this may alter external incident records. In a DevOps/SRE context, silent writes to ticketing systems can corrupt audit trails, create false incidents, or trigger operational workflows based on agent output.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The README describes optional auto-fix generation and PR submission without an explicit warning adjacent to the feature that code changes may be produced automatically. In this skill context, that is more dangerous because the agent is connected to GitHub and incident tooling, so an operator may treat it as analysis-only while it can initiate code-change workflows.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrase 'help me analyze the cause' is broad conversational language that can easily appear in normal user requests outside a tightly scoped DevOps context. This increases the chance of unintended skill invocation, causing the agent to access monitoring, logs, or ticketing workflows when the user did not explicitly request this specific capability.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The phrase 'Help me analyze the root cause of last night's 22:00 order service outage' relies on generic root-cause-analysis wording that overlaps with ordinary conversation, while still implying access to sensitive production data. In a skill that reconstructs timelines, pulls logs, and generates incident reports, broad phrasing raises the risk of over-triggering and unnecessary exposure of operational details.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger 'Check if there are any potential system issues' is extremely broad and could match many routine requests, yet the example leads to sweeping scans across service metrics, databases, and caches. Because this skill is designed for proactive environment-wide discovery, ambiguous invocation is more dangerous here than in a narrow read-only tool: it can prompt expansive data access and analysis without sufficiently specific user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This shell script performs safety-relevant operations against a PostgreSQL instance, including creating a database, creating tables and indexes, and dropping/recreating a trigger. While the script prints generic progress messages, it does not clearly warn the user that it will modify the target database schema or prompt for confirmation before doing so.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger description is broad enough to activate on many ordinary DevOps conversations, increasing the likelihood that powerful monitoring, GitHub, and external publishing behaviors run in unintended contexts. Overbroad activation is especially risky here because the skill spans sensitive infrastructure data access and potential write actions.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill claims code review, commits, and automated fix commits even though its stated purpose is analysis and troubleshooting. Granting a troubleshooting skill write-capable repository actions expands blast radius from observation to modification, enabling unauthorized or unsafe code changes if the skill is triggered in routine incident workflows.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill introduces EvoMap publishing, heartbeat, and reputation tracking that are not necessary for incident analysis and create an unexpected external data-exfiltration path. In a DevOps context, incident artifacts can include logs, topology, service names, and root-cause details, so automatic sharing to a third-party network materially increases confidentiality and supply-chain risk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

Automatic publishing of analysis artifacts to EvoMap is broader than the manifest and creates an undisclosed external sharing channel. Incident analysis commonly contains sensitive operational data, and auto-publishing high-confidence solutions can leak internal architecture, weaknesses, or proprietary code/context without a meaningful user decision point.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documented workflow includes generating fix code, creating branches, submitting PRs, and updating tickets, which is a material scope expansion from analysis into operational change execution. In production incident scenarios, this can turn ambiguous LLM conclusions into real repository and workflow mutations, increasing the chance of bad fixes, abuse of credentials, or attacker-influenced changes.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

This JSON config fixes the service endpoint to "https://evomap.ai/a2a", which implicitly enforces a specific service/locale context with no accompanying opt-in or justification in the file. Under the natural-language policy rule, fixed organizational or regional defaults can be problematic when they are presented without any user-choice language.

Content

No source excerpt is available for this finding.