安全决策报告

dex-arbitrage

Undeclared payment/billing system with hardcoded API key exposes credential; SKILL.md falsely presents tool as general-purpose DEX arbitrage without disclosing mandatory per-call charges.

安装决策优先 来源: 手动上传 扫描时间: 2026/4/3
文件 11
IOC 51
越权项 2
发现 4
最直接的威胁证据
高危 文档欺骗
Undeclared mandatory payment/billing system

SKILL.md describes a free DEX arbitrage assistant but payment.py silently implements a mandatory billing system charging 0.01 USDT per invocation. Users are unaware they will be charged. The _meta.json declares pricing but SKILL.md never mentions it.

payment.py:1

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 2 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

提取到 1 个高危 IOC 或外联信号。

阻止
攻击链与高危发现

报告包含 0 步攻击链,另有 2 项高危或严重发现。

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

Doc deception - undeclared billing system +20

SKILL.md describes free arbitrage tools but payment.py charges 0.01 USDT per call; billing functionality never mentioned in docs

Hardcoded API credential in source +20

BILLING_API_KEY hardcoded in plaintext at payment.py:12 — exposes service credential to repo/public

Undeclared network access +10

SKILL.md declares no allowed-tools; payment.py silently makes HTTPS requests to skillpay.me

Silent data transmission +5

User IDs from SKILLPAY_USER_ID env var are sent to external endpoint

最关键的证据

高危 文档欺骗

Undeclared mandatory payment/billing system

SKILL.md describes a free DEX arbitrage assistant but payment.py silently implements a mandatory billing system charging 0.01 USDT per invocation. Users are unaware they will be charged. The _meta.json declares pricing but SKILL.md never mentions it.

payment.py:1
Add prominent billing disclosure in SKILL.md including pricing (0.01 USDT/call), payment provider (skillpay.me), and required environment variables (SKILLPAY_USER_ID, SKILLPAY_API_KEY)
高危 凭证窃取

Hardcoded API key exposed in source code

BILLING_API_KEY = 'sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2' is hardcoded at payment.py:12. This credential is permanently embedded in the skill package and visible to anyone who inspects the code.

payment.py:12
Move BILLING_API_KEY to an environment variable (SKILLPAY_API_KEY as noted in _meta.json), never hardcode credentials in source files
中危 文档欺骗

Missing allowed-tools declaration

SKILL.md declares no allowed-tools. The skill performs network requests (to skillpay.me and DEX APIs) and reads environment variables, but these resource accesses are not declared in the skill manifest.

SKILL.md:1
Add allowed-tools declaration to SKILL.md: network:READ for DEX API calls, environment:READ for SKILLPAY_USER_ID
低危 数据外泄

User ID transmitted to external endpoint

