Back to skill

Security audit

DevTool Answer Monitor

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed LLM answer-monitoring workflow with optional API calls and no hidden or unrelated behavior found.

Install only if you are comfortable with a local Python virtual environment and optional provider API calls. Start with quickstart replay or manual paste mode if you do not want networked model calls, keep API keys in environment variables rather than chat, review OPENAI_BASE_URL before using a gateway, and consider pinning dependencies if you need reproducible installs.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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 (5)

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The manifest identifies the skill as "visibility-monitor" while the provided skill metadata describes "devtool-answer-monitor" with a more specific purpose. This kind of identity and purpose mismatch can cause the wrong skill to be loaded, reviewed, or trusted, undermining provenance checks and creating opportunities for confusion, policy bypass, or accidental execution of unintended capabilities.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
This code sends raw query text to whichever provider is configured through an OpenAI-compatible base URL, including third-party gateways, without any built-in disclosure, consent prompt, or sanitization step. In a monitoring tool, query pools may contain proprietary prompts, internal project names, or sensitive business context, so silent transmission to external services creates a real confidentiality and compliance risk.

Unpinned Dependencies

Low
Category
Supply Chain
Content
openai>=1.30.0
jsonschema>=4.22.0
matplotlib>=3.8.0
Confidence
91% confidence
Finding
The dependency is specified with only a minimum version, which allows future major or minor releases to be installed without review. That can introduce supply-chain risk, unexpected breaking changes, or newly introduced vulnerable/transitive packages into the skill environment.

Unpinned Dependencies

Low
Category
Supply Chain
Content
openai>=1.30.0
jsonschema>=4.22.0
matplotlib>=3.8.0
Confidence
91% confidence
Finding
Using an unpinned jsonschema version means builds are not reproducible and may silently pull in newer releases with different behavior or security issues. In an agent skill context, dependency drift can change validation behavior and expand attack surface unexpectedly.

Unpinned Dependencies

Low
Category
Supply Chain
Content
openai>=1.30.0
jsonschema>=4.22.0
matplotlib>=3.8.0
Confidence
88% confidence
Finding
An unpinned matplotlib dependency can cause non-deterministic environments and expose the project to regressions or vulnerable upstream releases. While plotting libraries are typically less security-sensitive than core networking libraries, they still add supply-chain exposure if version selection is uncontrolled.

Static analysis

No suspicious patterns detected.