Agent Skills by ALSEL
Anthropic Claudeセキュリティ⭐ リポ 0品質スコア 50/100

defi-amm-security

DeFiのAMM(自動マーケットメーカー)コントラクト・流動性プール・スワップフローに特化したSolidityセキュリティ診断スキル。リエントランシー攻撃、CEIパターンの順序違反、寄付/インフレーション攻撃、オラクル操作、スリッページ、管理者権限の過剰集中、整数演算の脆弱性など、AMM固有のリスクを網羅的にチェックする。

description の原文を見る

Solidity AMM 合约、流动性池和交换流程的安全检查清单。涵盖重入、CEI 排序、捐赠或通胀攻击、预言机操纵、滑点、管理员控制和整数数学。

SKILL.md 本文

DeFi AMM セキュリティ

Solidity AMM 合約、LP ボルト、スワップ関数における重要な脆弱性パターンと強化された実装。

適用シーン

  • Solidity AMM または流動性プール合約の記述または監査
  • トークン残高を保持するスワップ、デポジット、ウィザドロー、ミント、またはバーン処理の実装
  • シェアまたはリザーブ計算で token.balanceOf(address(this)) を使用する合約のレビュー
  • DeFi プロトコルへの手数料セッター、ポーザー、オラクル更新またはその他の管理機能の追加

仕組み

これをチェックリストとパターンライブラリとして使用してください。各ユーザーエントリーポイントについて以下のカテゴリーに照らし合わせてレビューし、自分で書いたバリエーションではなく強化された例を優先します。

実行セキュリティ

このスキルのシェルコマンドはローカル監査の例です。信頼されたコードチェックアウトまたは一度限りのサンドボックスでのみ実行し、信頼されていない合約名、パス、RPC URL、秘密鍵、またはユーザー提供フラグをシェルコマンドに連結しないでください。ツールをインストールしたり、大量のローカルまたはペイド リソースを消費する可能性のある長時間のファジング/静的分析タスクを実行したりする前に、まず確認してください。

コマンド例、ログ、またはレポートに機密情報、秘密鍵、ニーモニック、API トークン、またはメインネット署名認証情報を含めないでください。

再入攻撃:CEI 順序の強制遵守

脆弱性:

function withdraw(uint256 amount) external {
    require(balances[msg.sender] >= amount);
    token.transfer(msg.sender, amount);
    balances[msg.sender] -= amount;
}

安全:

import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

using SafeERC20 for IERC20;

function withdraw(uint256 amount) external nonReentrant {
    require(balances[msg.sender] >= amount, "Insufficient");
    balances[msg.sender] -= amount;
    token.safeTransfer(msg.sender, amount);
}

検証済みライブラリが存在する場合は、自分で防御を記述しないでください。

寄付またはインフレーション攻撃

シェア計算に直接 token.balanceOf(address(this)) を使用すると、攻撃者が意図したパスをバイパスしてトークンをコントラクトに送信することで分母を操作できます。

// 脆弱性
function deposit(uint256 assets) external returns (uint256 shares) {
    shares = (assets * totalShares) / token.balanceOf(address(this));
}
// 安全
uint256 private _totalAssets;

function deposit(uint256 assets) external nonReentrant returns (uint256 shares) {
    uint256 balBefore = token.balanceOf(address(this));
    token.safeTransferFrom(msg.sender, address(this), assets);
    uint256 received = token.balanceOf(address(this)) - balBefore;

    shares = totalShares == 0 ? received : (received * totalShares) / _totalAssets;
    _totalAssets += received;
    totalShares += shares;
}

内部会計を追跡し、実際に受け取ったトークンを測定します。

オラクル操作

スポット価格はフラッシュローンで操作できます。TWAP を優先してください。

uint32[] memory secondsAgos = new uint32[](2);
secondsAgos[0] = 1800;
secondsAgos[1] = 0;
(int56[] memory tickCumulatives,) = IUniswapV3Pool(pool).observe(secondsAgos);
int24 twapTick = int24(
    (tickCumulatives[1] - tickCumulatives[0]) / int56(uint56(30 minutes))
);
uint160 sqrtPriceX96 = TickMath.getSqrtRatioAtTick(twapTick);

スリッページ保護

各スワップパスで呼び出し元が提供するスリッページとデッドラインが必要です。

function swap(
    uint256 amountIn,
    uint256 amountOutMin,
    uint256 deadline
) external returns (uint256 amountOut) {
    require(block.timestamp <= deadline, "Expired");
    amountOut = _calculateOut(amountIn);
    require(amountOut >= amountOutMin, "Slippage exceeded");
    _executeSwap(amountIn, amountOut);
}

安全なリザーブ計算

import {FullMath} from "@uniswap/v3-core/contracts/libraries/FullMath.sol";

uint256 result = FullMath.mulDiv(a, b, c);

大きなリザーブ計算では、オーバーフロー のリスクがある場合、単純な a * b / c を避けてください。

管理制御

import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";

contract MyAMM is Ownable2Step {
    function setFee(uint256 fee) external onlyOwner { ... }
    function pause() external onlyOwner { ... }
}

所有権の譲渡は明示的な受け入れを優先し、各特権パスをゲートします。

セキュリティチェックリスト

  • 再入攻撃にさらされているエントリーポイントは nonReentrant を使用
  • CEI 順序に従う
  • シェア計算が生の balanceOf(address(this)) に依存していない
  • ERC-20 転送は SafeERC20 を使用
  • デポジットが実際に受け取ったトークンを測定する
  • オラクル読み取りが TWAP または他の操作耐性ソースを使用
  • スワップが amountOutMindeadline を必要とする
  • オーバーフローに敏感なリザーブ計算が mulDiv などの安全なプリミティブを使用
  • 管理機能がアクセス制御で保護されている
  • 緊急停止機能が存在し、テストされている
  • 本番前に静的分析とファジングを実行

監査ツール

pip install slither-analyzer
slither . --exclude-dependencies

echidna-test . --contract YourAMM --config echidna.yaml

forge test --fuzz-runs 10000

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
affaan-m
リポジトリ
affaan-m/everything-claude-code
ライセンス
MIT
最終更新
不明

Source: https://github.com/affaan-m/everything-claude-code / ライセンス: MIT

関連スキル

Anthropic Claudeセキュリティ⭐ リポ 8,981

secure-code-guardian

認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。

by Jeffallan
汎用セキュリティ⭐ リポ 1,982

claude-authenticity

APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。

by LeoYeAI
Anthropic Claudeセキュリティ⭐ リポ 2,159

anth-security-basics

Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。

by jeremylongshore
汎用セキュリティ⭐ リポ 699

x-ray

x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。

by pashov
汎用セキュリティ⭐ リポ 677

semgrep

Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。

by wimpysworld
汎用セキュリティ⭐ リポ 591

ghost-bits-cast-attack

Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。

by yaklang
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: affaan-m · affaan-m/everything-claude-code · ライセンス: MIT