verify_payment() reads SKILLPAY_USER_ID from environment and sends it to skillpay.me/api/v1/billing/* endpoints. While this is necessary for billing, it is undeclared and the endpoint's data handling policy is unknown.

payment.py:99
Document what data is sent to skillpay.me, provide privacy policy link, and consider making the endpoint configurable

声明能力 vs 实际能力

文件系统 通过
声明 NONE
推断 NONE
No file writes in code; scripts are generators/calculators only
网络访问 阻止
声明 NONE
推断 READ
payment.py:27-30 sends POST to skillpay.me; price_monitor.py:43-49 fetches DEX prices — no declaration in SKILL.md
命令执行 通过
声明 NONE
推断 NONE
No subprocess/shell execution found
环境变量 阻止
声明 NONE
推断 READ
payment.py:99 reads SKILLPAY_USER_ID from os.environ without declaration

可疑产物与外联

高危 API 密钥
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2"

payment.py:12

中危 外部 URL
https://skillpay.me

payment.py:11

中危 外部 URL
https://dexscreener.com/

references/arbitrage-tools.md:7

中危 外部 URL
https://www.coingecko.com/

references/arbitrage-tools.md:25

中危 外部 URL
https://api.coingecko.com/api/v3/simple/price?ids=

references/arbitrage-tools.md:32

中危 外部 URL
https://portal.1inch.dev/

references/arbitrage-tools.md:47

中危 外部 URL
https://api.1inch.dev/swap/v5.2/1/quote?

references/arbitrage-tools.md:58

中危 外部 URL
https://eth.llamarpc.com

references/arbitrage-tools.md:99

中危 外部 URL
https://api.0x.org/swap/v1/quote?

references/arbitrage-tools.md:144

中危 外部 URL
https://li.quest/v1/quote

references/arbitrage-tools.md:163

中危 外部 URL
https://socket.tech/

references/arbitrage-tools.md:177

中危 外部 URL
https://across.to/

references/arbitrage-tools.md:186

依赖与供应链

没有结构化依赖告警。

文件构成

11 个文件 · 3911 行
Markdown 6 个文件 · 2517 行Python 4 个文件 · 1375 行JSON 1 个文件 · 19 行
需关注文件 · 6
scripts/flashloan_generator.py Python · 545 行
0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e · 0xE592427A0AEce92De3Edee1F18E0157C05861564 · 0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F · 0xBA12222222228d8Ba445958a75a0704d566BF2C8 · 0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb · 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506
SKILL.md Markdown · 542 行
Missing allowed-tools declaration
scripts/price_monitor.py Python · 293 行
https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3 · https://api.thegraph.com/subgraphs/name/sushiswap/exchange · https://api.curve.fi/api/getPools
references/arbitrage-tools.md Markdown · 461 行
https://dexscreener.com/ · https://www.coingecko.com/ · https://api.coingecko.com/api/v3/simple/price?ids= · https://portal.1inch.dev/ · https://api.1inch.dev/swap/v5.2/1/quote? · https://eth.llamarpc.com · https://api.0x.org/swap/v1/quote? · https://li.quest/v1/quote · https://socket.tech/ · https://across.to/ · https://protect.flashbots.net/ · https://rpc.flashbots.net · https://www.edennetwork.io/ · https://api.edennetwork.io/v1/rpc · https://cowswap.exchange/ · https://dune.com/ · https://eigenphi.io/ · https://explorer.flashbots.net/ · https://tenderly.co/ · https://book.getfoundry.sh/ · https://hardhat.org/ · https://zapper.fi/ · https://debank.com/ · https://www.alchemy.com/ · https://infura.io/ · https://www.quicknode.com/ · https://rpc.ankr.com/eth · https://ethereum.publicnode.com · https://arb1.arbitrum.io/rpc · https://arbitrum.llamarpc.com · https://chainlist.org/ · https://docs.uniswap.org/ · https://docs.flashbots.net/ · https://docs.ethers.org/ · https://explore.flashbots.net/ · https://writings.flashbots.net/
references/mev-protection.md Markdown · 410 行
https://relay.flashbots.net · https://protect.flashbots.net/v1/rpc · https://rpc.mevblocker.io · https://cowswap.exchange
payment.py Python · 142 行
Undeclared mandatory payment/billing system · Hardcoded API key exposed in source code · User ID transmitted to external endpoint · API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" · https://skillpay.me
其他文件 · arbitrage_calculator.py · flashloan-arbitrage.md · bridge-guide.md · arbitrage-basics.md · _meta.json

安全亮点

No reverse shell, C2 infrastructure, or remote code execution patterns found
Python scripts are calculation/generation utilities — no direct wallet draining code
flashloan_generator.py generates Solidity contract templates, not malicious contracts
No base64 obfuscation, eval chains, or anti-analysis techniques detected
No access to ~/.ssh, ~/.aws, .env, or other sensitive filesystem paths
No cron/persistence mechanisms or startup hooks present
DEX price APIs (CoinGecko, 1inch, The Graph) are legitimate and relevant to stated purpose