skillpp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/COMPATIBILITY.md +58 -0
  2. package/LICENSE +21 -0
  3. package/README.md +307 -0
  4. package/README.zh-CN.md +307 -0
  5. package/SKILL.md +490 -0
  6. package/adapters/binance-ai.md +22 -0
  7. package/adapters/claude.md +21 -0
  8. package/adapters/gemini.md +26 -0
  9. package/adapters/gpt.md +28 -0
  10. package/adapters/kimi.md +26 -0
  11. package/adapters/mimo.md +22 -0
  12. package/adapters/openclaw.md +29 -0
  13. package/assets/skillpp-banner.png +0 -0
  14. package/package.json +59 -0
  15. package/pipelines.md +310 -0
  16. package/prompts/newbie-mode.md +48 -0
  17. package/prompts/router-prompt.md +32 -0
  18. package/prompts/universal-system-prompt.md +41 -0
  19. package/registry.md +209 -0
  20. package/rules.md +323 -0
  21. package/schemas/audit.schema.json +67 -0
  22. package/schemas/checkpoint.schema.json +86 -0
  23. package/schemas/handoff.schema.json +82 -0
  24. package/schemas/token.schema.json +36 -0
  25. package/scripts/compatibility-check.mjs +130 -0
  26. package/scripts/selftest.mjs +384 -0
  27. package/scripts/skillpp.mjs +448 -0
  28. package/scripts/validate-skillpp.mjs +140 -0
  29. package/skillpp.manifest.json +714 -0
  30. package/skills/audit-plus/SKILL.md +612 -0
  31. package/skills/binance/binance/CHANGELOG.md +112 -0
  32. package/skills/binance/binance/LICENSE.md +9 -0
  33. package/skills/binance/binance/SKILL.md +69 -0
  34. package/skills/binance/binance/references/algo.md +21 -0
  35. package/skills/binance/binance/references/alpha.md +9 -0
  36. package/skills/binance/binance/references/auth.md +32 -0
  37. package/skills/binance/binance/references/c2c.md +5 -0
  38. package/skills/binance/binance/references/convert.md +19 -0
  39. package/skills/binance/binance/references/copy-trading.md +6 -0
  40. package/skills/binance/binance/references/crypto-loan.md +27 -0
  41. package/skills/binance/binance/references/derivatives-options-streams.md +25 -0
  42. package/skills/binance/binance/references/derivatives-options.md +85 -0
  43. package/skills/binance/binance/references/derivatives-portfolio-margin-pro-streams.md +5 -0
  44. package/skills/binance/binance/references/derivatives-portfolio-margin-pro.md +34 -0
  45. package/skills/binance/binance/references/derivatives-portfolio-margin-streams.md +5 -0
  46. package/skills/binance/binance/references/derivatives-portfolio-margin.md +146 -0
  47. package/skills/binance/binance/references/dual-investment.md +15 -0
  48. package/skills/binance/binance/references/fiat.md +9 -0
  49. package/skills/binance/binance/references/futures-coin-streams.md +29 -0
  50. package/skills/binance/binance/references/futures-coin.md +109 -0
  51. package/skills/binance/binance/references/futures-usds-streams.md +35 -0
  52. package/skills/binance/binance/references/futures-usds.md +144 -0
  53. package/skills/binance/binance/references/gift-card.md +10 -0
  54. package/skills/binance/binance/references/margin-trading-streams.md +6 -0
  55. package/skills/binance/binance/references/margin-trading.md +101 -0
  56. package/skills/binance/binance/references/mining.md +17 -0
  57. package/skills/binance/binance/references/pay.md +5 -0
  58. package/skills/binance/binance/references/rebate.md +5 -0
  59. package/skills/binance/binance/references/simple-earn.md +56 -0
  60. package/skills/binance/binance/references/spot-streams.md +25 -0
  61. package/skills/binance/binance/references/spot.md +114 -0
  62. package/skills/binance/binance/references/staking.md +59 -0
  63. package/skills/binance/binance/references/sub-account.md +67 -0
  64. package/skills/binance/binance/references/vip-loan.md +27 -0
  65. package/skills/binance/binance/references/wallet.md +75 -0
  66. package/skills/binance/fiat/CHANGELOG.md +11 -0
  67. package/skills/binance/fiat/LICENSE.md +9 -0
  68. package/skills/binance/fiat/SKILL.md +169 -0
  69. package/skills/binance/fiat/references/authentication.md +126 -0
  70. package/skills/binance/fiat/references/sapi-endpoints.md +217 -0
  71. package/skills/binance/onchain-pay/.local.md.example +10 -0
  72. package/skills/binance/onchain-pay/CHANGELOG.md +20 -0
  73. package/skills/binance/onchain-pay/LICENSE.md +9 -0
  74. package/skills/binance/onchain-pay/SKILL.md +466 -0
  75. package/skills/binance/onchain-pay/references/authentication.md +92 -0
  76. package/skills/binance/onchain-pay/scripts/sign_and_call.sh +52 -0
  77. package/skills/binance/p2p/CHANGELOG.md +33 -0
  78. package/skills/binance/p2p/LICENSE.md +9 -0
  79. package/skills/binance/p2p/SKILL.md +1082 -0
  80. package/skills/binance/p2p/references/agent-sapi-api.md +795 -0
  81. package/skills/binance/p2p/references/authentication.md +100 -0
  82. package/skills/binance/payment/SKILL.md +824 -0
  83. package/skills/binance/payment/common.py +560 -0
  84. package/skills/binance/payment/payment_skill.py +86 -0
  85. package/skills/binance/payment/receive.py +109 -0
  86. package/skills/binance/payment/references/setup-guide.md +77 -0
  87. package/skills/binance/payment/requirements.txt +4 -0
  88. package/skills/binance/payment/send.py +952 -0
  89. package/skills/binance/payment/send_extension/__init__.py +43 -0
  90. package/skills/binance/payment/send_extension/base.py +48 -0
  91. package/skills/binance/payment/send_extension/c2c.py +193 -0
  92. package/skills/binance/payment/send_extension/pix.py +316 -0
  93. package/skills/binance/square-post/README.md +62 -0
  94. package/skills/binance/square-post/SKILL.md +171 -0
  95. package/skills/binance/square-post/scripts/lib.mjs +175 -0
  96. package/skills/binance/square-post/scripts/post-image.mjs +80 -0
  97. package/skills/binance/square-post/scripts/post-text.mjs +41 -0
  98. package/skills/binance/square-post/scripts/post-video.mjs +110 -0
  99. package/skills/binance/square-post/scripts/save-key.mjs +34 -0
  100. package/skills/binance-web3/binance-agentic-wallet/SKILL.md +150 -0
  101. package/skills/binance-web3/binance-agentic-wallet/references/authentication.md +136 -0
  102. package/skills/binance-web3/binance-agentic-wallet/references/limit-order.md +204 -0
  103. package/skills/binance-web3/binance-agentic-wallet/references/market-order.md +179 -0
  104. package/skills/binance-web3/binance-agentic-wallet/references/prediction.md +489 -0
  105. package/skills/binance-web3/binance-agentic-wallet/references/preflight.md +66 -0
  106. package/skills/binance-web3/binance-agentic-wallet/references/security.md +47 -0
  107. package/skills/binance-web3/binance-agentic-wallet/references/send.md +53 -0
  108. package/skills/binance-web3/binance-agentic-wallet/references/wallet-setting.md +86 -0
  109. package/skills/binance-web3/binance-agentic-wallet/references/wallet-view.md +312 -0
  110. package/skills/binance-web3/binance-agentic-wallet/references/x402-payment.md +259 -0
  111. package/skills/binance-web3/binance-tokenized-securities-info/SKILL.md +613 -0
  112. package/skills/binance-web3/crypto-market-rank/SKILL.md +91 -0
  113. package/skills/binance-web3/crypto-market-rank/references/cli.md +219 -0
  114. package/skills/binance-web3/crypto-market-rank/scripts/cli.mjs +149 -0
  115. package/skills/binance-web3/meme-rush/SKILL.md +72 -0
  116. package/skills/binance-web3/meme-rush/references/cli.md +158 -0
  117. package/skills/binance-web3/meme-rush/scripts/cli.mjs +101 -0
  118. package/skills/binance-web3/query-address-info/SKILL.md +61 -0
  119. package/skills/binance-web3/query-address-info/references/cli.md +56 -0
  120. package/skills/binance-web3/query-address-info/scripts/cli.mjs +132 -0
  121. package/skills/binance-web3/query-token-audit/SKILL.md +162 -0
  122. package/skills/binance-web3/query-token-info/SKILL.md +83 -0
  123. package/skills/binance-web3/query-token-info/references/cli.md +135 -0
  124. package/skills/binance-web3/query-token-info/scripts/cli.mjs +112 -0
  125. package/skills/binance-web3/trading-signal/SKILL.md +66 -0
  126. package/skills/binance-web3/trading-signal/references/cli.md +90 -0
  127. package/skills/binance-web3/trading-signal/scripts/cli.mjs +92 -0
  128. package/skills/four-meme/four-guard/API-Contract-TaxToken.md +277 -0
  129. package/skills/four-meme/four-guard/API-CreateToken.02-02-2026.md +285 -0
  130. package/skills/four-meme/four-guard/API-Documents.03-03-2026.md +789 -0
  131. package/skills/four-meme/four-guard/AgentIdentifier.abi +585 -0
  132. package/skills/four-meme/four-guard/README.md +21 -0
  133. package/skills/four-meme/four-guard/SKILL.md +31 -0
  134. package/skills/four-meme/four-guard/TaxToken.abi +969 -0
  135. package/skills/four-meme/four-guard/TokenIdentifierSample.js_ +81 -0
  136. package/skills/four-meme/four-guard/TokenIdentifierSample.sol +69 -0
  137. package/skills/four-meme/four-guard/TokenManager.lite.abi +836 -0
  138. package/skills/four-meme/four-guard/TokenManager2.lite.abi +2325 -0
  139. package/skills/four-meme/four-guard/TokenManagerHelper3.abi +999 -0
  140. package/skills/four-meme/four-guard/go.mod +36 -0
  141. package/skills/four-meme/four-guard/go.sum +127 -0
  142. package/skills/four-meme/four-guard/main.go +183 -0
  143. package/skills/four-meme/four-meme-ai/SKILL.md +31 -0
  144. package/skills/four-meme/four-meme-ai/references/agent-creator-and-wallets.md +87 -0
  145. package/skills/four-meme/four-meme-ai/references/api-create-token.md +55 -0
  146. package/skills/four-meme/four-meme-ai/references/contract-addresses.md +47 -0
  147. package/skills/four-meme/four-meme-ai/references/create-token-scripts.md +131 -0
  148. package/skills/four-meme/four-meme-ai/references/errors.md +29 -0
  149. package/skills/four-meme/four-meme-ai/references/event-listening.md +75 -0
  150. package/skills/four-meme/four-meme-ai/references/execute-trade.md +31 -0
  151. package/skills/four-meme/four-meme-ai/references/tax-token-query.md +38 -0
  152. package/skills/four-meme/four-meme-ai/references/token-query-api.md +44 -0
  153. package/skills/four-meme/four-meme-ai/references/token-tax-info.md +77 -0
  154. package/skills/four-meme/four-meme-ai/scripts/8004-balance.ts +52 -0
  155. package/skills/four-meme/four-meme-ai/scripts/8004-register.ts +108 -0
  156. package/skills/four-meme/four-meme-ai/scripts/create-token-api.ts +321 -0
  157. package/skills/four-meme/four-meme-ai/scripts/create-token-chain.ts +102 -0
  158. package/skills/four-meme/four-meme-ai/scripts/create-token-instant.ts +106 -0
  159. package/skills/four-meme/four-meme-ai/scripts/execute-buy.ts +198 -0
  160. package/skills/four-meme/four-meme-ai/scripts/execute-sell.ts +150 -0
  161. package/skills/four-meme/four-meme-ai/scripts/get-public-config.ts +25 -0
  162. package/skills/four-meme/four-meme-ai/scripts/get-recent-events.ts +76 -0
  163. package/skills/four-meme/four-meme-ai/scripts/get-tax-token-info.ts +69 -0
  164. package/skills/four-meme/four-meme-ai/scripts/get-token-info.ts +94 -0
  165. package/skills/four-meme/four-meme-ai/scripts/quote-buy.ts +85 -0
  166. package/skills/four-meme/four-meme-ai/scripts/quote-sell.ts +66 -0
  167. package/skills/four-meme/four-meme-ai/scripts/send-token.ts +98 -0
  168. package/skills/four-meme/four-meme-ai/scripts/token-get.ts +31 -0
  169. package/skills/four-meme/four-meme-ai/scripts/token-list.ts +134 -0
  170. package/skills/four-meme/four-meme-ai/scripts/token-rankings.ts +162 -0
  171. package/skills/four-meme/four-meme-ai/scripts/verify-events.ts +47 -0
  172. package/skills/four-meme/four-meme-integration/SKILL.md +374 -0
  173. package/skills/four-meme/four-meme-integration/references/agent-creator-and-wallets.md +87 -0
  174. package/skills/four-meme/four-meme-integration/references/api-create-token.md +55 -0
  175. package/skills/four-meme/four-meme-integration/references/contract-addresses.md +47 -0
  176. package/skills/four-meme/four-meme-integration/references/create-token-scripts.md +131 -0
  177. package/skills/four-meme/four-meme-integration/references/errors.md +29 -0
  178. package/skills/four-meme/four-meme-integration/references/event-listening.md +75 -0
  179. package/skills/four-meme/four-meme-integration/references/execute-trade.md +31 -0
  180. package/skills/four-meme/four-meme-integration/references/tax-token-query.md +38 -0
  181. package/skills/four-meme/four-meme-integration/references/token-query-api.md +44 -0
  182. package/skills/four-meme/four-meme-integration/references/token-tax-info.md +77 -0
  183. package/skills/four-meme/four-meme-integration/scripts/8004-balance.ts +52 -0
  184. package/skills/four-meme/four-meme-integration/scripts/8004-register.ts +108 -0
  185. package/skills/four-meme/four-meme-integration/scripts/create-token-api.ts +321 -0
  186. package/skills/four-meme/four-meme-integration/scripts/create-token-chain.ts +102 -0
  187. package/skills/four-meme/four-meme-integration/scripts/create-token-instant.ts +106 -0
  188. package/skills/four-meme/four-meme-integration/scripts/execute-buy.ts +198 -0
  189. package/skills/four-meme/four-meme-integration/scripts/execute-sell.ts +150 -0
  190. package/skills/four-meme/four-meme-integration/scripts/get-public-config.ts +25 -0
  191. package/skills/four-meme/four-meme-integration/scripts/get-recent-events.ts +76 -0
  192. package/skills/four-meme/four-meme-integration/scripts/get-tax-token-info.ts +69 -0
  193. package/skills/four-meme/four-meme-integration/scripts/get-token-info.ts +94 -0
  194. package/skills/four-meme/four-meme-integration/scripts/quote-buy.ts +85 -0
  195. package/skills/four-meme/four-meme-integration/scripts/quote-sell.ts +66 -0
  196. package/skills/four-meme/four-meme-integration/scripts/send-token.ts +98 -0
  197. package/skills/four-meme/four-meme-integration/scripts/token-get.ts +31 -0
  198. package/skills/four-meme/four-meme-integration/scripts/token-list.ts +134 -0
  199. package/skills/four-meme/four-meme-integration/scripts/token-rankings.ts +162 -0
  200. package/skills/four-meme/four-meme-integration/scripts/verify-events.ts +47 -0
  201. package/skills/skillpp/contract-profiler/SKILL.md +118 -0
  202. package/skills/skillpp/newbie-tutor/SKILL.md +85 -0
  203. package/skills/skillpp/opportunity-board/SKILL.md +87 -0
  204. package/skills/skillpp/risk-fusion/SKILL.md +146 -0
  205. package/skills/skillpp/scam-pattern-lab/SKILL.md +115 -0
  206. package/skills/skillpp/wallet-doctor/SKILL.md +119 -0
  207. package/skills/skillpp/watchtower/SKILL.md +72 -0
  208. package/tests/compatibility/v0.1.0.json +117 -0
