Back to skill

Security audit

Greek Individual Taxes

Security checks for vulnerabilities and agentic risk

Overview

The skill says it only prepares tax data locally, but its instructions also cover email access, bank-data import, tax submission, digital signatures, cloud storage, and payment handling.

Install only if you intend to use a high-trust tax automation skill and can enforce manual approval before email access, bank import, cloud upload, digital signing, AADE submission, or payment scheduling. Do not install it as-is if you only want local tax-return preparation.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
SKILL.md:8
Finding

Undisclosed High-Impact Data Access, Tax Submission, and Payment Operations

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:8, SKILL.md:290, SKILL.md:496, SKILL.md:511, SKILL.md:523, SKILL.md:526, and SKILL.md:582
Vulnerability Type: Authorization-boundary violation and excessive privilege use
Risk Level: Critical

Vulnerable Code

text
metadata: {"openclaw": {"requires": {"bins": ["jq"], "env": ["OPENCLAW_DATA_DIR"]}, "notes": "Instruction-only skill. Prepares E1 tax return data from local files. Does not submit to AADE directly — submission is handled by greek-compliance-aade skill with human approval."}}

openclaw individual collect-employment-docs --year 2025

openclaw individual process-tax-emails --year 2025

openclaw individual submit-e1-form --digital-signature --confirm-receipt

openclaw individual import-bank-data --verify-salary-deposits --track-investments

openclaw individual process-tax-payments --schedule-installments --confirm-payments

cloud_storage: "Secure document archive with retention policies"

Technical Analysis

The skill metadata defines it as an instruction-only, local-file preparation skill and explicitly states that it does not submit returns directly to AADE. It further claims that submission is delegated to another skill and requires human approval.

The subsequent workflow instructions contradict that boundary by directing the agent to:

  • Collect employment and tax documents.
  • Process tax-related email.
  • Import banking and investment data.
  • Submit an E1 return using a digital signature.
  • Schedule and confirm tax payments.
  • Store sensitive documents in unspecified cloud storage.

These operations require access to substantially more sensitive resources than local tax-return preparation legitimately needs. The skill does not define mandatory per-operation consent, an enforceable human-approval checkpoint, least-privilege scopes, allowlisted storage destinations, transaction limits, or safeguards for credentials and ...[truncated 2409 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove email processing, bank import, cloud storage, AADE submission, and payment-processing instructions from this local preparation skill.
  2. Delegate every external or consequential operation to separately audited integration skills with narrowly scoped permissions.
  3. Enforce a non-bypassable human-approval checkpoint immediately before:
    • Accessing email or banking data.
    • Uploading records to external storage.
    • Applying a digital signature.
    • Submitting an E1 return.
    • Scheduling or confirming a payment.
  4. Display a complete action preview that identifies the taxpayer, destination, return data, payment amount, payment date, and external service before approval.
  5. Use least-privilege, short-lived authorization scopes and prohibit reuse of TAXIS, banking, email, or digital-signature credentials.
  6. Require explicit destination allowlists for external services and cloud storage. Document the provider, jurisdiction, retention policy, encryption controls, and deletion procedure.
  7. Encrypt sensitive records in transit and at rest, redact secrets and personal data from logs, and maintain an auditable consent record.
  8. Separate read-only document import from write, submission, and payment permissions.
  9. Add transaction limits, duplicate-submission prevention, rollback or cancellation procedures where supported, and independent submission-receipt verification.
  10. Make the metadata accurately describe every required permission and external effect. If the skill remains local-only, enforce that restriction technically rather than relying on descriptive text.
  11. Add security tests verifying that external access, digital signing, submission, storage, and payments cannot occur without explicit approval.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (13)

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill metadata and notes explicitly claim the skill only prepares local E1 return data and does not submit to AADE, but later sections document direct submission, monitoring, and TAXIS preparation actions. This inconsistency is dangerous because downstream agents or users may grant trust and reduced scrutiny based on the earlier safety boundary, while the skill actually describes higher-risk authority over regulated filings.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · SKILL.md (reported line 20)May include surrounding context.

bash
export OPENCLAW_DATA_DIR="/data"
which jq || sudo apt install jq

No external credentials required. This skill prepares E1 tax return data from local files. Actual submission to AADE is handled by the greek-compliance-aade skill with human approval.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file states that another skill handles actual AADE submission with human approval, yet later instructs this skill to submit E1 forms directly. In a tax context, this breaks separation of duties and can enable unauthorized or premature filing of sensitive, legally binding returns under the false assumption that human review occurs elsewhere.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
94% confidence
Finding

Bank-data import and tax-payment processing go materially beyond preparing an individual tax return and introduce financial-action capabilities. In the context of tax workflows, these functions expose bank data and create a path to unauthorized payment scheduling or execution, especially if users rely on the earlier claim that the skill is local-only and non-submitting.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

This JSON file is a manifest-like artifact, so SQP-1 applies. The prompt text is phrased as broad natural-language requests such as 'Prepare E1 tax return...' without any stated trigger constraints, explicit invocation syntax, or exclusion conditions, which could overlap with ordinary user requests and cause unintended activation in a system that maps prompts directly to skills.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
80% confidence
Finding

The line describes a generic request to 'Process individual tax return...' and does not specify whether it is only an example input, a test case, or an activation phrase. In manifest-style files, lack of specificity about trigger scope can make ordinary tax-assistance requests unintentionally match.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
78% confidence
Finding

The request 'Calculate ENFIA property tax...' is natural everyday task language and lacks any contextual limiter such as environment, command prefix, or non-trigger examples. If consumed by orchestration logic, this ambiguity could broaden activation beyond intended contexts.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
79% confidence
Finding

The prompt is a broad natural-language request for tax optimization and does not indicate when the skill should activate or when it should not. Under SQP-1 for manifest-like files, this is a vague trigger pattern because no negative examples or narrow context are provided.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
81% confidence
Finding

The phrase 'Prepare comprehensive E1 tax return package...' is generic enough to resemble common user requests, yet the file provides no trigger boundaries or explicit statement that it is only a test prompt. This can create accidental matches in systems using manifest/config content to guide invocation.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
89% confidence
Finding

The setup instructions recommend sudo apt install jq, introducing privileged system modification for a skill that is described as instruction-only. Even though jq itself is common, encouraging root execution in skill setup expands attack surface and normalizes privilege escalation where it should not be necessary.

Content

Scanner excerpt · SKILL.md (reported line 20)May include surrounding context.

bash
export OPENCLAW_DATA_DIR="/data"
which jq || sudo apt install jq

No external credentials required. This skill prepares E1 tax return data from local files. Actual submission to AADE is handled by the greek-compliance-aade skill with human approval.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Autonomous email processing and client auto-response extend the skill from local tax preparation into communication handling over sensitive tax documents and notices. That increases the chance of unintended disclosure, processing of spoofed messages, or sending inaccurate tax-related communications without explicit user review.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

Forcing --auto-respond-greek without clear user opt-in can cause the system to send external communications automatically in a regulated tax context. This is risky because it can misrepresent the user, disclose sensitive case details, or generate legally meaningful communications without review.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The expectation explicitly requires 'professional client communication materials in Greek,' which imposes a language requirement in natural language. Under SQP-3, forcing a specific language without user opt-in can violate language/locale policy unless the regional constraint is clearly documented and justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.