Back to skill

Security audit

Lab Budget Forecaster

Security checks for vulnerabilities and agentic risk

Overview

This is a local lab budget forecasting skill with some documentation and accuracy caveats, but no evidence of hidden network access, persistence, credential use, or destructive behavior.

Installers should treat this as a simple local budget-runway calculator, not a general data-analysis skill. Provide only intended budget or expense CSV data, verify the actual CLI options with --help, and manually review forecast assumptions because the implementation may not use the grant end date as expected.

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
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Tp4

High
Category
MCP Tool Poisoning
Confidence
89% confidence
Finding

The code is clearly a lab budget forecasting utility, so it partially aligns with the title-level description. However, the declared purpose describes a more general tool for 'data analysis workflows' with structured execution, explicit assumptions, and clear output boundaries. The supplied code does not implement workflow management, assumption declaration/validation, or boundary enforcement features; instead, it performs a specific budget burn-rate and depletion forecast from CLI inputs and optional CSV data. This makes the declared description materially broader and somewhat different from the actual primary behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The activation guidance is broad enough that an agent could invoke this skill for loosely related 'data analysis workflows' beyond simple budget forecasting. That increases the chance of inappropriate execution, unsafe assumptions, or misuse of the packaged script in contexts where required input validation and scope restrictions are insufficient.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The file repeatedly describes invocation and usage through broad natural-language labels such as general 'Use this skill for data analysis tasks...' phrasing, while the same audit also records a stress-case failure where outputs drifted outside declared scope. That combination makes the trigger surface overly permissive: an agent may invoke the skill for adjacent or underspecified tasks, increasing the risk of scope creep, unreliable outputs, or misuse beyond intended budget-forecasting boundaries.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill-level description and the method docstring describe forecasting grant fund depletion, which implies using the provided grant timeline. However, predict_depletion computes the depletion date from datetime.now() and never uses self.end_date, despite the constructor requiring an end date. This contradicts the documented forecasting intent rather than merely omitting detail.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.