Back to skill

Security audit

ableton-live

Security checks for vulnerabilities and agentic risk

Overview

This skill is a clearly scoped Ableton Live bridge helper that reads a local bridge token and can run user-requested Live edits, with no hidden installation or persistence.

Install only if you intend to let an MCP client control your local Ableton Live set through Loophole. Treat the bridge bearer token from bridge.json as sensitive, review any generated client config before merging it, and expect recipe write actions to change the open Live set one tool call at a time.

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
  • 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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (7)

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 24)May include surrounding context.

md
## The five checks

| #   | Check                                    | How                                                                                                                                                                       | FIX line on failure                                                                                                  |
| --- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1   | A supported current Live beta is running | Confirm an Ableton Live process is up; check 4 is the stronger bridge signal                                                                                              | "Open the Live beta build used to package and test this extension."                                                  |
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 24)May include surrounding context.

md
## The five checks

| #   | Check                                    | How                                                                                                                                                                       | FIX line on failure                                                                                                  |
| --- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1   | A supported current Live beta is running | Confirm an Ableton Live process is up; check 4 is the stronger bridge signal                                                                                              | "Open the Live beta build used to package and test this extension."                                                  |
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 26)May include surrounding context.

md
| #   | Check                                    | How                                                                                                                                                                       | FIX line on failure                                                                                                  |
| --- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1   | A supported current Live beta is running | Confirm an Ableton Live process is up; check 4 is the stronger bridge signal                                                                                              | "Open the Live beta build used to package and test this extension."                                                  |
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |
| 3   | Node >= 24.14.1                          | run `node --version` and compare                                                                                                                                          | "Update Node to >= 24.14.1."                                                                                         |
| 4   | Bridge port reachable                    | read `port` from `bridge.json`, then `GET http://127.0.0.1:<port>/mcp` with header `Authorization: Bearer <token>`; expect a valid MCP response, not a connection refusal | "Live is running but the bridge did not answer on <port>. Restart L
...[truncated 24 chars]

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 27)May include surrounding context.

md
| #   | Check                                    | How                                                                                                                                                                       | FIX line on failure                                                                                                  |
| --- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1   | A supported current Live beta is running | Confirm an Ableton Live process is up; check 4 is the stronger bridge signal                                                                                              | "Open the Live beta build used to package and test this extension."                                                  |
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |
| 3   | Node >= 24.14.1                          | run `node --version` and compare                                                                                                                                          | "Update Node to >= 24.14.1."                                                                                         |
| 4   | Bridge port reachable                    | read `port` from `bridge.json`, then `GET http://127.0.0.1:<port>/mcp` with header `Authorization: Bearer <token>`; expect a valid MCP response, not a connection refusal | "Live is running but the bridge did not answer on <port>. Restart L
...[truncated 25 chars]

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 28)May include surrounding context.

md
| --- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1   | A supported current Live beta is running | Confirm an Ableton Live process is up; check 4 is the stronger bridge signal                                                                                              | "Open the Live beta build used to package and test this extension."                                                  |
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |
| 3   | Node >= 24.14.1                          | run `node --version` and compare                                                                                                                                          | "Update Node to >= 24.14.1."                                                                                         |
| 4   | Bridge port reachable                    | read `port` from `bridge.json`, then `GET http://127.0.0.1:<port>/mcp` with header `Authorization: Bearer <token>`; expect a valid MCP response, not a connection refusal | "Live is running but the bridge did not answer on <port>. Restart Live, and check that no other app holds the port." |
| 5   | Token present                            | `bridge.json` contains a non-empty `token`                                                                                                                                | "No token in bridge.json. Reinstall or restart the extension to reg
...[truncated 24 chars]

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 28)May include surrounding context.

md
| --- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| 1   | A supported current Live beta is running | Confirm an Ableton Live process is up; check 4 is the stronger bridge signal                                                                                              | "Open the Live beta build used to package and test this extension."                                                  |
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |
| 3   | Node >= 24.14.1                          | run `node --version` and compare                                                                                                                                          | "Update Node to >= 24.14.1."                                                                                         |
| 4   | Bridge port reachable                    | read `port` from `bridge.json`, then `GET http://127.0.0.1:<port>/mcp` with header `Authorization: Bearer <token>`; expect a valid MCP response, not a connection refusal | "Live is running but the bridge did not answer on <port>. Restart Live, and check that no other app holds the port." |
| 5   | Token present                            | `bridge.json` contains a non-empty `token`                                                                                                                                | "No token in bridge.json. Reinstall or restart the extension to reg
...[truncated 24 chars]

Whitespace Padding

Medium
Category
Prompt Injection
Confidence
70% confidence
Finding

Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Content

Scanner excerpt · doctor.md (reported line 30)May include surrounding context.

md
| 2   | The extension is installed and active    | `bridge.json` exists in the extension `storageDirectory`                                                                                                                  | "Install the Loophole extension `.ablx` in Live, Settings, Extensions, then restart Live."                           |
| 3   | Node >= 24.14.1                          | run `node --version` and compare                                                                                                                                          | "Update Node to >= 24.14.1."                                                                                         |
| 4   | Bridge port reachable                    | read `port` from `bridge.json`, then `GET http://127.0.0.1:<port>/mcp` with header `Authorization: Bearer <token>`; expect a valid MCP response, not a connection refusal | "Live is running but the bridge did not answer on <port>. Restart Live, and check that no other app holds the port." |
| 5   | Token present                            | `bridge.json` contains a non-empty `token`                                                                                                                                | "No token in bridge.json. Reinstall or restart the extension to regenerate it."                                      |

Notes on the checks: