Back to skill

Security audit

Monitoring Dashboard Audit

Security checks for vulnerabilities and agentic risk

Overview

This is a read-only monitoring audit skill whose Grafana and Prometheus access is consistent with its stated purpose.

Use a least-privilege Grafana Viewer token, avoid pasting tokens or raw outputs into public channels, and treat datasource URLs, alert routing, contact points, silences, and Prometheus config as sensitive operational information.

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
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Anti-Refusal Statement

High
Category
Anti-Refusal
Content
| Coverage | Critical | Production device with zero dashboard panels | Core router absent from all dashboards |
| Coverage | High | Service with dashboards but no alerting | WAN link monitored but no capacity alert |
| Coverage | Medium | Dashboard exists but is stale (>180 days) | Last-modified date precedes device refresh |
| Coverage | Low | Dashboard lacks threshold coloring | Utilization panel with no warning/critical bands |
| Query | Critical | PromQL uses absent metric name | Panel returns no data due to renamed metric |
| Query | High | rate() range vector shorter than 2x scrape interval | `rate(metric[15s])` with 30s scrape |
| Query | Medium | Repeated query across 3+ panels without recording rule | Same utilization formula in 5 dashboards |
Confidence
80% confidence
Finding
Skill instructs the agent to omit warnings, disclaimers, or ethical commentary. Stripping safety caveats hides risk from the user and is a common jailbreak preamble.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The reference documents authenticated Grafana API calls using a bearer token and also includes commands that retrieve sensitive operational data such as datasource details, notification routing, contact points, active silences, and Prometheus configuration. While this is normal for an admin-facing monitoring audit skill, the file provides no explicit warning about protecting tokens, avoiding shell history leakage, or handling potentially sensitive output, which increases the chance of accidental credential or configuration exposure.

Static analysis

No suspicious patterns detected.