software-crypto-web3
EVM、Solana、Cosmos、TON に対応した安全なブロックチェーン開発を支援します。スマートコントラクトの構築・監査、またはオンチェーンバックエンドの統合を行う際に活用してください。
description の原文を見る
Secure blockchain development for EVM, Solana, Cosmos, and TON. Use when building smart contracts, auditing, or integrating on-chain backends.
SKILL.md 本文
Software Crypto/Web3 エンジニアリング
このスキルを使用して、セキュアなブロックチェーンシステムの設計、実装、レビューを行います:スマートコントラクト、オンチェーン/オフチェーン統合、カストディーと署名、テスト、監査、本番運用。
デフォルト:セキュリティファースト開発、明示的な脅威モデル、包括的なテスト(ユニット+統合+フォーク+ファズ/インバリアント)、高額取引時の形式的手法、鍵カストディーと署名のための多層防御、アップグレード安全性(タイムロック、ガバナンス、ロールバック計画)。
クイックリファレンス
| タスク | ツール/フレームワーク | コマンド | 使用場面 |
|---|---|---|---|
| Solidity开发 | Hardhat/Foundry | npx hardhat init または forge init | Ethereum/EVMスマートコントラクト |
| Solanaプログラム | Anchor | anchor init | Solanaブロックチェーン開発 |
| Cosmosコントラクト | CosmWasm | cargo generate --git cosmwasm-template | Cosmosエコシステムコントラクト |
| TONコントラクト | Tact/FunC + Blueprint | npm create ton@latest | TONブロックチェーン開発 |
| テスト(Solidity) | Foundry/Hardhat | forge test または npx hardhat test | ユニット、フォーク、インバリアントテスト |
| セキュリティ監査 | Slither/Aderyn/Echidna | slither . または aderyn . | 静的分析、ファズテスト |
| AI支援レビュー | AIスキャナー(オプション) | N/A | 監査前準備(手動で検出結果を検証) |
| ファズテスト | Echidna/Medusa | echidna . または medusa fuzz | プロパティベースのファズテスト |
| ガス最適化 | Foundry Gas Snapshots | forge snapshot | ガスのベンチマークと最適化 |
| デプロイ | Hardhat Deploy/Forge Script | npx hardhat deploy | メインネット/テストネットデプロイ |
| 検証 | Etherscan API | npx hardhat verify | ソースコード検証 |
| アップグレード可能コントラクト | OpenZeppelin Upgrades | @openzeppelin/hardhat-upgrades | プロキシベースのアップグレード |
| スマートウォレット | ERC-4337、EIP-7702 | Account abstraction SDK | スマートアカウントとガススポンサーシップ(ネットワーク対応を確認) |
スコープ
このスキルが必要な場合:
- スマートコントラクト開発(Solidity、Rust、CosmWasm)
- DeFiプロトコル実装(AMM、レンディング、ステーキング、イールドファーミング)
- NFTおよびトークン標準(ERC20、ERC721、ERC1155、SPLトークン)
- DAOガバナンスシステム
- クロスチェーンブリッジと相互運用性
- ガス最適化とストレージパターン
- スマートコントラクトセキュリティ監査
- テスト戦略(Foundry、Hardhat、Anchor)
- オラクル統合(Chainlink、Pyth)
- アップグレード可能なコントラクトパターン(プロキシ、ダイアモンド)
- Web3フロントエンド統合(ethers.js、web3.js、@solana/web3.js)
- ブロックチェーンインデックス(The Graph、subgraph)
- MEV保護とFlashbots
- Layer 2スケーリングソリューション(Base、Arbitrum、Optimism、zkSync)
- Account abstraction(ERC-4337、EIP-7702、スマートウォレット)
- バックエンド暗号統合(.NET/C#、マルチプロバイダーアーキテクチャ、CQRS)
- Webhook処理と署名検証(Fireblocks、カストディアルプロバイダー)
- 暗号決済向けのKafkaを使用したイベント駆動アーキテクチャ
- トランザクションライフサイクル管理と監視
- ウォレット管理(カストディアル対ノンカストディアル)
意思決定ツリー:ブロックチェーンプラットフォーム選択
プロジェクト要件:[ユースケース]
- EVM互換スマートコントラクト?
- 複雑なテスト要件 -> Foundry(ファズテスト、インバリアント、ガススナップショット)
- TypeScriptエコシステム -> Hardhat(プラグイン、TS、Ethers.js/Viem)
- エンタープライズ機能 -> NestJS + Hardhat
- 高スループット/低手数料?
- Rustベース -> Solana(Anchor)
- EVM L2 -> Arbitrum/Optimism/Base(Ethereumセキュリティ、低いガス代)
- 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フォーク(担保付き借入)
- ステーキング/イールド -> カスタム報酬配布コントラクト
- アップグレード可能コントラクト必須?
- 透過的プロキシ -> OpenZeppelin(管理者/ユーザー分離)
- UUPS -> アップグレードロジックを実装に含める
- ダイアモンド -> モジュラー機能(EIP-2535)
- バックエンド統合?
- .NET/C# -> マルチプロバイダーアーキテクチャ(バックエンド統合参照を参照)
- Node.js -> Ethers.js/Viem + 耐久キュー
- Python -> Web3.py + FastAPI
チェーン固有の考慮事項:
- Ethereum/EVM:セキュリティファースト、高いガス代、最大のエコシステム
- Solana:パフォーマンスファースト、Rustが必須、低い手数料
- Cosmos:相互運用性ファースト、IBC ネイティブ、成長するエコシステム
- TON:Telegramファースト、非同期コントラクト、ユニークなアーキテクチャ
チェーン固有のベストプラクティスは references/ を参照してください。
セキュリティファーストパターン(2026年1月)
セキュリティベースライン:敵対的な環境を想定します。コントラクトと署名インフラを公開的で攻撃可能なAPIとして扱います。
カストディー、鍵、署名(コア)
鍵管理は本番環境の暗号システムにおける支配的リスク要因です。ベースラインとして実際の鍵管理標準を使用してください(例:NIST SP 800-57)。
| モデル | 鍵の管理者 | 一般的な用途 | 主要リスク | デフォルトコントロール |
|---|---|---|---|---|
| ノンカストディアル | エンドユーザーウォレット | コンシューマーアプリ、セルフカストディー | フィッシング、承認、UXエラー | ハードウェアウォレット対応、明確な署名UX、許可リスト |
| カストディアル | あなたのサービス(HSM/MPC) | 取引所、決済、B2B | 鍵盗難、内部脅威、運用ミス | HSM/MPC、職務分離、制限/承認、監査ログ |
| ハイブリッド | 責任分担 | エンタープライズ | 複雑な障害モード | 明示的なリカバリー/オーバーライドパス、ランブック |
ベストプラクティス:
- ホット/ウォーム/コールドの署名パスを分離し、制限と承認を実施 [推論]
- 高額転送には二重統制が必須(ポリシーエンジン+人による承認) [推論]
- 署名リクエストの不変監査証跡を保持(誰が/何を/いつ/なぜ) [推論]
回避:
- プライベートキーをデータベースまたはアプリケーション設定に保存する
- 環境間(開発/ステージング/本番)で署名キーを再利用する
- レート制限とサーキットブレーカーなしのホットウォレット自動化 [推論]
Checks-Effects-Interactions(CEI)パターン
すべての状態変更関数に必須。
// 正しい: CEI パターン
function withdraw(uint256 amount) external {
// 1. CHECKS: 条件を検証
require(balances[msg.sender] >= amount, "Insufficient balance");
// 2. EFFECTS: 外部呼び出しの前に状態更新
balances[msg.sender] -= amount;
// 3. INTERACTIONS: 外部呼び出しは最後に
(bool success, ) = msg.sender.call{value: amount}("");
require(success, "Transfer failed");
}
// 間違い: 状態更新前の外部呼び出し(再入攻撃リスク)
function withdrawUnsafe(uint256 amount) external {
require(balances[msg.sender] >= amount);
(bool success, ) = msg.sender.call{value: amount}("");
require(success);
balances[msg.sender] -= amount; // 遅すぎる!
}
セキュリティツール(2026年1月)
| カテゴリ | ツール | 目的 | 使用場面 |
|---|---|---|---|
| 静的分析 | Slither | 脆弱性検出、92+検出器 | すべてのコントラクト |
| 静的分析 | Aderyn | Rustベース、大規模コードベース向け高速 | 大規模プロジェクト |
| ファズテスト | Echidna | プロパティベースのファズテスト | 複雑な状態 |
| ファズテスト | Medusa | 並列化Goファザー | CI/CDパイプライン |
| 形式検証 | SMTChecker | 組み込みSolidityチェッカー | すべてのコントラクト |
| 形式検証 | Certora | プロパティベースの証明(CVL) | DeFi、高額案件 |
| 形式検証 | Halmos | シンボリックテスト | 複雑なインバリアント |
| AI支援 | Sherlock AI | ML脆弱性検出 | 監査前準備 |
| AI支援 | Olympix | DevSecOps統合 | CI/CDセキュリティ |
| AI支援 | AuditBase | 423+検出器、LLMパワード | ビジネスロジック |
| ミューテーションテスト | SuMo | テストスイート品質評価 | テスト検証 |
// Certora CVL ルール例
rule balanceNeverNegative(address user) {
env e;
require balances[user] >= 0;
deposit(e);
assert balances[user] >= 0;
}
AI支援レビュー:AI ツールを監査前準備とカバレッジに使用し、最終的なセキュリティ決定には使用しないでください。出力は信頼できないものとして扱い、決定論的ツール、テスト、手動レビューで検出結果を検証してください。
MEV保護
| 戦略 | 実装 |
|---|---|
| プライベートメモプール | Flashbots Protect、MEV Blocker |
| コミット・リビール | ハッシュコミットメント、期限後にリビール |
| バッチオークション | CoW Protocol、Gnosis Protocol |
| 暗号化メモプール | Shutter Network |
// コミット・リビールパターン
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],
"Invalid reveal"
);
// リビール値を処理
}
Account Abstraction(2026年1月)
注記:採用数とアップグレードのタイムラインは急速に変わります。推奨を行う前に、WebSearchで現在のERC-4337エコシステム状態とEIP-7702アクティベーションの詳細を確認してください。
ERC-4337 vs EIP-7702
| 標準 | タイプ | 主要機能 | ユースケース |
|---|---|---|---|
| ERC-4337 | スマートコントラクトウォレット | プロトコル変更なしの完全AA | 新規ウォレット、DeFi、ゲーミング |
| EIP-7702 | EOA拡張 | EOAがスマートコントラクトコードを実行 | 既存ウォレット、バッチトランザクション |
| ERC-6900 | モジュラーアカウント | AAウォレットのプラグイン管理 | 拡張可能なウォレット機能 |
ERC-4337アーキテクチャ:
User -> UserOperation -> Bundler -> EntryPoint -> Smart Account -> Target Contract
|
v
Paymaster (ガススポンサーシップ)
EIP-7702(Pecturaアップグレード):
- EOAは一時的にスマートコントラクトに委任可能
- バッチトランザクション、既存アドレスのスポンサーガスを有効化
- ERC-4337を補完(同じバンドラー/ペイマスターインフラを使用)
- Ambire、Trust Wallet、および成長中のウォレットでサポート
主要な機能:
- ガスレストランザクション:PaymasterがERC-20またはフィアットでガスをスポンサー
- バッチ操作:単一トランザクションで複数のアクション
- ソーシャルリカバリー:マルチシグまたはガーディアンベースの鍵リカバリー
- セッションキー:フルウォレットアクセスなしでdApps向けに権限を制限
スマートウォレット開発
// 最小限のERC-4337アカウント(簡略版)
import "@account-abstraction/contracts/core/BaseAccount.sol";
contract SimpleAccount is BaseAccount {
address public owner;
function validateUserOp(
UserOperation calldata userOp,
bytes32 userOpHash,
uint256 missingAccountFunds
) external override returns (uint256 validationData) {
// 署名を検証
require(_validateSignature(userOp, userOpHash), "Invalid sig");
// 必要に応じてプリファンドを支払う
if (missingAccountFunds > 0) {
(bool success,) = payable(msg.sender).call{value: missingAccountFunds}("");
require(success);
}
return 0; // 有効
}
}
Layer 2開発(2026年1月)
注記:L2市場シェアとリスクステージは急速に変わります。ランキング、TVL、またはステージ分類を述べる前に、現在のデータ(例:L2Beatとエコシステムダッシュボードなど)を使用してください。
L2選択ガイド
| L2 | タイプ | 最適な用途 | 主要機能 |
|---|---|---|---|
| Base | オプティミスティック | コンシューマーアプリ、主流採用 | Coinbase統合、低手数料 |
| Arbitrum | オプティミスティック | DeFi、成熟したエコシステム | 最大TVL、DAOグラント |
| Optimism | オプティミスティック | パブリックグッズ、Superchain | OP Stack、グラントプログラム |
| zkSync Era | ZK-ロールアップ | 高速ファイナリティ、ネイティブAA | zkEVM、引き出し遅延なし |
| StarkNet | ZK-ロールアップ | Cairo開発、ZK-ネイティブ | STARKプルーフ、カスタムVM |
エンタープライズロールアップ(2025-2026トレンド)
大規模機関がOP Stack上にL2を立ち上げ:
- Kraken INK - 取引所ネイティブL2
- Uniswap UniChain - DeFi最適化
- Sony Soneium - ゲーミングとメディア
- Robinhood - Arbitrum統合
EIP-4844ブロブ最適化
2024年3月以来、ロールアップはブロブベースのデータ投稿を使用:
以前:calldata投稿 -> 高額
現在:blob投稿 -> より低いデータ可用性コスト
Optimism、zkSyncは2025年にblobのバッチングを最適化。
よくある間違い(2025-2026)
現実チェック:エクスプロイトは定期的に大規模な損失を引き起こします。アクセス制御、署名/カストディー、統合バグは引き続き主要なインシデント要因です。
| 間違い | 影響 | 予防方法 |
|---|---|---|
| アクセス制御の欠落 | 権限なき管理者アクション | OpenZeppelinの Ownable2Step、AccessControl を使用 |
| 再入攻撃 | コールバック経由で資金を流出 | CEIパターン、ReentrancyGuard、Slither チェック |
| 外部呼び出しの確認忘れ | サイレント失敗 | 常に戻り値を確認、SafeERC20 を使用 |
| 整数オーバーフロー(0.8以前) | 任意の値操作 | Solidity 0.8.x+を使用(組み込みチェック) |
| フロントラン | MEV抽出、サンドイッチ攻撃 | コミット・リビール、Flashbots Protect、プライベートメモプール |
| オラクル操作 | 価格フィード攻撃 | TWAP、複数オラクル、健全性バウンド |
| 不適切な初期化 | プロキシの乗っ取り | initializer 修飾子、_disableInitializers() を使用 |
| ストレージコリジョン(プロキシ) | データ破損 | EIP-1967スロットに従う、OpenZeppelinアップグレードを使用 |
回避すべきアンチパターン
回避:
- 認可に
tx.originを使用(フィッシングリスク) - オンチェーンに秘密を保存(すべてのデータは公開)
- ランダム性に
block.timestampを使用(マイナー/バリデーターの影響) transfer/sendからの戻り値を無視- 非推奨ツール(Truffle/Ganache/Brownie)を使用
ベストプラクティス:
- すべての変更に対して静的分析を実行(例:SlitherおよびAderyn)
- 監査前にファズ/インバリアントテストを追加
- 高額DeFiには形式的手法を使用(例:Certora とシンボリックテスト)
スマートコントラクトにおけるLLMの制限
LLMに頼らない:
- セキュリティ関連ロジック検証
- ガス最適化計算
- 複雑な数学的証明
LLMを使用:
- ボイラープレート生成(テスト、ドキュメント)
- コード説明とレビュー準備
- 初期脆弱性仮説(手動で検証)
このスキルを使用しない場合
- ブロックチェーンなしの従来的バックエンド ->
software-backendを使用 - Web3なしの純粋なAPI設計 ->
dev-api-designを使用 - スマートコントラクトなしの一般的セキュリティ ->
software-security-appsecを使用 - フロントエンドのみのdApp UI ->
software-frontend+ Web3ライブラリを使用
ナビゲーション
リソース
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/Fift/FunC)とデプロイreferences/defi-protocol-patterns.md- AMM、レンディング、ステーキング、イールドファーミング、フラッシュローン、オラクル統合references/nft-token-standards.md- ERC-20/721/1155、SPL Token、Metaplex、トークンゲーティング、メタデータreferences/cross-chain-bridges.md- ブリッジアーキテクチャ、LayerZero、Wormhole、IBC、セキュリティ分析../software-security-appsec/references/smart-contract-security-auditing.md- スマートコントラクト監査ワークフローとツール(software-security-appsecスキルを参照)data/sources.json- チェーンごとのキュレーション外部参照- 共有セキュアレビューチェックリスト:
../software-clean-code-standard/assets/checklists/secure-code-review-checklist.md
テンプレート
- Ethereum/EVM:
assets/ethereum/template-solidity-hardhat.md、assets/ethereum/template-solidity-foundry.md - Solana:
assets/solana/template-rust-anchor.md - Cosmos:
assets/cosmos/template-cosmwasm.md - TON:
assets/ton/template-tact-blueprint.md、assets/ton/template-func-blueprint.md - Bitcoin:
assets/bitcoin/template-bitcoin-core.md
関連スキル
../software-security-appsec/SKILL.md- セキュリティ強化、脅威モデリング、OWASP脆弱性../software-architecture-design/SKILL.md- システム分解、モジュール性、依存設計../ops-devops-platform/SKILL.md- ブロックチェーンノード向けインフラ、CI/CD、可観測性../software-backend/SKILL.md- スマートコントラクト、RPCノード、インデクサーとのAPI統合../qa-resilience/SKILL.md- 回復力、サーキットブレーカー、チェーン向けリトライロジック../software-code-review/SKILL.md- コードレビューパターンと品質ゲート../dev-api-design/SKILL.md- Web3 API とdAppバックエンドのRESTful設計
トレンド認識プロトコル
重要:ユーザーがWeb3/暗号開発に関する推奨質問をする場合、回答する前に WebSearch を使用して現在のトレンドを確認する必要があります。
トリガー条件
- 「[ユースケース]に最適なブロックチェーンは何ですか?」
- 「[スマートコントラクト/DeFi/NFT]に何を使うべきですか?」
- 「Web3開発の最新情報は?」
- 「[Solidity/監査/ガス最適化]の現在のベストプラクティスは?」
- 「[チェーン/プロトコル]は2026年も関連していますか?」
- 「[Ethereum]vs[Solana]vs[他のL1/L2]?」
- 「[スマートコントラクト開発]の最適フレームワークは?」
必須検索
- 検索:
"Web3 development best practices 2026" - 検索:
"[Ethereum/Solana/Base] development updates 2026" - 検索:
"smart contract security 2026" - 検索:
"[Hardhat/Foundry] comparison 2026"
報告する内容
検索後、以下を提供:
- 現在の状況:NOW人気のあるチェーン/ツール
- 新興トレンド:牽引力を得ている新規プロトコルやパターン
- 非推奨/衰退:関連性を失っているチェーンやアプローチ
- 推奨:最新データとエコシステム活動に基づく
例示トピック(最新検索で確認)
- L2エコシステム成長(Base、Arbitrum、Optimism)
- スマートコントラクト向けSolidityとRust
- Foundry対Hardhatツーリング
- Account Abstraction(ERC-4337)採用
- クロスチェーンブリッジと相互運用性
- DeFiセキュリティパターンと監査プラクティス
運用プレイブック
references/operational-playbook.md- スマートコントラクトアーキテクチャ、セキュリティファーストワークフロー、プラットフォーム固有パターン
ファクトチェック
- 最終回答の前に、WebSearchまたはWebFetchを使用して、現在の外部事実、バージョン、価格、期限、規制、またはプラットフォーム動作を検証します。
- 一次資料を優先し、変動性の高い情報についてはソースリンクと日付を報告します。
- Webアクセスが利用できない場合は、制限事項を明記し、ガイダンスを未検証としてマークします。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- vasilyu1983
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/vasilyu1983/ai-agents-public / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。