Why this conclusion was reached
3/4 dimensions flagged Block Declared vs actual capability 2 undeclared or violating capabilities were inferred.
Block Hidden execution and egress 1 high-risk artifacts or egress signals were extracted.
Block Attack chain and severe findings The report includes 2 attack-chain steps and 1 severe findings.
Review Dependencies and supply chain hygiene 1 dependency or supply-chain issues need attention.
Attack Chain
01 用户安装使用dex-arbitrage技能 Entry · SKILL.md:1
02 硬编码API密钥被源码泄露,可被滥用进行支付验证请求 Impact · payment.py:12
What drove the risk score up
硬编码API密钥暴露 +20
payment.py:12 硬编码sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2
影子功能-payments模块未声明 +15
SKILL.md未提及payment.py和网络请求行为
第三方依赖无版本锁定 +7
requests库使用*版本
Most important evidence
High Credential Theft
硬编码API密钥暴露
payment.py第12行硬编码BILLING_API_KEY,任何获取源码的人均可使用该密钥
payment.py:12 使用环境变量SKILLPAY_API_KEY存储密钥,通过os.environ.get()读取
Medium Doc Mismatch
payment模块作为影子功能存在
payment.py执行外部网络请求但未在SKILL.md中声明,构成文档-行为差异
payment.py:1 在SKILL.md中明确说明付费验证机制和网络请求行为
Low Supply Chain
requests依赖无版本锁定
payment.py使用requests库但未指定版本,可能引入依赖风险
payment.py:4 创建requirements.txt并锁定版本:requests>=2.28.0
Declared capability vs actual capability
Filesystem Pass
Declared READ
→ Inferred READ
SKILL.md声明脚本工具 Network Block
Declared READ
→ Inferred WRITE
payment.py向skillpay.me发送POST请求 Environment Block
Declared NONE
→ Inferred READ
payment.py:79读取SKILLPAY_USER_ID
Suspicious artifacts and egress
High API Key
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" payment.py:12
Medium External URL
https://skillpay.me payment.py:11
Medium External URL
https://dexscreener.com/ references/arbitrage-tools.md:7
Medium External URL
https://www.coingecko.com/ references/arbitrage-tools.md:25
Medium External URL
https://api.coingecko.com/api/v3/simple/price?ids= references/arbitrage-tools.md:32
Medium External URL
https://portal.1inch.dev/ references/arbitrage-tools.md:47
Medium External URL
https://api.1inch.dev/swap/v5.2/1/quote? references/arbitrage-tools.md:58
Medium External URL
https://eth.llamarpc.com references/arbitrage-tools.md:99
Medium External URL
https://api.0x.org/swap/v1/quote? references/arbitrage-tools.md:144
Medium External URL
https://li.quest/v1/quote references/arbitrage-tools.md:163
Medium External URL
https://socket.tech/ references/arbitrage-tools.md:177
Medium External URL
https://across.to/ references/arbitrage-tools.md:186
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
| requests | * | pip | No | 无版本锁定 |
File composition
11 files · 3911 lines Markdown 6 files · 2517 linesPython 4 files · 1375 linesJSON 1 files · 19 lines
Files of concern · 5
scripts/flashloan_generator.py Python · 545 lines
0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e · 0xE592427A0AEce92De3Edee1F18E0157C05861564 · 0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F · 0xBA12222222228d8Ba445958a75a0704d566BF2C8 · 0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb · 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506
scripts/price_monitor.py Python · 293 lines
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 lines
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 lines
https://relay.flashbots.net · https://protect.flashbots.net/v1/rpc · https://rpc.mevblocker.io · https://cowswap.exchange
payment.py Python · 142 lines
硬编码API密钥暴露 · payment模块作为影子功能存在 · requests依赖无版本锁定 · API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" · https://skillpay.me
Other files · arbitrage_calculator.py · SKILL.md · flashloan-arbitrage.md · bridge-guide.md · arbitrage-basics.md · _meta.json
11 files · 86.3 KB · 3911 lines
Markdown 6f · 2517LPython 4f · 1375LJSON 1f · 19L
├─
▾
📁
references
│ ├─
📝
arbitrage-basics.md
Markdown
351L · 5.0 KB
│ ├─
📝
arbitrage-tools.md
Markdown
461L · 7.2 KB
│ ├─
📝
bridge-guide.md
Markdown
323L · 5.1 KB
│ ├─
📝
flashloan-arbitrage.md
Markdown
430L · 8.8 KB
│ └─
📝
mev-protection.md
Markdown
410L · 6.9 KB
├─
▾
📁
scripts
│ ├─
🐍
arbitrage_calculator.py
Python
395L · 11.7 KB
│ ├─
🐍
flashloan_generator.py
Python
545L · 16.6 KB
│ └─
🐍
price_monitor.py
Python
293L · 9.6 KB
├─
📝
SKILL.md
Markdown
542L · 9.8 KB
├─
📋
_meta.json
JSON
19L · 434 B
└─
🐍
payment.py
Python
142L · 5.2 KB
Security positives
脚本功能为合法DEX套利计算工具
无恶意代码(无base64/eval/反向shell)
price_monitor使用模拟数据而非真实敏感信息
flashloan_generator仅生成合约模板代码