Back to skill

Security audit

Queue Aiops

Security checks across malware telemetry and agentic risk

Overview

This skill is a clearly scoped Redis and RabbitMQ operations helper that discloses its broker access, local state, secrets handling, and destructive write safeguards.

Install only if you intend to let the agent inspect and, when enabled, change Redis or RabbitMQ state. Prefer QUEUE_READ_ONLY=1 until you trust the setup, restrict broker credentials to the minimum needed permissions, avoid storing the master password in plaintext client configs when your MCP client offers safer secret injection, and treat purge/delete operations as destructive even with audit and undo records.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Rogue AgentSelf-Modification, Session Persistence
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The JSON example places `QUEUE_AIOPS_MASTER_PASSWORD` as a literal value in the `env` block, and the surrounding text tells users to put everything needed there. This is a privacy- and security-relevant behavior because it encourages storing a secret in configuration, but the guide does not warn users about plaintext secret exposure or safer alternatives such as external secret injection.

Session Persistence

Medium
Category
Rogue Agent
Content
metadata: {"openclaw":{"requires":{"env":["QUEUE_AIOPS_CONFIG"],"bins":["queue-aiops"],"config":["~/.queue-aiops/config.yaml","~/.queue-aiops/secrets.enc"]},"optional":{"env":["QUEUE_AIOPS_MASTER_PASSWORD"]},"primaryEnv":"QUEUE_AIOPS_CONFIG","homepage":"https://github.com/AIops-tools/Queue-AIops","emoji":"📬","os":["macos","linux"]}}
compatibility: >
  Standalone, self-governed broker operations across redis (RESP wire protocol via the redis Python client; password optional — auth-less lab instances are supported — TLS optional) and rabbitmq (management HTTP API /api/..., HTTP Basic auth with a monitoring/management-tagged user). Each target in the config names its own platform, and a name-keyed platform registry selects the protocol shape, so one config can span a mixed estate. The governance harness (audit, policy, token/runaway budget, undo, risk-tiers) is bundled in the package — no external skill-family dependency.
  All write operations are audited to a local SQLite DB under ~/.queue-aiops/ (relocatable via QUEUE_AIOPS_HOME).
  Credentials: the redis password (optional) or the rabbitmq management password is stored ENCRYPTED in ~/.queue-aiops/secrets.enc (Fernet/AES-128 + scrypt-derived key) — never plaintext on disk. Run 'queue-aiops init' to onboard (it asks for the platform), or 'queue-aiops secret set <target>' to add one. The store is unlocked by a master password from QUEUE_AIOPS_MASTER_PASSWORD (non-interactive/MCP/CI) or an interactive prompt (CLI on a TTY). A legacy plaintext env var QUEUE_<TARGET_NAME_UPPER>_SECRET is still honoured as a fallback with a deprecation warning (migrate with 'queue-aiops secret migrate'). The secret is presented as AUTH at connect time (redis) or HTTP Basic auth (rabbitmq) and held only in memory; secrets are never logged or echoed.
  State-changing operations pass through the @governed_tool decorator (pre-check + budget guard + audit + risk-tier gate). purge_queue and delete_queue are risk=high with dry_run + an approver
...[truncated 25 chars]
Confidence
60% confidence
Finding
write operations are audited to a local SQLite DB under ~/.queue-aiops/ (relocatable via QUEUE_AIOPS_HOME). Credentials: the redis password (optional) or the rabbitmq management password is stored E

Session Persistence

Medium
Category
Rogue Agent
Content
3. `queue-aiops rabbitmq policies` → check no policy still targets its name pattern, so
   you are not leaving a dangling rule behind.
4. `queue-aiops rabbitmq delete-queue <name> --vhost / --dry-run` → preview.
5. Re-run without `--dry-run` (double-confirm, risk=high, approver required) — the write
   captures the queue's definition first, so the undo descriptor **re-declares exactly
   that queue** (durability and auto-delete flags included).
6. `queue-aiops rabbitmq queues` → confirm it is gone and nothing else changed.
Confidence
60% confidence
Finding
write captures the queue's definition first, so the undo descriptor **re-declares exactly that queue** (durability and auto-delete flags included). 6. `queue-aiops rabbitmq queues` → confirm it

Session Persistence

Medium
Category
Rogue Agent
Content
### rabbitmq

Enable the management plugin and create (or reuse) a user with at least the
`monitoring` tag (reads) — the `management`/`policymaker` tag is needed for
policy writes, and queue purge/delete needs configure permission on the vhost:
Confidence
18% confidence
Finding
create (or reuse) a user with at least the `monitoring` tag (reads) — the `management`/`policymaker` tag is needed for policy writes, and queue purge/delete needs configure permission on the vhost: `

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.prompt_injection_instructions

Prompt-injection style instruction pattern detected.

Warn
Code
suspicious.prompt_injection_instructions
Location
references/agent-guardrails.md:27