用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/lza6/Claude-code-cli-config --skill software-crypto-web3命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | software-crypto-web3 |
| description | 针对 EVM、Solana、Cosmos 和 TON 的安全区块链开发。在构建智能合约、审计或集成链上后端时使用。 |
使用此技能来设计、实施和审查安全的区块链系统,包括:智能合约、链上/链下集成、托管与签名、测试、审计及生产运营。
默认原则:安全优先开发、明确的威胁模型、全方位的测试(单元测试+集成测试+分叉测试+模糊测试/不变量测试)、高价值场景下的形式化方法、可升级的安全性(时间锁、治理、回滚计划)以及密钥托管与签名的深度防御。
| 任务 | 工具/框架 | 常用命令 | 使用场景 |
|---|---|---|---|
| Solidity 开发 | Hardhat/Foundry | npx hardhat init 或 forge init | 以太坊/EVM 智能合约 |
| Solana 开发 | Anchor | anchor init | Solana 区块链开发 |
| Cosmos 合约 | CosmWasm | cargo generate --git cosmwasm-template | Cosmos 生态系统合约 |
| TON 合约 | Tact/FunC + Blueprint | npm create ton@latest | TON 区块链开发 |
| 可靠性测试 | Foundry/Hardhat | forge test 或 npx hardhat test | 单元、分叉、不变量测试 |
| 安全审计 | Slither/Aderyn/Echidna | slither . 或 aderyn . | 静态分析、模糊测试 |
| AI 辅助审查 | AI 扫描器 (可选) | N/A | 预审计准备(需人工验证结果) |
| 模糊测试 | Echidna/Medusa | echidna 或 medusa fuzz | 基于属性的模糊测试 |
| Gas 优化 | Foundry Gas 快照 | forge snapshot | 基准测试与优化 Gas 消耗 |
| 部署任务 | Hardhat Deploy/Forge Script | npx hardhat deploy | 主网/测试网部署 |
| 合约验证 | Etherscan API | npx hardhat verify | 源代码验证 |
| 可升级合约 | OpenZeppelin Upgrades | @openzeppelin/hardhat-upgrades | 基于代理 (Proxy) 的升级 |
| 智能钱包 | ERC-4337, EIP-7702 | 账户抽象 (AA) SDK | 智能账户与赞助 Gas (需验证网络支持) |
当您需要进行以下工作时,请使用此技能:
项目需求: [使用场景]
- 是否需要兼容 EVM 的智能合约?
- 复杂的测试需求 -> Foundry (支持模糊测试、不变量、Gas 快照)
- TypeScript 生态偏好 -> Hardhat (丰富插件、TS 支持、Ethers.js/Viem)
- 企业级功能 -> NestJS + Hardhat
- 追求高吞吐量 / 低费用?
- 基于 Rust 生态 -> Solana (Anchor)
- EVM L2 方案 -> Arbitrum/Optimism/Base (共享以太坊安全性,极低 Gas)
- 结合 Telegram 分发 -> TON (Tact/FunC)
- 追求跨链互操作性?
- Cosmos 生态 -> CosmWasm (IBC 协议)
- 多链应用 -> LayerZero 或 Wormhole (需验证其信任假设)
- 自研桥接 -> 风险极高;需建立严密的威胁模型
- 代币标准实施?
- 同质化代币 -> ERC20 (OpenZeppelin), SPL Token (Solana)
- NFT -> ERC721/ERC1155 (OpenZeppelin), Metaplex (Solana)
- 半同质化代币 -> ERC1155 (适用于游戏、碎片化 NFT)
- DeFi 协议开发?
- AMM/DEX -> Uniswap V3 分叉或自定义 (集中流动性)
- 借贷协议 -> Compound/Aave 分叉 (抵押借贷)
- 质押/收益 -> 自定义奖励分配合约
- 需要合约可升级?
- 透明代理 (Transparent) -> OpenZeppelin (实现管理员/用户权限分离)
- UUPS 代理 -> 升级逻辑集成在实现合约中
- 钻石模式 (Diamond) -> 模块化功能扩展 (EIP-2535)
- 后端集成方案?
- .NET/C# -> 采用多提供商架构 (参见后端集成参考)
- Node.js -> Ethers.js/Viem + 持久化队列
- Python -> Web3.py + FastAPI
各链特定注意事项:
请参阅 references/ 目录以获取各链的最佳实践。
安全基线:假设处于对抗性环境。将合约和签名基础设施视为完全公开、随时可能受攻击的 API。
密钥管理是生产级加密系统中最主要的风险来源。请参考真实的密钥管理标准(如 NIST SP 800-57)。
| 模式 | 密钥持有者 | 典型用途 | 主要风险 | 默认控制措施 |
|---|---|---|---|---|
| 非托管 | 最终用户钱包 | 消费者应用、自我托管 | 钓鱼、授权错误、用户操作失误 | 硬件钱包支持、清晰的签名 UI、交互白名单 |
| 托管 | 您的服务 (HSM/MPC) | 交易平台、支付、B2B | 密钥失窃、内部威胁、操作失误 | 使用 HSM/MPC、职责分离、限额/审批、审计日志 |
| 混合 | 责任共担 | 企业级应用 | 复杂的故障模式 | 明确的恢复/覆盖路径、完善的操作手册 |
最佳实践:
禁忌做法:
所有状态修改函数必须遵循此模式。
// 正确做法: CEI 模式
function withdraw(uint256 amount) external {
// 1. 检查 (Checks): 验证所有前提条件
require(balances[msg.sender] >= amount, "余额不足");
// 2. 效果 (Effects): 在进行外部调用之前更新内部状态
balances[msg.sender] -= amount;
// 3. 交互 (Interactions): 将外部调用放在最后执行
(bool success, ) = msg.sender.call{value: amount}("");
require(success, "转账失败");
}
// 错误做法: 在更新状态前进行外部调用(极易导致重入攻击)
function withdrawUnsafe(uint256 amount) external {
require(balances[msg.sender] >= amount);
(bool success, ) = msg.sender.call{value: amount}("");
require(success);
balances[msg.sender] -= amount; // 更新太晚了!
}
| 类别 | 工具名称 | 核心用途 | 使用建议 |
|---|---|---|---|
| 静态分析 | Slither | 漏洞检测,内置 92+ 种检测器 | 每个合约必用 |
| 静态分析 | Aderyn | 基于 Rust,处理大型代码库速度极快 | 大型项目推荐 |
| 模糊测试 | Echidna | 基于属性的模糊测试 | 处理复杂状态时必用 |
| 模糊测试 | Medusa | 并行化的 Go 语言模糊测试工具 | 集成到 CI/CD 流水线 |
| 形式化验证 | SMTChecker | Solidity 内置的逻辑检查器 | 每个合约推荐使用 |
| 形式化验证 | Certora | 基于属性的证明 (CVL) | DeFi 及高价值合约必用 |
| 形式化验证 | Halmos | 符号执行测试 | 验证复杂的不变量 |
| AI 辅助 | Sherlock AI | 机器学习驱动的漏洞检测 | 审计前预检 |
| AI 辅助 | Olympia | 集成到 DevSecOps | CI/CD 环节安全加固 |
| AI 辅助 | Auditless | 423+ 检测器,由 LLM 驱动 | 审查业务逻辑漏洞 |
| 突变测试 | Sumi | 评估测试套件的覆盖质量 | 验证测试的有效性 |
// Certora CVL 验证规则示例
rule balanceNeverNegative(address user) {
env e;
require balances[user] >= 0;
deposit(e);
assert balances[user] >= 0;
}
注意:使用 AI 工具应仅用于审计前的预检和辅助覆盖,不能替代最终的安全决策。应将其输出视为不可信,必须通过确定性工具、测试和人工复核来验证结果。
| 保护策略 | 具体实施方式 |
|---|---|
| 私有内存池 | 使用 Flashbots Protect、MEV Blocker |
| “提交-揭示”模式 | 使用哈希承诺,在截止日期后揭晓内容 |
| 批量拍卖 | 使用 CoW Protocol、Gnosis Protocol |
| 加密内存池 | 使用 Shutter Network |
// “提交-揭示” (Commit-Reveal) 模式示例
mapping(address => bytes32) public commitments;
function commit(bytes32 hash) external {
commitments[msg.sender] = hash;
}
function reveal(uint256 value, bytes32 salt) external {
require(
keccak256(abi.encodePacked(value, salt)) == commitments[msg.sender],
"揭示验证失败"
);
// 逻辑处理揭示后的真实数值
}
注意:账户抽象的采用率和协议升级计划变化极快。在提出具体方案前,请务必使用
WebSearch验证 ERC-4337 生态系统的当前状态以及 EIP-7702 的激活细节。
| 标准 | 类型 | 核心特点 | 典型场景 |
|---|---|---|---|
| ERC-4337 | 智能合约钱包 | 无需修改以太坊协议的完整 AA 方案 | 新用户钱包、DeFi 深度集成、游戏 |
| EIP-7702 | EOA 账户增强 | 让普通 EOA 账户能执行合约代码 | 现有钱包升级、批量交易处理 |
| ERC-6900 | 模块化账户 | AA 钱包的插件化管理标准 | 可扩展、可定制的钱包功能 |
ERC-4337 运作架构:
用户 -> UserOperation (用户操作) -> Bundler (打包器) -> EntryPoint (入口合约) -> 智能账户 -> 目标合约
|
v
Paymaster (Gas 赞助商)
EIP-7702 (Pectra 升级相关):
核心能力:
注意:L2 的市场份额和风险评估处于快速变动中。在对 L2 进行排名、统计 TVL 或风险分类前,请参考最新数据(如 L2Beat)。
| 网络 | 类型 | 最适合场景 | 核心优势 |
|---|---|---|---|
| Base | Optimistic | 消费级应用、主流普及 | 与 Coinbase 深度集成,费用极低 |
| Arbitrum | Optimistic | DeFi 协议、成熟的生态 | TVL 最高、活跃的 DAO 资助 |
| Optimism | Optimistic | 公共物品、超级链 (Superchain) 生态 | 完善的 OP Stack 与资助计划 |
| zkSync Era | ZK-Rollup | 快速确认、原生支持 AA | zkEVM 兼容,提现无需等待 |
| Starknet | ZK-Rollup | Cairo 语言开发、原生 ZK 支持 | STARK 证明技术,定制化 VM |
越来越多的大型机构基于 OP Stack 推出自己的 L2 网络:
自 2024 年 3 月起,Rollup 开始使用基于 Blob 的数据发布方式:
calldata 发布 -> 成本极高。blob 发布 -> 数据可用性 (DA) 成本大幅降低。警示:合约漏洞通常会造成惨重损失。权限控制、签名/托管逻辑以及集成环节的错误依然是事故频发的主要原因。
| 错误类型 | 潜在影响 | 预防措施 |
|---|---|---|
| 权限控制缺失 | 未授权的管理员操作 | 使用 OpenZeppelin 的 Ownable2Step 或 AccessControl |
| 重入攻击 (Reentrancy) | 资金被循环提取至空 | 严格执行 CEI 模式,使用 ReentrancyGuard |
| 未检查外部调用返回值 | 操作静默失败 | 始终检查 call 返回值,使用 SafeERC20 库 |
| 整数溢出 (0.8 以前版本) | 数值被恶意操纵 | 升级至 Solidity 0.8.x+ (内置溢出检查) |
| 抢跑交易 (Front-running) | MEV 被提取、三明治攻击 | 使用 Commit-reveal、Flashbots Protect 或私有内存池 |
| 预言机操纵 | 价格喂价遭受攻击 | 采用 TWAP (时间加权平均价)、多预言机校验、设置波动阈值 |
| 初始化不当 | 代理合约被非法接管 | 使用 initializer 修饰符,调用 _disableInitializers() |
| 存储冲突 (代理模式下) | 合约数据损坏 | 遵循 EIP-1967 标准插槽,使用 OpenZeppelin Upgrades 插件 |
严禁使用:
tx.origin 进行身份验证(存在钓鱼风险)。block.timestamp 生成伪随机数(易受矿工/验证者操控)。transfer/send 的执行返回值。最佳实践建议:
严禁完全依赖 LLM 进行:
推荐利用 LLM 进行:
核心参考资料
references/blockchain-best-practices.md - 通用区块链设计模式与安全性。references/backend-integration-best-practices.md - 后端加密集成模式 (.NET/C#, CQRS, Kafka)。references/solidity-best-practices.md - Solidity/EVM 特定开发指南。references/rust-solana-best-practices.md - Solana 与 Anchor 开发模式。references/cosmwasm-best-practices.md - Cosmos/CosmWasm 最佳实践。references/ton-best-practices.md - TON 合约 (Tact/FunC) 开发与部署。references/defi-protocol-patterns.md - 深度解析 DeFi 各类协议(AMM、借贷、预言机等)。references/nft-token-standards.md - NFT 相关标准与元数据处理。references/cross-chain-bridges.md - 跨链桥架构与安全性分析。data/sources.json - 精选的各链外部参考资源。代码模板
assets/ethereum/template-solidity-hardhat.md, assets/ethereum/template-solidity-foundry.mdassets/solana/template-rust-anchor.mdassets/cosmos/template-cosmwasm.mdassets/ton/template-tact-blueprint.md, assets/ton/template-func-blueprint.mdassets/bitcoin/template-bitcoin-core.md重要事项:当涉及 Web3/加密货币的技术选型或趋势询问时,您必须在回答前先执行 WebSearch 以获取最新动态。
“2026年Web3开发最佳实践”“[Ethereum/Solana/Base] 2026年开发动态更新”“智能合约安全审计 2026”“[Hardhat/Foundry] 2026年对比分析”搜索后,您的回复应包含:
references/operational-playbook.md - 包含智能合约架构、安全优先工作流以及各平台特定的操作模式。