@@ -0,0 +1,612 @@
1
+ ---
2
+ name: audit-plus
3
+ description: |
4
+ 通用 EVM 智能合约深度审计。分析任意合约的权限拓扑、用途推断、多维度风险评分。
5
+ 不是简单的安全扫描(那是 query-token-audit 的活),而是 AI 驱动的合约级深度分析。
6
+ 触发词:审计合约、代码分析、有无后门、合约权限、深度分析、合约能信吗
7
+ metadata:
8
+ version: "1.0.0"
9
+ type: audit
10
+ status: active
11
+ chainConstraints: [Ethereum, BSC, Base, Polygon, Arbitrum, Optimism, Avalanche]
12
+ capabilities:
13
+ - id: analyze
14
+ produces: [riskScore, permissionTopology, purposeAnalysis, fundSafety, codeQuality, upgradeRisk, findings]
15
+ description: "对合约源码进行全方位深度审计"
16
+ - id: quick-assess
17
+ produces: [riskScore, permissionTopology, topFindings]
18
+ description: "快速评估(仅权限+主要风险,3分钟内完成)"
19
+ dependsOn:
20
+ - query-token-info
21
+ - query-token-audit
22
+ ---
23
+
24
+ # Audit-Plus — 通用智能合约深度审计
25
+
26
+ > 本 skill 与 skill++ 的 P_DEEP_AUDIT 联动执行。
27
+
28
+ ---
29
+
30
+ ## ⚡ AI 读这里(执行流程)
31
+
32
+ ```
33
+ audit-plus 审计流程 3 步:
34
+
35
+ STEP 0: 获取源码
36
+ IF 用户粘贴了代码 → 直接用
37
+ ELSE IF 有合约地址 → 通过区块浏览器 API 拉取验证源码
38
+ ELSE → 要求用户提供代码或地址
39
+
40
+ STEP 1: 获取上下文(并行,无依赖关系)
41
+ → query-token-info/search (代币基本元数据)
42
+ → query-token-audit/audit (快速安全扫描基线)
43
+ → 如果是 BSC: 可选拉 BSCScan 上的交易数/创建者等
44
+
45
+ STEP 2: 多维分析 + 生成报告
46
+ 按 5 个维度逐一分析 → 综合评分 → 生成结构化报告
47
+ → [CHECKPOINT AUDIT_REPORT]
48
+ ```
49
+
50
+ ---
51
+
52
+ ## 🔌 STEP 0: 源码获取(Source Code Fetching)
53
+
54
+ ### 方式 1: 区块浏览器 API 拉取(已验证合约)
55
+
56
+ 不需要用户安装任何工具。用 curl 直接调 API。
57
+
58
+ **BSC (BSCScan):**
59
+ ```bash
60
+ curl -s "https://api.bscscan.com/api?module=contract&action=getsourcecode&address=<CONTRACT_ADDRESS>&apikey=YourApiKeyToken"
61
+ ```
62
+ > BSCScan API 有频率限制(免费 5 req/s)。如无 API Key,用网页版 curl 抓取:
63
+ > ```bash
64
+ > curl -s "https://bscscan.com/address/<CONTRACT_ADDRESS>#code" | grep -A 100000 "editor" | sed 's/<[^>]*>//g'
65
+ > ```
66
+ > 更可靠的方式:直接让用户打开 `https://bscscan.com/address/<ADDRESS>#code` 复制代码给你。
67
+
68
+ **Ethereum (Etherscan):**
69
+ ```bash
70
+ curl -s "https://api.etherscan.io/api?module=contract&action=getsourcecode&address=<CONTRACT_ADDRESS>&apikey=YourApiKeyToken"
71
+ ```
72
+
73
+ **Base (Basescan):**
74
+ ```bash
75
+ curl -s "https://api.basescan.org/api?module=contract&action=getsourcecode&address=<CONTRACT_ADDRESS>&apikey=YourApiKeyToken"
76
+ ```
77
+
78
+ **Polygon (Polygonscan):**
79
+ ```bash
80
+ curl -s "https://api.polygonscan.com/api?module=contract&action=getsourcecode&address=<CONTRACT_ADDRESS>&apikey=YourApiKeyToken"
81
+ ```
82
+
83
+ > **通用模式**:`https://api.<explorer-domain>/api?module=contract&action=getsourcecode&address=<ADDR>`
84
+ > 所有 EVM 区块浏览器共用此 Etherscan 兼容 API。
85
+
86
+ ### 方式 2: 用户直接粘贴代码
87
+
88
+ 如果上述 API 调用失败(无 API Key / 限流 / 未验证):
89
+ 1. 告知用户:"请打开 <区块浏览器链接>#code 页面,复制合约源码给我"
90
+ 2. 等待用户粘贴代码后继续
91
+
92
+ ### 方式 3: GitHub 拉取
93
+
94
+ 如果用户提供了 GitHub 链接(如 `github.com/.../Contract.sol`):
95
+ ```bash
96
+ curl -s "<RAW_GITHUB_URL>"
97
+ ```
98
+ > 将 `github.com` 转为 `raw.githubusercontent.com`,去掉 `blob/` 路径段。
99
+
100
+ ---
101
+
102
+ ## 📊 STEP 2: 五大审计维度
103
+
104
+ ### 🔐 维度 1: 权限拓扑分析 (Permission Topology)
105
+
106
+ **检查清单:**
107
+ ```
108
+ □ owner/admin 地址是什么?
109
+ → 是 EOA?多签合约?0地址(不可更改)?黑洞地址?
110
+ □ 特权函数有哪些?
111
+ mint() / burn() / pause() / unpause()
112
+ / setFee() / setTax() / excludeFromFee()
113
+ / blacklist() / whitelist()
114
+ / withdraw() / rescueToken()
115
+ / upgradeTo() / setImplementation()
116
+ / transferOwnership() / renounceOwnership()
117
+ □ 特权函数有无保护?
118
+ → onlyOwner? onlyRole? multisig? timelock?
119
+ → 有 delay 吗?有 max limit 吗?
120
+ □ 单点控制风险
121
+ → 一个地址能提走所有钱?能暂停所有人交易?能无限 mint?
122
+ □ 权限放弃状态
123
+ → owner 是否已 renounce?
124
+ → 如果 renounce 了,哪些功能永远无法更改?
125
+
126
+ 输出:
127
+ - 权限拓扑图(owner → 特权函数清单)
128
+ - 单点控制风险评分(0-5)
129
+ - 特权函数完整列表(每项标注风险级别)
130
+ ```
131
+
132
+ ### 🎯 维度 2: 合约用途推断 (Purpose Analysis)
133
+
134
+ **检查清单:**
135
+ ```
136
+ □ 代码实际实现了什么功能?
137
+ → 标准 ERC20?反射代币?分红代币?质押?机枪池?NFT?
138
+ □ 与官方描述是否一致?
139
+ → 如果 query-token-info 返回了描述信息,与代码逻辑比较
140
+ → 声明是"去中心化代币"但 owner 能随时暂停交易?
141
+ □ 隐藏功能检测
142
+ → 有没有不在 UI 中展示的函数?(如 hiddenMint, devWithdraw)
143
+ → 有没有后门?(如仅 owner 可见的提款路径)
144
+ → 有没有时间锁炸弹?(如 N 天后自动执行某个操作)
145
+ □ 已知恶意模式匹配
146
+ → 蜜罐(只能买不能卖)
147
+ → 无限授权陷阱(approve 到恶意地址)
148
+ → 假收益(显示高收益但无法提取)
149
+ → 税率陷阱(反复修改税率夹击用户)
150
+
151
+ 输出:
152
+ - 用途分类(代币/质押/NFT/DeFi/其他)
153
+ - 与宣称的一致性评估
154
+ - 可疑函数列表
155
+ ```
156
+
157
+ ### 💰 维度 3: 资金安全分析 (Fund Safety)
158
+
159
+ **检查清单:**
160
+ ```
161
+ □ 用户资金存放在哪里?
162
+ → 本合约?(托管风险高)
163
+ → 去中心化流动性池?(如 PancakeSwap/Uniswap)
164
+ → 用户自己钱包?(自托管,风险低)
165
+ □ 提款路径
166
+ → owner 能否直接提取合约内资产?(emergencyWithdraw/withdrawToken)
167
+ → 提取有限额吗?有延迟吗?
168
+ □ Rug 可行性分析
169
+ → owner 能一次性提走 LP 吗?
170
+ → 有 removeLiquidity 权限吗?
171
+ → 能无限 mint 然后砸盘吗?
172
+ □ 授权风险
173
+ → 合约是否会调用用户的 approve?
174
+ → approve 的目标地址是否可被篡改?
175
+ → 有没有 permit 签名风险?
176
+
177
+ 输出:
178
+ - 资金流向图
179
+ - Rug 可能性评分
180
+ - 授权风险清单
181
+ ```
182
+
183
+ ### 🏗️ 维度 4: 代码质量评估 (Code Quality)
184
+
185
+ **检查清单:**
186
+ ```
187
+ □ 安全库使用
188
+ → 使用了 OpenZeppelin / Solady?
189
+ → 还是自己手写的转账/权限逻辑?(手写 = 风险高)
190
+ □ 编译器版本
191
+ → 版本号(<0.8.0 有溢出风险,>=0.8.20 有 PUSH0 兼容问题)
192
+ → 是否锁定版本(^0.8.0 比 =0.8.19 风险高)
193
+ □ 代码结构
194
+ → 单文件?(难审计)
195
+ → 模块化?(清晰)
196
+ → 有没有扁平化的痕迹?
197
+ □ 测试覆盖
198
+ → 代码仓库里有没有 test/ 目录?
199
+ → 有没有 foundry.toml / hardhat.config?
200
+ □ 文档
201
+ → 有没有 NatSpec 注释?
202
+ → 有没有 README?
203
+
204
+ 输出:
205
+ - 代码质量评分(0-5)
206
+ - 发现的代码质量问题列表
207
+ - 最佳实践建议
208
+ ```
209
+
210
+ ### 🔄 维度 5: 升级风险分析 (Upgrade Risk)
211
+
212
+ **检查清单:**
213
+ ```
214
+ □ 代理模式识别
215
+ → UUPS?Transparent Proxy?Beacon Proxy?Diamond?
216
+ → 还是非代理?(不可升级 = 低风险)
217
+ □ 升级权限
218
+ → 谁有权升级?(owner / guardian / multisig / DAO)
219
+ → 有 timelock 延迟吗?
220
+ → 升级前有事件通知吗?
221
+ □ 锁定机制
222
+ → 是否可以永久锁定升级?(renounce upgrade authority)
223
+ → 是否已锁定?
224
+ □ 数据迁移
225
+ → 存储布局是否兼容?
226
+ → 升级历史(如果可查)
227
+
228
+ 输出:
229
+ - 升级风险评分
230
+ - 代理模式图
231
+ - 升级历史
232
+ ```
233
+
234
+ ---
235
+
236
+ ## 📋 综合评分计算
237
+
238
+ ```
239
+ 综合风险评分 = 加权平均:
240
+ 权限拓扑 × 0.30
241
+ + 用途推断 × 0.15
242
+ + 资金安全 × 0.30
243
+ + 代码质量 × 0.10
244
+ + 升级风险 × 0.15
245
+
246
+ 评级:
247
+ 0.0 - 1.0 → 🟢 LOW: 权限分散、代码好、无 rug 可能
248
+ 1.1 - 2.5 → 🟢 LOW-MEDIUM: 有中心化要素但总体可控
249
+ 2.6 - 3.5 → 🟡 MEDIUM: 存在显著中心化风险或代码问题
250
+ 3.6 - 4.5 → 🟠 HIGH: 严重风险,强烈不建议交互
251
+ 4.6 - 5.0 → 🔴 CRITICAL: 几乎确定是恶意合约
252
+ ```
253
+
254
+ ---
255
+
256
+ ## 📝 报告输出格式
257
+
258
+ ```
259
+ ┌──────────────────────────────────────────┐
260
+ │ 🔬 Audit-Plus 审计报告 │
261
+ │ │
262
+ │ 合约: <name> (<symbol>) │
263
+ │ 链: <chainName> │
264
+ │ 地址: <contractAddress> │
265
+ │ 审计时间: <timestamp> │
266
+ │ │
267
+ │ ─────────── 📊 综合评分 ─────────── │
268
+ │ 🟡 3.2 / 5.0 (MEDIUM RISK) │
269
+ │ │
270
+ │ 分维度: │
271
+ │ 🔐 权限拓扑: 4/5 🟠 (单点控制) │
272
+ │ 🎯 用途推断: 1/5 🟢 (一致) │
273
+ │ 💰 资金安全: 3/5 🟡 (owner可提款) │
274
+ │ 🏗️ 代码质量: 2/5 🟢 (用了OZ) │
275
+ │ 🔄 升级风险: 2/5 🟢 (不可升级) │
276
+ │ │
277
+ │ ─────────── 🔍 关键发现 ─────────── │
278
+ │ 🔴 CRITICAL: 无 │
279
+ │ 🟠 HIGH: owner 可单方面提取合约内 BNB │
280
+ │ 🟡 MEDIUM: 5% 买卖税,owner 可改至 50% │
281
+ │ 🟢 LOW: 编译器版本 0.8.19 正常 │
282
+ │ │
283
+ │ ──────── 🔗 交叉验证 ──────────── │
284
+ │ query-token-audit: MEDIUM (2/5) ✅ 一致 │
285
+ │ query-token-info: 已验证合约 ✅ │
286
+ │ │
287
+ │ ⚠️ 以上分析仅供参考,不构成投资建议。 │
288
+ │ 请自行研究 (DYOR)。 │
289
+ └──────────────────────────────────────────┘
290
+ ```
291
+
292
+ ---
293
+
294
+ ## 🔄 审计闭环:报告 → 项目描述 → 下一步路由
295
+
296
+ > **审计不是终点。报告生成后,自动进入闭环:**
297
+
298
+ ### 闭环三步走
299
+
300
+ ```
301
+ [1] 审计报告输出
302
+
303
+
304
+ [2] 自动生成项目摘要(Project Context Summary)
305
+ ┌─────────────────────────────────────┐
306
+ │ 项目名称: <name> (<symbol>) │
307
+ │ 合约类型: ERC20 Meme代币 / 含反射机制 │
308
+ │ 链: BSC (56) │
309
+ │ 风险等级: 🟡 MEDIUM (3.2/5) │
310
+ │ 核心风险: owner 可提款 / 税率可改 │
311
+ │ 安全项: 已验证开源 / 不可升级 │
312
+ │ 建议: 小仓位观察 / 监控 owner 活动 │
313
+ └─────────────────────────────────────┘
314
+
315
+
316
+ [3] 智能下一步路由(基于风险等级 + 用户原始意图)
317
+ → 衔接到合适的后续 skill/pipeline
318
+ ```
319
+
320
+ ### 项目摘要格式(机器可读 + 人类可读)
321
+
322
+ 审计完成后,skill++ 必须输出以下结构化的项目摘要,**作为后续所有 skill 调用的上下文**:
323
+
324
+ ```json
325
+ {
326
+ "projectSummary": {
327
+ "name": "PepeToken",
328
+ "symbol": "PEPE",
329
+ "contractAddress": "0x1234...5678",
330
+ "chain": "BSC",
331
+ "chainId": "56",
332
+ "contractType": "ERC20 Meme代币 (反射+燃烧)",
333
+ "riskLevel": 3.2,
334
+ "riskLabel": "MEDIUM",
335
+ "topRisks": [
336
+ "owner可提取合约内BNB",
337
+ "税率可由owner修改至50%",
338
+ "owner为单点EOA无多签保护"
339
+ ],
340
+ "safetyItems": [
341
+ "已验证开源合约",
342
+ "不可升级(非代理模式)",
343
+ "使用OpenZeppelin标准库"
344
+ ],
345
+ "recommendedActions": [
346
+ "监控owner地址活动",
347
+ "小仓位试探性交易",
348
+ "关注聪明钱是否入场"
349
+ ]
350
+ }
351
+ }
352
+ ```
353
+
354
+ ### 下一步路由表(Next-Step Router)
355
+
356
+ 审计完成后,**不要直接结束**。根据风险等级 + 审计发现,主动推荐后续操作:
357
+
358
+ | 风险等级 | 审计发现 | 推荐的下一步 | Pipeline |
359
+ |---------|---------|-------------|----------|
360
+ | 🟢 LOW | 一切正常 | "看起来安全,要查行情/交易吗?" | → P_TOKEN_ANALYSIS 代币分析 |
361
+ | 🟢 LOW | 有聪明钱信号 | "该代币低风险,要我帮你跟聪明钱信号吗?" | → P_SMART_MONEY: 聪明钱追踪 |
362
+ | 🟡 MEDIUM | owner 有特权 | "⚠️ owner 权限较大,要监控他的活动吗?" | → query-address-info 查 owner 地址 |
363
+ | 🟡 MEDIUM | 税率可变 | "⚠️ 税率可被修改,要我查当前市场热度吗?" | → P_CHAIN_SCAN 扫链分析 |
364
+ | 🟠 HIGH | 存在严重中心化 | "不建议交互。要我帮你找类似但更安全的项目吗?" | → P_CHAIN_SCAN 扫链找替代 |
365
+ | 🔴 CRITICAL | 确认恶意模式 | "该合约高度疑似骗局。强烈建议远离。" | → 终止 / 报告至社区 |
366
+ | ⚪ UNKNOWN | 合约未开源 | "源码不可获取。只能做字节码分析,要我继续吗?" | → 有限分析 / 告知局限性 |
367
+
368
+ ### 用户原始意图保留
369
+
370
+ ```
371
+ 用户原始输入: "https://bscscan.com/address/0x...#code 这个合约有没有后门?"
372
+
373
+ 审计结果: 未发现后门,但 owner 有提款权限(MEDIUM 风险)
374
+
375
+ skill++ 回复:
376
+ "审计完成。未发现隐藏后门 ✅
377
+ 但 owner 可提取合约内 BNB ⚠️
378
+
379
+ 📋 项目摘要已生成(见上方)
380
+
381
+ 建议下一步:
382
+ 1. 🔍 查 owner 地址活动 → "查 owner"
383
+ 2. 📊 看市场热度 → "看行情"
384
+ 3. 🐳 跟踪聪明钱 → "跟踪信号"
385
+
386
+ 你想做什么?或者我继续深入审计某个具体方面?"
387
+ ```
388
+
389
+ ---
390
+
391
+ ## 🔗 与 skill++ 的闭环集成
392
+
393
+ ```
394
+ skill++ 完整闭环:
395
+
396
+ STEP 0: 解析用户输入(URL/地址/代码/意图)
397
+ STEP 1: 检查工具依赖
398
+ STEP 2: 匹配 P_DEEP_AUDIT
399
+ STEP 3: 执行审计
400
+ ├→ 获取源码
401
+ ├→ 拉取上下文(query-token-info + query-token-audit)
402
+ ├→ 五维深度分析
403
+ └→ [CHECKPOINT] 展示审计报告
404
+ ═══════════════════════════════════ ← 闭环分界线
405
+ STEP 4: 自动生成项目摘要(Project Context Summary)
406
+ STEP 5: 基于风险+发现,推荐下一步路由
407
+ STEP 6: 等待用户选择 → 衔接到下一个 Pipeline
408
+
409
+ 下一个 Pipeline 可以回到审计:
410
+ 例如: P_TOKEN_ANALYSIS 代币分析) → 发现问题 → 回到 P_DEEP_AUDIT 深度审计)
411
+ 例如: P_SMART_MONEY (聪明钱) → 发现可疑 → 回到 P_DEEP_AUDIT 重新评估)
412
+ ```
413
+
414
+ ---
415
+
416
+ ## 🧠 恶意模式库 (Known Malicious Patterns)
417
+
418
+ > 以下模式基于 SWC 注册表、DeFi 攻击历史、社区共识。匹配到任一模式即标记对应风险等级。
419
+
420
+ ### CRITICAL — 确定恶意
421
+
422
+ | 模式ID | 模式名称 | 代码特征 | 判定条件 |
423
+ |--------|---------|---------|---------|
424
+ | `HONEYPOT-01` | 蜜罐(只能买不能卖) | `transfer()` 中检测 `to==pair` 时 revert / 黑名单 / maxTxAmount=0 | 买入正常但卖出必定失败 |
425
+ | `RUG-01` | 无限 Mint 后门 | `mint()` 无 onlyOwner 或无上限 / hidden mint 函数 | owner 可无限增发 |
426
+ | `RUG-02` | 单键 Rug | owner 可调 `removeLiquidity` + `transfer` 一气呵成 | 一次调用掏空池子 |
427
+ | `RUG-03` | 假 renounce | `renounceOwnership()` 被 override 为空函数或可逆 | 宣称放弃所有权但实际没放弃 |
428
+ | `RUG-04` | 延迟 Rug | 时间锁 < 24h + owner 可提走 LP | 短线锁仓,到期即 rug |
429
+ | `BACKDOOR-01` | 隐藏提款函数 | 函数名伪装(如 `doSwap` / `updateConfig` 实际是提款) | 函数名与行为不符 |
430
+ | `BACKDOOR-02` | 代理后门 | UUPS 升级到包含 `selfdestruct` 的新实现 | 升级后合约直接销毁 |
431
+ | `PHISH-01` | 假代币 | `symbol()` 返回知名代币符号(USDT/USDC)但无储备 | 冒充知名代币 |
432
+
433
+ ### HIGH — 严重风险
434
+
435
+ | 模式ID | 模式名称 | 代码特征 | 判定条件 |
436
+ |--------|---------|---------|---------|
437
+ | `CENT-01` | 单点控制所有资金 | owner 可调 `withdraw` / `rescueToken` 无金额限制 | 一个地址能掏空合约 |
438
+ | `CENT-02` | 无限黑名单 | owner 可 `blacklist(address, true)` 无解锁机制 | 任何人可被永久冻结 |
439
+ | `CENT-03` | 税率无上限 | `setFee(uint256)` 无 max 限制 | 税率可设到 100% |
440
+ | `CENT-04` | 无时间锁的代理升级 | proxy admin 可即时升级 | 用户前一秒正常后一秒被抢 |
441
+ | `TAX-01` | 买入税可改 | `_buyTax` 可被 owner 修改 | 买之前 1% 买之后 99% |
442
+ | `TAX-02` | 卖出税可改 | `_sellTax` 可被 owner 修改 | 同上逻辑,卖出被夹 |
443
+ | `SLIPPAGE-01` | 最大交易量可控 | `_maxTxAmount` 可被 owner 改为极小值 | 实际冻结所有卖出 |
444
+
445
+ ### MEDIUM — 需关注
446
+
447
+ | 模式ID | 模式名称 | 代码特征 | 判定条件 |
448
+ |--------|---------|---------|---------|
449
+ | `AUTH-01` | owner 为单点 EOA | `owner()` 返回非合约地址 | 单人控制,无多签保护 |
450
+ | `AUTH-02` | 特权函数无事件 | `onlyOwner` 函数内无 `emit` | 用户无法监听权限操作 |
451
+ | `ECON-01` | 未锁流动性 | 无 LP lock / 时间锁 < 30 天 | 流动性短期即撤 |
452
+ | `ECON-02` | 团队分配过大 | `_teamWallet` 持有 > 20% 总量 | 砸盘风险高 |
453
+ | `CODE-01` | 自定义转账逻辑 | 手写 `_transfer()` 而非继承标准库 | 容易出现逻辑漏洞 |
454
+ | `CODE-02` | 浮点/精度处理 | 使用非标准精度计算 | 精度损失导致资产计算错误 |
455
+ | `CODE-03` | 未锁定编译器版本 | `pragma solidity ^0.8.0` | 不同编译器版本行为可能不同 |
456
+
457
+ ### LOW — 建议改进
458
+
459
+ | 模式ID | 模式名称 | 代码特征 |
460
+ |--------|---------|---------|
461
+ | `BEST-01` | 缺少 NatSpec | 函数无 `@notice` / `@param` / `@return` |
462
+ | `BEST-02` | 缺少事件 | 状态变更函数无 `emit` |
463
+ | `BEST-03` | 单文件合约 | 所有逻辑在单一 .sol 文件 |
464
+ | `BEST-04` | 魔法数字 | 字面量未定义为 constant |
465
+
466
+ ---
467
+
468
+ ## 📐 评分细则 (Scoring Rubric)
469
+
470
+ ### 维度 1: 权限拓扑 (权重 0.30)
471
+
472
+ ```
473
+ 起始分 0,加分/扣分:
474
+
475
+ 扣分:
476
+ owner 是 EOA 无多签 +2.0
477
+ 有 mint 无上限 +2.0
478
+ 有 pause 功能 +1.0
479
+ 黑名单无解锁机制 +1.5
480
+ 可修改税率 +1.0
481
+ 可提走合约内全部资金 +2.5 (直接跳到 5)
482
+ 提款无金额限制 +1.0
483
+ 特权操作无事件通知 +0.5
484
+ 声称 renounce 但实际可逆 +3.0 (直接跳到 5)
485
+
486
+ 加分 (减轻):
487
+ owner 是多签 (GnosisSafe) -2.0
488
+ 有时间锁 (TimelockController) -1.5
489
+ 特权函数有 max 限制 -1.0
490
+ 已 renounce ownership -3.0
491
+ 多角色分权 (RBAC) -1.0
492
+
493
+ 最终: clamp(0, 5)
494
+ ```
495
+
496
+ ### 维度 2: 用途推断 (权重 0.15)
497
+
498
+ ```
499
+ 起始分 0:
500
+ 代码行为与描述不一致 +2.0
501
+ 隐藏函数(未在 UI 公开) +3.0 (每发现一个)
502
+ 匹配到恶意模式 +5.0 (直接跳到 5)
503
+ 函数名与行为不符 +2.0
504
+
505
+ 最终: clamp(0, 5)
506
+ ```
507
+
508
+ ### 维度 3: 资金安全 (权重 0.30)
509
+
510
+ ```
511
+ 起始分 0:
512
+ owner 可提取用户资金 +3.0
513
+ owner 可移除流动性 +3.0
514
+ owner 可无限 mint +3.0
515
+ 无限授权风险 (approve 到可控地址) +2.0
516
+ 无 LP 锁或锁定期 < 7 天 +2.0
517
+ 合约持有用户资金 (托管模式) +2.0
518
+
519
+ 加分:
520
+ LP 锁定 > 180 天 -2.0
521
+ 用户资金自托管 -2.0
522
+ 有提取限额 -1.0
523
+
524
+ 最终: clamp(0, 5)
525
+ ```
526
+
527
+ ### 维度 4: 代码质量 (权重 0.10)
528
+
529
+ ```
530
+ 起始分 0:
531
+ 手写转账逻辑 +2.0
532
+ 编译器 < 0.8.0 +1.5
533
+ 编译器 >= 0.8.20 (PUSH0 bug) +1.0
534
+ 单文件无模块化 +1.0
535
+ 无测试 +1.0
536
+ 无 NatSpec +0.5
537
+
538
+ 加分:
539
+ 使用 OZ/Solady 标准库 -1.5
540
+ 模块化结构清晰 -1.0
541
+ 有完整测试套件 -1.5
542
+ 编译器版本锁定 -0.5
543
+
544
+ 最终: clamp(0, 5)
545
+ ```
546
+
547
+ ### 维度 5: 升级风险 (权重 0.15)
548
+
549
+ ```
550
+ 起始分 0:
551
+ 是代理合约 +2.0
552
+ 升级权在单点 EOA +2.0
553
+ 无时间锁 +1.5
554
+ 升级无事件通知 +0.5
555
+
556
+ 加分:
557
+ 非代理 (不可升级) -3.0
558
+ 升级已锁定 (renounced) -3.0
559
+ 有多签 + 时间锁 -2.0
560
+
561
+ 最终: clamp(0, 5)
562
+ ```
563
+
564
+ ---
565
+
566
+ ## ⏱️ 审计深度三档
567
+
568
+ | 档位 | 时间 | 覆盖 | 适用场景 |
569
+ |------|------|------|---------|
570
+ | **快速** | ~3min | 权限拓扑 + 恶意模式匹配 + 资金安全 | 用户说"快速看一眼" |
571
+ | **标准** | ~10min | 全部 5 维度 | 默认模式 |
572
+ | **深度** | ~20min+ | 5 维度 + 导入依赖全展开 + 链上交易历史 + owner 地址画像 | 用户说"深度审计" |
573
+
574
+ ### 深度审计增量检查
575
+
576
+ ```
577
+ 标准审计之外,深度审计增加:
578
+
579
+ □ 所有 import 文件递归展开审计(不是只看主文件)
580
+ □ 链上交易历史分析:
581
+ - owner 的历史交易(是否 rug 过其他项目)
582
+ - 合约创建后的资金流向
583
+ - 是否有疑似测试/调参交易
584
+ □ owner 地址画像:
585
+ - 是否是已知攻击者地址
586
+ - 是否关联其他合约
587
+ - 是否有 Tornado Cash 交互
588
+ □ 存储布局兼容性检查(如果升级过)
589
+ ```
590
+
591
+ ---
592
+
593
+ ## 📄 审计报告文件输出
594
+
595
+ 审计完成后,生成结构化报告文件:
596
+
597
+ ```
598
+ 文件名: audit_<chain>_<address_short>_<timestamp>.md
599
+ 示例: audit_BSC_0x882d_20260615.md
600
+
601
+ 路径: skills/audit-plus/reports\
602
+
603
+ 报告内容:
604
+ 1. 审计摘要(机器可读 JSON block)
605
+ 2. 执行摘要(人类可读)
606
+ 3. 各维度详细发现
607
+ 4. 综合评分
608
+ 5. 下一步建议
609
+ 6. Disclaimer
610
+ ```
611
+
612
+ 报告同时作为后续 skill 的输入上下文——P_DEEP_AUDIT 完成后,skill++ 的 STEP 4 读取报告文件中的机器可读 JSON,自动生成项目摘要,STEP 5 基于评分推荐下一步。