Back to skill

Security audit

Api Gateway 1.0.69

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed API gateway, but it gives an agent very broad ability to act across many connected business, file, admin, messaging, and financial services with limited safety guidance.

Install only if you trust Maton with brokered access to the connected services and are comfortable giving the agent broad API-level authority. Keep OAuth/API-key connections least-privileged, require explicit approval before writes, deletes, admin changes, public messages, or financial operations, and do not run the documented command that prints MATON_API_KEY; use a presence-only check instead.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:596
Finding
Full API Credential Exposed by Troubleshooting Command## Vulnerability Details **File Location**: `SKILL.md`, lines 596–600 **Vulnerability Type**: Secret disclosure through insecure diagnostic guidance **Risk Level**: Medium **Vulnerable code snippet**: ```markdown 1. Check that the `MATON_API_KEY` environment variable is set: ```bash echo $MATON_API_KEY ``` ``` ### Technical Analysis The troubleshooting instructions print the complete `MATON_API_KEY` value to standard output. This is unnecessary when the intended diagnostic goal is only to determine whether the variable is configured. Terminal output may be retained in shell transcripts, AI-agent execution logs, CI/CD logs, screen recordings, shared support sessions, or copied diagnostic reports. Although the key does not independently authorize new third-party OAuth connections, the Skill documentation states that it authenticates requests to `gateway.maton.ai` and `ctrl.maton.ai`. Therefore, disclosure can provide access to third-party services already connected to the affected Maton account. ### Attack Path 1. A user encounters an authentication error and follows the documented troubleshooting procedure. 2. The user or Agent executes `echo $MATON_API_KEY`. 3. The complete bearer credential appears in terminal output. 4. The output is retained in an Agent transcript, CI log, shared console, screen capture, or support report. 5. An attacker with access to that output extracts the credential. 6. The attacker submits it in the `Authorization: Bearer` header to Maton gateway or connection-management endpoints. 7. Subject to server-side controls and the OAuth scopes of existing connections, the attacker can read, create, modify, or delete third-party resources and inspect or manage connection records. ### Impact Assessment Successful exploitation compromises the Maton account capability represented by the exposed key. The attainable scope depends on existing authorized connections and their OAuth or API-key per ...[truncated 585 chars]
Remediation
## Remediation Suggestions Replace the secret-printing command with a presence-only check that never reveals the value: ```bash if [ -n "${MATON_API_KEY:-}" ]; then echo "MATON_API_KEY is set" else echo "MATON_API_KEY is not set" fi ``` Additional hardening measures: 1. Explicitly warn users never to print, paste, log, or share the API key. 2. Redact authorization headers and environment-variable values from Agent, application, proxy, and CI logs. 3. Provide a dedicated server-side credential-validation endpoint that returns only validity status and no sensitive account data. 4. Support prompt key revocation and rotation from the Maton account interface. 5. Apply least-privilege scopes to every third-party connection and require confirmation for destructive operations. 6. Monitor for anomalous key use, including unfamiliar IP addresses, unusual providers, destructive calls, and rapid connection enumeration. 7. Avoid placing connection session tokens in logs or copied troubleshooting output.
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (500)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Contact
```bash
DELETE /active-campaign/api/3/contacts/{contactId}
```

### Tags
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Remove Tag from Contact
```bash
DELETE /active-campaign/api/3/contactTags/{contactTagId}
```

### Lists
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Block
```bash
DELETE /acuity-scheduling/api/v1/blocks/{id}
```

### List Forms
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Records
```bash
DELETE /airtable/v0/{baseId}/{tableIdOrName}?records[]=recXXXXX&records[]=recYYYYY
```

### List Bases
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete a Task
```bash
DELETE /asana/api/1.0/tasks/{task_gid}
```

### Get Subtasks
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Webhook
```bash
DELETE /asana/api/1.0/webhooks/{webhook_gid}
```

## Notes
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Record
```bash
DELETE /attio/v2/objects/{object}/records/{record_id}
```

### List Tasks
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Note
```bash
DELETE /attio/v2/notes/{note_id}
```

### Comments
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete List Entry
```bash
DELETE /attio/v2/lists/{list}/entries/{entry_id}
```

### Meetings
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Row
```bash
DELETE /baserow/api/database/rows/table/{table_id}/{row_id}/
```

### Batch Create Rows
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Subscription
```bash
DELETE /beehiiv/v2/publications/{publication_id}/subscriptions/{subscription_id}
```

### Posts
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Folder
```bash
DELETE /box/2.0/folders/{folder_id}
DELETE /box/2.0/folders/{folder_id}?recursive=true
```
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Folder
```bash
DELETE /box/2.0/folders/{folder_id}
DELETE /box/2.0/folders/{folder_id}?recursive=true
```

### Get File
Confidence
83% confidence
Finding
The recursive delete variant materially increases blast radius by allowing deletion of an entire folder tree from a single parameter choice. In an API gateway skill, exposing this pattern without guardrails invites parameter abuse through mistaken, over-broad, or malicious prompts that can wipe large datasets.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete File
```bash
DELETE /box/2.0/files/{file_id}
```

### Create Shared Link
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Trash
```bash
GET /box/2.0/folders/trash/items
DELETE /box/2.0/files/{file_id}/trash
DELETE /box/2.0/folders/{folder_id}/trash
```
Confidence
82% confidence
Finding
Deleting from trash is effectively a permanent purge operation and therefore significantly more dangerous than ordinary deletion. In the context of an agent-facing API gateway, this endpoint can be abused or triggered accidentally to destroy recoverable data with little opportunity for rollback.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
```bash
GET /box/2.0/folders/trash/items
DELETE /box/2.0/files/{file_id}/trash
DELETE /box/2.0/folders/{folder_id}/trash
```

### Collections
Confidence
82% confidence
Finding
Purging folders from trash can permanently remove entire collections of content, amplifying destructive impact beyond a single object. The skill context makes this more dangerous because the gateway bridges to real user-authorized cloud data, so misuse can cause substantial irreversible loss.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
```bash
GET /box/2.0/webhooks
POST /box/2.0/webhooks
DELETE /box/2.0/webhooks/{webhook_id}
```

## Pagination
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Contact
```bash
DELETE /brevo/v3/contacts/{identifier}
```

### Lists
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Event Type
```bash
DELETE /cal-com/v2/event-types/{eventTypeId}
```

### Event Type Webhooks
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Webhook
```bash
DELETE /cal-com/v2/event-types/{eventTypeId}/webhooks/{webhookId}
```

### Bookings
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Schedule
```bash
DELETE /cal-com/v2/schedules/{scheduleId}
```

### Availability Slots
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Webhook
```bash
DELETE /cal-com/v2/webhooks/{webhookId}
```

### Teams
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
### Delete Webhook Subscription
```bash
DELETE /calendly/webhook_subscriptions/{uuid}
```

## Notes
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Tag
```bash
DELETE /callrail/v3/a/{account_id}/tags/{tag_id}.json
```

### Users
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Tool Parameter Abuse

High
Category
Tool Misuse
Content
#### Delete Contact
```bash
DELETE /clickfunnels/api/v2/contacts/{contact_id}
```

#### Upsert Contact
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Static analysis

Detected: suspicious.exposed_resource_identifier

Example code exposes a concrete Google Sheets spreadsheet ID instead of a placeholder.

Critical
Code
suspicious.exposed_resource_identifier
Location
SKILL.md:497

Example code exposes a concrete connection_id instead of a placeholder.

Critical
Code
suspicious.exposed_resource_identifier
Location
SKILL.md:94