Skills 0g-compute Audit History
📦

Audit History

0g-compute - 2 audits

Version comparison

Capability and finding changes across audited versions, newest first.

VersionDateResultReview itemsChange vs previous
v2 LatestJul 19, 2026, 10:05 AM 1 confirmed2No capability change
v1 Jul 9, 2026, 11:33 PM 26 confirmed41Baseline

Jul 19, 2026, 10:05 AM

Most alerts are scanner misclassifications of Markdown, documentation links, standard installation paths, local configuration, and intended 0G examples. Two image-download fetches are confirmed because provider-supplied URLs lack destination and size controls. Financial commands also lack explicit approval guardrails.

9
Files scanned
4,051
Lines analyzed
7
Review items
0
False positives ignored

Confirmed security concerns (1)

Medium
Financial Commands Lack Confirmation Guardrails
The skill presents token deposit, transfer, and refund commands without requiring explicit approval or rechecking the network, provider, and amount before execution.
The on-chain commands and missing approval requirement are explicit. Impact still depends on an agent having wallet access and command permissions.
Capability review items (2)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

High
Fetch API call
const response = await fetch(url);
The example fetches a provider-supplied image URL without destination, redirect, response-size, or content-type controls. This permits SSRF and resource exhaustion.
High
Fetch API call
const response = await fetch(imageUrl);
The example fetches a provider-supplied image URL without destination, redirect, response-size, or content-type controls. This permits SSRF and resource exhaustion.

Risk Factors

🌐 Network access (37)
📁 Filesystem access (44)
⚙️ External commands (50)
references/account-management.md:232-233 references/account-management.md:233-234 references/account-management.md:234-235 references/account-management.md:266-271 references/account-management.md:271-272 references/account-management.md:272-273 references/account-management.md:273-280 references/account-management.md:280-281 references/account-management.md:574-588 references/account-management.md:588-602 references/account-management.md:602-606 references/examples/speech-to-text.md:191-202 references/examples/speech-to-text.md:202-208 references/examples/speech-to-text.md:208-209 references/examples/speech-to-text.md:209-210 references/examples/speech-to-text.md:210-238 references/examples/speech-to-text.md:238-249 references/examples/speech-to-text.md:249-288 references/examples/speech-to-text.md:288-294 references/examples/speech-to-text.md:294-306 references/examples/speech-to-text.md:306-307 references/examples/speech-to-text.md:307-312 references/examples/speech-to-text.md:312-321 references/examples/speech-to-text.md:321-322 references/examples/speech-to-text.md:322-328 references/examples/speech-to-text.md:328-332 references/examples/speech-to-text.md:332-333 references/examples/speech-to-text.md:333-341 references/examples/speech-to-text.md:341-353 references/examples/speech-to-text.md:353-380 references/examples/speech-to-text.md:380-384 references/examples/speech-to-text.md:384-388 references/examples/speech-to-text.md:388-389 references/examples/speech-to-text.md:389-392 references/examples/speech-to-text.md:392-396 references/examples/speech-to-text.md:396-402 references/examples/speech-to-text.md:402-404 references/examples/speech-to-text.md:404-407 references/examples/speech-to-text.md:407-410 references/examples/speech-to-text.md:410-418 references/examples/speech-to-text.md:418-421 references/examples/speech-to-text.md:421-426 references/examples/speech-to-text.md:426-435 references/examples/speech-to-text.md:574-576 references/examples/speech-to-text.md:676-680 references/examples/streaming-chat.md:179-202 references/examples/streaming-chat.md:202-211 references/examples/streaming-chat.md:211-216 references/examples/streaming-chat.md:216-217 references/examples/streaming-chat.md:217-226
🔑 Env variables (50)
references/account-management.md:217 references/account-management.md:222 references/account-management.md:569 references/account-management.md:217 references/account-management.md:222 references/account-management.md:569 references/account-management.md:222 references/account-management.md:569 references/examples/speech-to-text.md:143 references/examples/speech-to-text.md:144 references/examples/speech-to-text.md:145 references/examples/speech-to-text.md:149 references/examples/speech-to-text.md:274 references/examples/speech-to-text.md:311 references/examples/speech-to-text.md:143 references/examples/speech-to-text.md:144 references/examples/speech-to-text.md:145 references/examples/speech-to-text.md:149 references/examples/speech-to-text.md:274 references/examples/speech-to-text.md:311 references/examples/speech-to-text.md:67 references/examples/speech-to-text.md:136 references/examples/speech-to-text.md:141 references/examples/speech-to-text.md:117 references/examples/speech-to-text.md:274 references/examples/speech-to-text.md:275 references/examples/speech-to-text.md:311 references/examples/streaming-chat.md:144 references/examples/streaming-chat.md:148 references/examples/streaming-chat.md:149 references/examples/streaming-chat.md:189 references/examples/streaming-chat.md:201 references/examples/streaming-chat.md:144 references/examples/streaming-chat.md:148 references/examples/streaming-chat.md:149 references/examples/streaming-chat.md:189 references/examples/streaming-chat.md:201 references/examples/streaming-chat.md:66 references/examples/streaming-chat.md:138 references/examples/streaming-chat.md:141 references/examples/streaming-chat.md:116 references/examples/streaming-chat.md:189 references/examples/streaming-chat.md:190 references/examples/streaming-chat.md:201 references/examples/streaming-chat.md:574 references/examples/streaming-chat.md:578 references/examples/text-to-image.md:138 references/examples/text-to-image.md:139 references/examples/text-to-image.md:143 references/examples/text-to-image.md:203
Audited by: codex

