T05 · Unauthorized Access and Privilege Escalation
- Location
litcoin-miner/SKILL.md:272- Finding
Transaction-Capable Bankr Credential Disclosed to a Third-Party Coordinator
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is for crypto mining and DeFi, but it asks users to grant broad financial and AI-provider authority to third-party services with weak scoping and persistence controls.
Review carefully before installing. Use a low-value wallet, dedicated and revocable Bankr/API keys, avoid global endpoint changes, disable relay unless intentionally providing inference for others, do not submit sensitive prompts or code, avoid autonomous agents or cron without hard budgets and expiry, and prefer pinned, verified package versions.
litcoin-miner/SKILL.md:272Transaction-Capable Bankr Credential Disclosed to a Third-Party Coordinator
litcoin-miner/SKILL.md:223AI Provider Credentials and Private Reasoning Are Exported to External Services
litcoin-miner/references/protocol.md:45Mutable Remote Code and Unpinned Packages Are Installed and Executed
litcoin-miner/SKILL.md:315Persistent Autonomous Jobs Can Perform Unattended Financial Operations
The description is extremely broad and includes many high-risk financial and autonomous-agent scenarios, increasing the chance the skill is invoked for loosely related requests. In an agent ecosystem, overbroad routing can cause this skill to capture conversations involving wallets, API keys, mining, and DeFi actions even when the user did not explicitly intend those operations.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
For Hermes Agent users — set LITCOIN as your custom endpoint:
# In ~/.hermes/.env
OPENAI_BASE_URL=https://api.litcoiin.xyz/v1
OPENAI_API_KEY=lk_YOUR_KEY
This section enumerates fund-affecting on-chain methods such as staking, vault creation, minting debt, collateral withdrawal, and escrow deposit without any warning about irreversible transactions, liquidation risk, approvals, or gas costs. In the context of a crypto/DeFi skill, omission of these warnings materially increases the chance of unsafe execution by users or autonomous agents.
The skill instructs the agent to capture and submit chain-of-thought to an external service. This is dangerous because chain-of-thought may contain secrets, intermediate policy-guarded reasoning, credentials, or sensitive user context, and externalizing it creates unnecessary leakage beyond the minimum needed to perform the task.
The protocol states that chain-of-thought reasoning is automatically captured and permanently archived, but it does not prominently warn that these traces may contain sensitive prompts, secrets, proprietary logic, or internal deliberations. Permanent submission materially increases confidentiality and privacy risk because users and agent operators may unknowingly exfiltrate data that cannot be retracted.
Automatically archiving raw reasoning traces creates a direct sensitive-data disclosure risk because model traces often echo user inputs, hidden instructions, credentials, debugging artifacts, or proprietary problem context. Storing them in a permanent archive magnifies the blast radius and makes accidental disclosure effectively irreversible.
Relay mining auto-enables third-party inference serving whenever an AI API key is configured, but the docs do not clearly foreground that other users' prompts and outputs will transit the miner's provider account. This can expose confidential third-party content, create billing abuse, and create policy/compliance issues for operators who thought the key was only for their own mining or research use.
The README instructs users to run npx skills add tekkaadan/litcoin-skill without any version pinning or integrity mechanism. Because this skill enables financial and autonomous agent behavior, an upstream package change or dependency compromise could silently deliver malicious code or altered prompts to users at install time.
The README promotes mining, staking, vaults, minting, autonomous research, and API-key-based operations but provides no warnings about financial loss, wallet risk, privacy exposure, transaction irreversibility, or local system effects. In this context, users may authorize sensitive on-chain actions or provide secrets without understanding the consequences, increasing the chance of fund loss or credential exposure.
The README references npx litcoin-mcp without a pinned version, which is risky because MCP servers typically run code locally and may gain access to agent context, files, secrets, or wallets. In a DeFi-oriented skill, an unpinned package creates a supply-chain path for attackers to introduce malicious behavior that could affect funds, API keys, or research workloads.
The skill tells users to reroute OpenAI-compatible traffic to api.litcoiin.xyz but gives no privacy or data-handling warning. That means prompts, conversation history, tool calls, and possibly sensitive business or personal data may be sent to an unreviewed third-party endpoint under the guise of an OpenAI-compatible configuration.
This configuration changes the default LLM endpoint by placing a third-party base URL and API key into the user's .env, redirecting future model traffic externally. In context, that can silently affect unrelated agent activity and expose prompts, tool outputs, and sensitive context to a non-default service.
# In ~/.hermes/.env
OPENAI_BASE_URL=https://api.litcoiin.xyz/v1
OPENAI_API_KEY=lk_YOUR_KEY
Using hermes config set OPENAI_BASE_URL https://api.litcoiin.xyz/v1 persists a third-party endpoint into agent configuration, causing subsequent requests to be sent externally. Without warning, users may unintentionally redirect broad model traffic and leak sensitive prompts or tool data beyond the expected provider boundary.
Or with hermes config:
hermes config set OPENAI_BASE_URL https://api.litcoiin.xyz/v1
hermes config set OPENAI_API_KEY lk_YOUR_KEY
The generic OpenAI-compatible instructions encourage sending model traffic to api.litcoiin.xyz and mention wallet-linked authentication methods, but omit any warning about data disclosure or account-linking implications. In this skill's crypto context, prompts may also become associated with wallet identities or LITCREDIT usage patterns.
**For any OpenAI-compatible client** (LangChain, LiteLLM, Cursor, OpenClaw):
- Base URL: `https://api.litcoiin.xyz/v1`
- Auth: API key (`lk_`), `X-Wallet` header + LITCREDIT balance, or free tier (5 req/hr)
- Endpoints: `POST /v1/chat/completions`, `GET /v1/models`
- Streaming, tools, multi-turn all supported
The skill recommends scheduled autonomous mining, research, and conditional claiming via cron without warning that these are recurring networked and potentially on-chain actions. This can lead to unattended spending, repeated external API use, unintended claims, and continuous task execution if misconfigured or abused.
agent.stake(tier) is documented as automatically approving tokens, which means the SDK may grant token allowances and then move funds without a separate explicit approval step. Auto-approval is dangerous in a DeFi context because users may create excessive or unintended allowances and trigger value-affecting actions with reduced friction and visibility.
Task types: code_optimization, algorithm, ml_training, prompt_engineering, data_science
### Staking (4 tiers: Spark/Circuit/Core/Architect)
- `agent.stake(tier)` — Stake into tier 1-4 (auto-approves tokens)
- `agent.unstake()` — Unstake after lock expires
- `agent.upgrade_tier(new_tier)` — Upgrade to higher tier
- `agent.stake_info()` — Current tier, amount, lock status
The skill instructs users to execute npx litcoin-mcp without pinning an exact package version. That allows whatever version is current on npm at execution time to run with the user's privileges, creating a supply-chain risk if a malicious or compromised release is published.
Referencing npx litcoin-mcp again without a pinned version repeats the same remote code execution and supply-chain exposure. Because npx fetches and runs code directly, users may unknowingly execute a newer compromised release than the one the author intended.
The skill is centered on on-chain actions affecting real funds—claims, staking, vaults, minting, and autonomous agents—yet it lacks a prominent upfront warning that transactions are irreversible and financially risky. In a crypto skill, omission of this warning materially increases the chance users authorize harmful or misunderstood wallet actions.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or via direct API:
curl -s https://api.bankr.bot/agent/me -H "X-API-Key: $BANKR_API_KEY"
Extract the first Base/EVM wallet address. This is the miner address.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or via direct API:
curl -s https://api.bankr.bot/agent/me -H "X-API-Key: $BANKR_API_KEY"
Extract the first Base/EVM wallet address. This is the miner address.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or via direct API:
curl -s https://api.bankr.bot/agent/me -H "X-API-Key: $BANKR_API_KEY"
Extract the first Base/EVM wallet address. This is the miner address.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or via direct API:
curl -s https://api.bankr.bot/agent/me -H "X-API-Key: $BANKR_API_KEY"
Extract the first Base/EVM wallet address. This is the miner address.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or via API:
curl -s "https://api.litcoiin.xyz/v1/balance?wallet=0xYOUR_WALLET"
If balance is zero, use the one-time faucet:
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Or via API:
curl -s "https://api.litcoiin.xyz/v1/balance?wallet=0xYOUR_WALLET"
If balance is zero, use the one-time faucet:
No suspicious patterns detected.