use-chatgpt-by-applescript
Warn
Audited by Gen Agent Trust Hub on Oct 9, 2026
Risk Level: MEDIUMCOMMAND_EXECUTIONDYNAMIC_EXECUTIONPRIVILEGE_ESCALATIONINDIRECT_PROMPT_INJECTIONOBFUSCATION
Full Analysis
- [DYNAMIC_EXECUTION]: The
chatgpt-research-runner.mjsscript performs runtime compilation of the bundledchatgpt_status.cfile usingclang. It generates a binary in/tmp/or~/.local/bin/to interface with the macOSApplicationServicesframework for UI monitoring. Additionally, it dynamically generates and executes AppleScript blocks viaosascriptto control the ChatGPT application's GUI. - [COMMAND_EXECUTION]: The main runner script utilizes
execSyncto invoke a variety of system tools includingosascript,pbcopy,ssh,scp, andclang. These commands are used to manage clipboards, execute remote instructions, and compile code on the fly. - [PRIVILEGE_ESCALATION]: The skill requires the user to manually grant 'Accessibility' permissions to system processes like
sshd-keygen-wrapperor terminal applications. This is a high-privilege permission on macOS that allows the skill to inspect and interact with all elements in the graphical user interface, effectively allowing it to 'see' and 'type' as the user. - [OBFUSCATION]: The skill uses Base64 encoding to transport prompt payloads through the clipboard and over SSH. While documented as a technical solution for shell character escaping, it results in the execution of instructions that are not visible in plain text during transit.
- [INDIRECT_PROMPT_INJECTION]: The skill is vulnerable to indirect prompt injection due to its processing of external data.
- Ingestion points: Untrusted data enters via the
--promptCLI argument or through thetargets.jsonfile processed bychatgpt-research-runner.mjs. - Boundary markers: The skill prepends plugin URI tags but does not use clear delimiters or safety warnings to isolate user-supplied prompts.
- Capability inventory: The skill possesses significant capabilities including UI automation (
osascript), remote command execution (ssh), runtime compilation (clang), and the ability to scrape UI text (ApplicationServices). - Sanitization: There is no evidence of sanitization, filtering, or validation of the input prompt text before it is encoded and delivered to the target application.
Audit Metadata