Jul 9, 2026, 11:33 PM

Most static detections are documentation false positives: Markdown code fences, JavaScript template literals, official 0G endpoints, and example file operations. Confirmed risk is concentrated in wallet private key and service secret handling in CLI, SDK, and .env examples. No prompt injection attempt or malicious exfiltration intent was found.

10
Files scanned
4,162
Lines analyzed
71
Review items
0
False positives ignored

Confirmed security concerns (26)

High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Crypto seed/private key mention
# Login with wallet private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Crypto seed/private key mention
# Enter private key when prompted
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Environment file access
2. **Environment configuration**: Setup `.env` file with private key
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Crypto seed/private key mention
2. **Environment configuration**: Setup `.env` file with private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Environment file access
Create `.env`:
The example directs users to create an environment file that stores sensitive 0G credentials. This is common, but it requires strict local secret handling.
High
Environment file access
if (!process.env.PRIVATE_KEY) {
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
throw new Error("PRIVATE_KEY not found in .env");
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Crypto seed/private key mention
# Your wallet private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Environment file access
Create `.env` file (never commit this!):
The example directs users to create an environment file that stores sensitive 0G credentials. This is common, but it requires strict local secret handling.
High
Environment file access
if (!process.env.PRIVATE_KEY) {
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
Ensure `.env` file exists and contains:
The example directs users to create an environment file that stores sensitive 0G credentials. This is common, but it requires strict local secret handling.
High
Crypto seed/private key mention
# Your wallet private key (NEVER commit this file!)
The example asks users to place a wallet private key in local configuration. The warning helps, but exposure of that file can still lead to fund loss.
High
Environment file access
Create `.env`:
The example directs users to create an environment file that stores sensitive 0G credentials. This is common, but it requires strict local secret handling.
High
Environment file access
if (!process.env.PRIVATE_KEY) {
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
throw new Error("PRIVATE_KEY not found in .env");
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Crypto seed/private key mention
# Your wallet private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Crypto seed/private key mention
- Decrypts the key using your private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Crypto seed/private key mention
- Ensure you're using the correct private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment file access
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Crypto seed/private key mention
0g-compute-cli login # Login with wallet private key
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
Capability review items (41)

These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.

High
Environment variable access (dot notation) · 4 occurrences
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment variable object · 4 occurrences
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Generic API/secret keys · 4 occurrences
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Environment variable access (dot notation) · 3 occurrences
if (!process.env.PRIVATE_KEY) {
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment variable access (dot notation) · 3 occurrences
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment variable object · 3 occurrences
if (!process.env.PRIVATE_KEY) {
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Environment variable object · 3 occurrences
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
The example loads a wallet private key from environment configuration. This is a legitimate pattern, but a leaked environment file or generated script can expose funds.
High
Generic API/secret keys · 4 occurrences
PRIVATE_KEY=your_private_key_here
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Generic API/secret keys · 3 occurrences
if (!process.env.PRIVATE_KEY) {
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Generic API/secret keys · 2 occurrences
throw new Error("PRIVATE_KEY not found in .env");
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Generic API/secret keys · 3 occurrences
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY, provider);
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Generic API/secret keys
throw new Error("PRIVATE_KEY not found in environment variables");
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Generic API/secret keys
#### "PRIVATE_KEY not found"
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.
High
Generic API/secret keys · 3 occurrences
api_key='app-sk-<YOUR_SECRET>'
The documentation asks users to handle wallet private keys or service secrets. This is expected for 0G workflows, but exposure can lead to fund loss or unauthorized usage.

Risk Factors

⚙️ External commands (50)
.github/workflows/claude-code-review.yml:50 references/account-management.md:232-233 references/account-management.md:233-234 references/account-management.md:234-235 references/account-management.md:266-271 references/account-management.md:271-272 references/account-management.md:272-273 references/account-management.md:273-280 references/account-management.md:280-281 references/account-management.md:574-588 references/account-management.md:588-602 references/account-management.md:602-606 references/examples/speech-to-text.md:191-202 references/examples/speech-to-text.md:202-208 references/examples/speech-to-text.md:208-209 references/examples/speech-to-text.md:209-210 references/examples/speech-to-text.md:210-238 references/examples/speech-to-text.md:238-249 references/examples/speech-to-text.md:249-288 references/examples/speech-to-text.md:288-294 references/examples/speech-to-text.md:294-306 references/examples/speech-to-text.md:306-307 references/examples/speech-to-text.md:307-312 references/examples/speech-to-text.md:312-321 references/examples/speech-to-text.md:321-322 references/examples/speech-to-text.md:322-328 references/examples/speech-to-text.md:328-332 references/examples/speech-to-text.md:332-333 references/examples/speech-to-text.md:333-341 references/examples/speech-to-text.md:341-353 references/examples/speech-to-text.md:353-380 references/examples/speech-to-text.md:380-384 references/examples/speech-to-text.md:384-388 references/examples/speech-to-text.md:388-389 references/examples/speech-to-text.md:389-392 references/examples/speech-to-text.md:392-396 references/examples/speech-to-text.md:396-402 references/examples/speech-to-text.md:402-404 references/examples/speech-to-text.md:404-407 references/examples/speech-to-text.md:407-410 references/examples/speech-to-text.md:410-418 references/examples/speech-to-text.md:418-421 references/examples/speech-to-text.md:421-426 references/examples/speech-to-text.md:426-435 references/examples/speech-to-text.md:574-576 references/examples/speech-to-text.md:676-680 references/examples/streaming-chat.md:179-202 references/examples/streaming-chat.md:202-211 references/examples/streaming-chat.md:211-216 references/examples/streaming-chat.md:216-217
📁 Filesystem access (45)
🔑 Env variables (50)
.github/workflows/claude-code-review.yml:34 references/account-management.md:217 references/account-management.md:222 references/account-management.md:569 references/account-management.md:217 references/account-management.md:222 references/account-management.md:569 references/account-management.md:222 references/account-management.md:569 references/examples/speech-to-text.md:143 references/examples/speech-to-text.md:144 references/examples/speech-to-text.md:145 references/examples/speech-to-text.md:149 references/examples/speech-to-text.md:274 references/examples/speech-to-text.md:311 references/examples/speech-to-text.md:143 references/examples/speech-to-text.md:144 references/examples/speech-to-text.md:145 references/examples/speech-to-text.md:149 references/examples/speech-to-text.md:274 references/examples/speech-to-text.md:311 references/examples/speech-to-text.md:67 references/examples/speech-to-text.md:136 references/examples/speech-to-text.md:141 references/examples/speech-to-text.md:117 references/examples/speech-to-text.md:274 references/examples/speech-to-text.md:275 references/examples/speech-to-text.md:311 references/examples/streaming-chat.md:144 references/examples/streaming-chat.md:148 references/examples/streaming-chat.md:149 references/examples/streaming-chat.md:189 references/examples/streaming-chat.md:201 references/examples/streaming-chat.md:144 references/examples/streaming-chat.md:148 references/examples/streaming-chat.md:149 references/examples/streaming-chat.md:189 references/examples/streaming-chat.md:201 references/examples/streaming-chat.md:66 references/examples/streaming-chat.md:138 references/examples/streaming-chat.md:141 references/examples/streaming-chat.md:116 references/examples/streaming-chat.md:189 references/examples/streaming-chat.md:190 references/examples/streaming-chat.md:201 references/examples/streaming-chat.md:574 references/examples/streaming-chat.md:578 references/examples/text-to-image.md:138 references/examples/text-to-image.md:139 references/examples/text-to-image.md:143
🌐 Network access (37)
Audited by: codex