T03 · Remote Payload Retrieval and Execution
- Location
references/setup.md:38- Finding
Remote Poetry Installer Is Downloaded and Executed Without Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly aligned with running a Jinn worker, but it asks for broad credentials, searches private files, installs mutable external code, and sets up persistent profiling jobs.
Review carefully before installing. Use a dedicated low-value wallet, narrowly scoped or disposable GitHub and API credentials, avoid letting the agent search your home directory for .env or OAuth files, do not print wallet mnemonics in agent-visible terminals, and only enable cron profiling or WhatsApp briefs after explicit consent and with a clear removal plan.
references/setup.md:38Remote Poetry Installer Is Downloaded and Executed Without Verification
references/setup.md:64Home-Directory Environment Search Can Expose Unrelated Project Secrets
references/launchpad.md:190Nightly Processing Creates a Persistent Behavioral Profile from Private Session Logs
references/launchpad.md:226Scheduled Jobs Establish Persistent Cross-Session Monitoring and Messaging
references/launchpad.md:17Privileged Supabase Service-Role Key Is Sent to an Environment-Controlled URL
SKILL.md:35Unpinned External Repository and Package Installations Execute Unaudited Supply-Chain Code
references/wallet.md:20Wallet Key Export and Destructive Fund Operations Depend on Unaudited External Code
The instruction to ask the user for credentials and write them into .env is a direct credential-collection pattern. Even if intended for legitimate configuration, it concentrates sensitive material in a plaintext local file and normalizes broad secret handling by the agent, which is dangerous in a skill that also interacts with external repos, wallets, and network services.
Copy the template then ask the user for credentials and write them to .env. Setup will exit immediately if required vars are missing, so this must be done first.
cp .env.example .env
Ask the user for these values and write them to .env:
Requesting a GitHub personal access token with repo scope, alongside a Gemini API key and wallet password, creates a broad credential-access surface. If those secrets are mishandled, an attacker could gain code-repository access, API access, and potentially facilitate further compromise of jobs performed by the worker.
| `RPC_URL` | Yes | Base mainnet RPC URL |
| `OPERATE_PASSWORD` | Yes | Wallet encryption password (min 8 chars) |
| `GEMINI_API_KEY` | Only if no Google One AI Premium | Gemini API key from https://aistudio.google.com/apikey. If the user has Google One AI Premium and has run `npx @google/gemini-cli auth login`, no API key is needed — setup auto-detects OAuth. |
| `GITHUB_TOKEN` | Highly recommended | Personal access token with repo scope |
| `GIT_AUTHOR_NAME` | Highly recommended | Git commit author name — this becomes the identity the worker agent uses when committing code on venture jobs |
| `GIT_AUTHOR_EMAIL` | Highly recommended | Git commit author email |
The skill announces persistent preference profiling from conversation history near the top-level behavior description, but it does not present a clear, explicit warning about ongoing data collection, local storage, retention, or background processing. Users may engage without understanding that their sessions can be mined and persisted beyond the immediate task.
The nightly workflow scans recent session logs, derives sensitive inferences such as frustrations and expertise, and writes persistent recommendation files without a prominent warning at the point of collection. This creates a substantial privacy risk because behavioral inferences and engagement recommendations are stored locally over time outside the immediate user interaction.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
cd jinn-node
### Create .env from template
```bash
cp .env.example .env
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
cp .env.example .env
The setup guide explicitly tells the agent to find .env files and present discovered values like GITHUB_TOKEN and OPERATE_PASSWORD back to the user. Even if intended as convenience, this needlessly handles and displays secrets, increasing the chance of credential disclosure through logs, transcripts, or UI surfaces.
The instructions direct the agent to discover secrets from user files and reveal them during setup. In the context of an agent skill, this is especially dangerous because it operationalizes credential harvesting behavior beyond the stated purpose of configuring one repository.
This line instructs searching the user's home directory for .env files, which is direct credential discovery behavior. In a setup skill, that exceeds least-privilege expectations and can expose secrets from unrelated applications and repositories.
Look for existing .env files that may contain relevant values:
find ~ -maxdepth 3 -name ".env" -type f 2>/dev/null | head -5
Search found files for relevant env vars:
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
**If neither found:**
> No Gemini credentials found. Do you have Google One AI Premium (Gemini Advanced)?
> - **Yes** → Run `npx @google/gemini-cli auth login`
> - **No** → Get API key from https://aistudio.google.com/apikey
### GitHub credentials (highly recommended)
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
| Variable | Description |
|----------|-------------|
| `GITHUB_TOKEN` | Personal access token with repo scope |
| `GIT_AUTHOR_NAME` | Commit author name |
| `GIT_AUTHOR_EMAIL` | Commit author email |
The skill states that the user needs ETH on Base and OLAS for staking, but does not present an up-front, prominent warning that real funds must be transferred on-chain and may be exposed to operational or smart-contract risk. Because this skill is user-invocable and framed as a reward opportunity, the lack of clear risk disclosure makes accidental financial loss more likely.
The skill explicitly instructs the operator to collect several secrets and write them to .env, including an API key, wallet password, and GitHub token, but gives no warning about local secret exposure, file permissions, shell history, backups, or accidental commits. This is especially risky because the same workflow also involves code tasks and git usage, increasing the chance of credential leakage into repositories or logs.
The skill tells users to run npx @google/gemini-cli auth login without pinning a specific package version. That causes execution of whatever version is current at install time, which creates a supply-chain risk if the package is compromised or a breaking/malicious release is published. In a credential-auth flow, this is more sensitive because the tool may handle OAuth tokens or other account access.
The troubleshooting guidance again instructs use of npx @google/gemini-cli auth login without a pinned version. Repeating the unpinned command increases the chance users will execute arbitrary newly published package code, making this a real supply-chain exposure rather than a theoretical issue.
The activation rules match very common conversational phrases about ideas or automation, so the skill may trigger during ordinary discussion that is not intended to invoke launchpad behavior. In combination with profiling and write-capable actions, overbroad activation raises the chance of unintended data processing and action suggestions.
The document claims all actions require user approval before execution, yet the profile-builder cron reads private session logs and writes local state automatically. This mismatch undermines informed consent and can mislead operators into believing no action occurs without confirmation when background data processing actually does.
The intent patterns for venture suggestion are generic brainstorming phrases that commonly appear in benign conversations. Even if submission still requires confirmation, the skill may draft and steer users toward publishing ventures based on casual remarks, increasing the risk of misinterpretation and unnecessary processing of conversation content.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
SLUG=$(echo "$NAME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd 'a-z0-9-')
curl -s "${SUPABASE_URL}/rest/v1/ventures" \
-X POST \
-H "apikey: ${KEY}" \
-H "Authorization: Bearer ${KEY}" \
The skill instructs the agent to scan local session logs, infer topics/frustrations/expertise, and build a persistent user profile plus pending-action files. This is broader than the stated launchpad engagement purpose and creates a privacy-invasive surveillance mechanism that could collect sensitive behavioral data without clear, specific consent for ongoing background analysis.
Writing persistent pending-action files based on analyzed session history creates durable behavioral state that can outlive the original conversation and be reused later. Even if stored locally, this persistence increases privacy and misuse risk, especially when combined with autonomous cron-driven recommendations and unclear user awareness.
2. Analyze for: topics discussed, technical domains, frustrations, venture-relevant intents
3. Update category affinity scores (0.0-1.0), topics, keywords, expertise
4. Cross-reference with current ventures to generate pending action recommendations
5. Write pending actions to `~/.openclaw/jinn-launchpad-pending.json`
**Morning brief:**
The cron setup enables autonomous background tasks, including proactive WhatsApp outreach, under an isolated session without per-run confirmation. That expands the skill from user-initiated venture interaction into unsupervised monitoring and outbound messaging, increasing the risk of privacy violations, unwanted actions, and reputation harm.
The instructions direct searching the user's home directory for .env files and extracting values such as RPC URLs, passwords, GitHub tokens, and API keys. This is broader secret discovery than necessary for setting up this skill and creates an unnecessary path to collect unrelated credentials from other projects.
The guide instructs checking for Gemini OAuth credentials in ~/.gemini/oauth_creds.json and reusing them for this setup. Accessing account-wide credentials from the home directory exceeds the minimum needed scope and can expose or normalize reuse of sensitive authentication artifacts across tools.
The guide encourages discovering and reusing previously stored Gemini credentials from local files, including OAuth credentials and API keys. This broadens credential exposure and could lead to disclosure or misuse of authentication material intended for other contexts.
Detected: suspicious.generated_source_template_injection