T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:11- Finding
Excessive Provider Credential Requirements Violate Least Privilege
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent for running Extropy simulations, but it asks for broad provider credential access and does not fully disclose external model-provider data exposure.
Install only if you are comfortable letting Extropy run local commands, create study/output files, and use model-provider API keys. Prefer exposing only the provider key needed for the configured run, avoid sensitive study inputs unless external provider transmission is acceptable, and review exported JSONL files before sharing or retaining them.
SKILL.md:11Excessive Provider Credential Requirements Violate Least Privilege
The skill explicitly authorizes access to credentials/config needed to execute extropy commands, and the same file grants Read/Bash tooling plus access to a config file containing provider settings. Even though it says not to inspect raw .env values, normalizing credential access within an agent skill increases the chance of unnecessary secret exposure, accidental logging, or use beyond the minimum required scope.
- Config file read: `~/.config/extropy/config.json`.
- Credentials expected: provider API keys from env vars (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `OPENROUTER_API_KEY`, `DEEPSEEK_API_KEY`, `AZURE_API_KEY`/`AZURE_OPENAI_API_KEY`).
- Azure endpoint vars: `AZURE_ENDPOINT` or `AZURE_OPENAI_ENDPOINT` when using Azure providers.
- Safety boundary: only access credentials/config needed to execute extropy commands for the requested study/scenario, do not inspect raw `.env` values, and avoid reading unrelated files.
## Canonical Pipeline
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
policy:
allow_implicit_invocation: false
credential_scope: "Only use credentials/config required for the requested Extropy task."
secret_handling: "Do not read raw .env contents unless explicitly requested."
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
policy:
allow_implicit_invocation: false
credential_scope: "Only use credentials/config required for the requested Extropy task."
secret_handling: "Do not read raw .env contents unless explicitly requested."
This markdown file includes commands that export raw simulation data to JSONL files, which could affect user data handling and privacy expectations. The surrounding text does not provide any warning or disclosure about the sensitivity of exported data, retention, or where those files will be stored.
The trigger phrases are broad natural-language requests like 'compare policy alternatives' and 'why did this segment flip', which can overlap with ordinary analytical queries outside this skill's intended scope. That increases the chance of unintended invocation, causing the agent to route users into a simulation workflow when they asked for general advice or analysis, potentially producing misleading outputs or unnecessary execution.
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.
---
name: extropy
description: "Execution-first operator for Extropy: run pipelines, diagnose failures, and deliver evidence-backed simulation analysis using current CLI contracts."
allowed-tools: Read, Grep, Glob, Bash, Edit, Write
argument-hint: "[goal or experiment request]"
always: false
source: "https://github.com/exaforge/extropy"
The skill instructs the agent to run simulation commands that rely on external model providers and explicitly lists provider API keys and config, but it does not clearly warn the user that study contents, prompts, or derived system data may be transmitted off-host. In an execution-first skill, that omission can cause unintended disclosure of sensitive experiment inputs or local context to third-party APIs.