Back to skill

Security audit

drt-self-improving-agent

Security checks for vulnerabilities and agentic risk

Overview

This is a local trade journal and analysis helper with limited, disclosed persistence and no evidence of network access, credential use, or hidden execution.

Install only if you are comfortable storing your trade journal locally in the skill's data/trades.json file. Treat the analysis as simple historical statistics, not financial advice or an autonomous trading system, and convert the CET/Danish-time guidance if it does not match your trading timezone.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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 (5)

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The code is consistent with the local, no-network portion of the description and does build a basic persistent trade memory by saving trades to a local JSON file. However, the declared purpose materially overstates the implemented behavior: this code only journals trades and stores them locally. It does not analyze historical performance, detect win/loss patterns, or make the agent smarter over time. Therefore, the description does not accurately represent what this code chunk actually does.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The skill describes behavior that writes persistent data (data/trades.json) but does not declare any explicit tool scope or permissions. Undeclared write capability weakens reviewability and containment, because a host may grant broader file access than users expect from the manifest alone.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The module docstring and command description are entirely in Danish, and the script's user-facing messages are also Danish-only. This imposes a specific language on users without offering a language choice or documenting a justified locale restriction, which matches the language/locale policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This code presents its CLI description, example text, help text, and success output in Danish/French-language phrasing such as "Eksempel", "Journaliser en DRT-trade", and "Journaliseret". Because the file gives no user opt-in or documented region-specific justification, it appears to impose a specific language/locale, which matches the natural-language policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The markdown instructs users to use trading windows in 'CET/Danish time', which imposes a specific locale/timezone in the skill's natural-language guidance. There is no opt-in, alternative timezone handling, or note that the timing is region-specific, so users outside that locale could be implicitly forced into a specific regional framing.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.