T05 · Unauthorized Access and Privilege Escalation
- Location
prompts/script_agent.md:99- Finding
Generated Scripts Can Retrieve Arbitrary Plaintext Secrets Using a Reusable MGC Token
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill needs careful review because it coordinates agents around local secrets and script execution while teaching broad secret retrieval, plaintext result files, and persistent user-history updates without strong controls.
Install only if you trust the MGC package and are prepared to run it with tight local controls. Pin and isolate the dependency, approve each script save and run, allow only specific secrets per script, treat ~/mgc_outputs as sensitive, clean up result files, and review or disable automatic updates to the best-practice document before using this with real credentials or customer data.
prompts/script_agent.md:99Generated Scripts Can Retrieve Arbitrary Plaintext Secrets Using a Reusable MGC Token
prompts/script_agent.md:14Sensitive Script Results Are Written to Unprotected Plaintext Files
prompts/master_agent.md:256Automatic Cross-Task State Updates Enable Memory Poisoning and Uncontrolled User Profiling
prompts/executor_agent.md:134Opaque Scripts Can Be Selected and Executed Through Fuzzy Metadata Matching
README.md:35Unpinned Third-Party Package Is Installed and Immediately Executed
The README states that the Master Agent will automatically decompose tasks and coordinate sub-agents to complete them, but it does not clearly warn that those agents may trigger script execution against the local MGC environment or stored sensitive resources. In a skill specifically designed for multi-agent orchestration and script execution, this omission can cause users to enable powerful automation without understanding that actions may have side effects on the local system, browser, or protected assets.
The skill identifier ends with _en, indicating an English-specific variant, but the document does not provide any user opt-in, language selection mechanism, or justification for enforcing English. Under the policy rule, forcing a specific language without user choice is a natural-language policy violation.
The manifest sets "language": "en", which indicates a fixed language/locale choice. Under the policy rules, forcing a specific language without user opt-in or a documented region-specific justification is a natural-language policy violation.
The workflow explicitly instructs agents to save execution results to local files for later reading, but it provides no warning that these files may contain sensitive data and will persist on disk. That omission increases the chance that operators and downstream agents treat the files as harmless, leading to unintended retention, discovery, or leakage.
The example code writes arbitrary data to a predictable local output directory and prints the path for later access, normalizing persistence of potentially sensitive data without any surrounding notice about confidentiality, retention, or cleanup. In a skill centered on 'safe cooperation,' this can mislead users into believing the pattern is secure by default when it is not.
The skill markets the workflow as 'zero-exposure' for sensitive resources, yet its own process requires agents to read result files from disk, which are plaintext artifacts outside the sealed execution boundary. This creates a confidentiality gap because sensitive or insufficiently redacted outputs can persist locally and be accessed by other agents, users, or processes on the same device.
The document states customer data is never exposed, but the marketing workflow has the Executor Agent filter target users before the sealed notification script runs, implying access to customer-identifying data outside the protected boundary. This undermines the stated security model and can expose customer data to broader handling, logging, or misuse.
The prompt directs the agent to modify cooperation_best_practice.md and store user-related preferences/logs after task completion, but it does not require explicit user notice or consent before writing persistent state. This creates a privacy and integrity risk because user interaction data may be retained unexpectedly and future agent behavior can be influenced by silently accumulated state.
The skill explicitly tells the agent to capture user preferences, common errors, and collaboration logs in a shared best-practice document. Retaining user-specific interaction data in shared memory without clear consent, retention limits, or access controls can expose behavioral data across tasks or users and create unauthorized profiling or leakage.
The prompt instructs use of mgc_save to persist script bodies in managed storage without requiring confirmation that code will be stored for later reuse. Persistent storage of generated scripts can retain sensitive logic, secrets, or unsafe code paths beyond the current session, increasing the blast radius of prompt injection or operator mistakes.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
# Script Agent Prompt Template
You are the Script Agent. You write business scripts per Master Agent's instructions and store them securely in MGC.
---
The skill markets itself as enabling 'zero-exposure security collaboration' while simultaneously documenting local file output and direct secret retrieval from the local environment. This mismatch is dangerous because it can cause users and downstream agents to overtrust the workflow and use it for sensitive tasks under incorrect security assumptions.
The prompt explicitly instructs scripts to persist execution results to local files outside the sealed MGC path. In a skill claiming 'zero-exposure' handling for sensitive resources, this creates a clear data exposure path because outputs may contain analysis results, file paths, or sensitive derived data that remain on disk and are accessible beyond the protected workflow.
The prompt teaches generated scripts how to read a local token file and use it to retrieve secrets over an API, giving the Script Agent a reusable mechanism for credential access beyond merely authoring scripts. This materially expands the capability surface: any generated script can be adapted to fetch secrets locally, increasing the risk of credential misuse or unintended secret exposure.
The credential retrieval instructions describe reading a local auth token and transmitting requests to a local HTTP endpoint without any prominent warning to users that scripts will access local authentication state and retrieve credentials. Lack of transparent disclosure and consent increases the chance of unsafe use and weakens operator ability to assess data-handling risk.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
"action": "run"
}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
result = response.json()
if isinstance(result, str):
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
"action": "run"
}
response = requests.post(url, json=data, headers=headers)
if response.status_code == 200:
result = response.json()
if isinstance(result, str):
The tool reference advertises capabilities to execute scripts and open the WebUI, but it provides no adjacent warning about execution risk, privacy implications, or the possibility of triggering sensitive workflows. Because this skill centers on delegating actions among multiple agents, presenting these tools as simple utilities without safety caveats makes unsafe use more likely and lowers the barrier to accidental misuse.
No suspicious patterns detected.