Community연구 & 데이터 분석github.com

daronthedragon/wallet-forensics-skill

블록체인 주소를 분석하여 실제 보유 자산, 손실, 그리고 위험 요소를 보고하는 포렌식 스킬입니다.

wallet-forensics-skill란 무엇인가요?

이 스킬은 Ethereum, Base, Arbitrum, Optimism, Polygon, Solana와 같은 주요 블록체인에서 지갑 주소를 분석합니다. 일반적인 포트폴리오 트래커가 단순히 잔액에 현재가를 곱하는 것과 달리, 이 스킬은 실제 출구 유동성을 경로 쿼리하여 '명목 가치'와 '실제 현금화 가능 가치' 사이의 차이를 드러냅니다. 또한 PnL, 수수료, MEV 샌드위치 공격, 승인 위험도를 평가하고, 경고를 통해 데이터의 신뢰도를 명확히 표시합니다. CLI 도구로 제공되며 Node 20+만 있으면 의존성 없이 바로 실행할 수 있으며, ETHERSCAN_API_KEY 등을 설정하면 더 나은 결과를 얻을 수 있습니다. 결과는 JSON으로 출력되며, 사용자에게 가장 중요한 정보(회계적 후회, 유동성 갭)를 우선적으로 전달하도록 설계되었습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add daronthedragon/wallet-forensics-skill

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

지갑 포렌식

블록체인 주소를 분석하여 실제 보유 자산, 손실, 그리고 여전히 위험에 노출된 부분을 보고합니다.

사용 시기

다음과 같은 요청에서 실행하세요:

  • "이 지갑 분석해줘: 0x…" / "이 주소에 뭐가 있어?"
  • "가스비로 얼마나 썼지?"
  • "내가 샌드위치 공격을 당했나?" / "MEV로 얼마나 손해봤어?" (EVM 체인)
  • "내 승인 중에 위험한 게 있나?" / "뭘 철회해야 하지?"
  • "이 토큰을 실제로 팔 수 있어?" / "이 포지션 청산 가능해?"
  • "이 지갑의 PnL은 얼마야?"
  • 아무 질문과 함께 붙여넣은 주소

핵심 인사이트

모든 포트폴리오 트래커는 잔액 × 현재가를 계산하여 순자산이라고 부릅니다. 하지만 상위 수백 개 토큰을 제외하면 이 숫자는 허구입니다. 현재가는 마지막 거래 가격에서 비롯되는데, 그 거래가 3,000달러 풀에서 40달러에 이루어졌을 수도 있습니다. 그 풀에 "$50,000" 포지션을 매도한다고 50,000달러가 생기지 않습니다.

이 스킬은 실제 매도 시 경로 견적을 내고 그 차이를 보고합니다. 그 차이가 보통 보고서에서 가장 중요한 정보입니다. 이걸 먼저 제시하세요.

실행 방법

node scripts/forensics.mjs <address> [options]

Node 20+ 필요. 의존성 없음, 설치 단계 없음.

옵션효과
--chain <list>쉼표로 구분: ethereum,base,arbitrum,optimism,polygon,solana. 0x… 주소는 ethereum, base58 주소는 solana 기본값
--all-evm지원되는 모든 EVM 체인 분석
--textJSON 대신 사람이 읽을 수 있는 요약
--max <n>가져올 트랜잭션 수 제한 (기본 2000)
--no-mev샌드위치 탐지 건너뛰기 – 훨씬 빠름
--no-liquidity출구 유동성 경로 견적 건너뛰기

기본적으로 출력은 JSON (stdout). 이를 읽고 자연어로 설명하세요. 원시 JSON을 사용자에게 그대로 덤프하지 마세요.

환경 변수

모든 항목에는 공개 기본값이 있습니다. 두 가지 선택적 변수가 결과를 의미 있게 개선합니다:

  • ETHERSCAN_API_KEY — 선택 사항. 없으면 EVM 기록은 Blockscout에서 가져오며, 키가 필요 없고 대부분의 체인에서 전체 기록을 반환합니다. 있으면 Etherscan에서 기록을 가져오며, 더 완전하고 신뢰할 수 있습니다. 하나의 키가 모든 EVM 체인을 처리하며(V2 API 통합), 무료 티어로 충분합니다. Base의 Blockscout 인스턴스는 현재 불안정하므로 키가 가장 중요한 곳입니다.
  • SOLANA_RPC_URL — 공개 엔드포인트는 요금 제한이 심하고 활성 지갑에서는 느리거나 실패할 수 있습니다. Helius/Triton/QuickNode URL로 해결됩니다.
  • COINGECKO_API_KEY — 선택 사항, 가격 요청 속도 제한을 높입니다.

경고는 중요합니다. 실행이 부분적으로 성공할 수 있습니다 — --max로 기록이 잘렸거나, 토큰 잔액이 속도 제한으로 손실되었거나, 무한 로그 쿼리를 거부하는 RPC로 인해 승인 스캔이 저하되었을 수 있습니다. 각각은 warnings에 보고되며, 각 경고는 주요 숫자를 총합이 아닌 하한선으로 만듭니다. 어떤 수치를 완전하다고 제시하기 전에 먼저 읽으세요.

출력 해석

JSON은 다음과 같은 구조입니다:

{
  "chains": [{ "chain", "activity", "fees", "positions", "approvals", "mev", "liquidity", "regrets", "warnings" }],
  "totals": { "realizedPnlUsd", "unrealizedPnlUsd", "feesUsd", "mevExtractedUsd",
              "portfolioNominalUsd", "portfolioRealizableUsd" },
  "topRegrets": [{ "kind", "title", "detail", "costUsd" }]
}

topRegrets로 시작하세요. 이미 모든 범주에 걸쳐 달러 손실 기준으로 정렬되어 있으며, 사용자가 실제로 알고 싶어하는 내용입니다.

핵심 숫자는 portfolioNominalUsd와 portfolioRealizableUsd입니다. 둘의 차이가 몇 퍼센트 이상 벌어지면 그 차이가 핵심입니다: "트래커에는 $84,000라고 나오는데, 실제로는 약 $31,000만 현금화할 수 있습니다."

먼저 warnings를 확인하세요. 어떤 숫자가 신뢰할 수 있는지 알려줍니다. "기록 잘림"은 지갑 사용 기간과 평생 수수료가 하한선임을 의미합니다. "토큰 잔액 사용 불가"는 포트폴리오 총액이 하한선임을 의미합니다. "승인 스캔 저하"는 빈 승인 목록이 아무것도 증명하지 않음을 의미합니다.

승인은 critical / high / medium / low로 현재 바로 빼앗길 수 있는 금액(허용 한도와 현재 잔액 중 작은 값)을 기준으로 순위가 매겨집니다. 빈 지갑에 대한 무제한 승인은 긴급하지 않지만, 같은 승인이 메인 자산에 있다면 긴급합니다.

MEV 이벤트에는 high / medium / low의 confidence 필드가 있습니다. 이를 보고하세요. 신뢰도가 low인 샌드위치는 추측일 뿐 사실이 아닙니다.

샌드위치 탐지는 EVM 전용이며 전체 블록을 읽습니다. 공개 RPC는 종종 이를 거부합니다. warnings에 블록을 읽을 수 없다고 나오면 빈 MEV 목록은 확인되지 않음을 의미하지 샌드위치 당하지 않음을 의미하지 않습니다. 후자로 보고하지 마세요.

책임 있는 해석

  • 비용 기준은 추정치이며 공식적이지 않습니다. 가치는 각 거래의 스테이블코인 또는 네이티브 자산 레그에서 파생됩니다. 둘 다 없는 거래는 warnings에 포함되며 PnL에서 제외됩니다. 이 숫자를 세금 준비 완료로 제시하지 마세요.
  • 출구 유동성은 특정 시점의 견적입니다. 시장에 따라 변동하며 CEX 유동성을 완전히 무시합니다. 토큰이 온체인에서는 유동성이 낮아 보여도 바이낸스에서는 완벽하게 매도 가능할 수 있습니다.
  • 증거가 없다고 부재를 증명하지는 않습니다. 승인 스캔이 저하된 경우(공개 RPC가 무제한 로그 쿼리를 거부), 보고서는 warnings에 이를 명시합니다. 스캔이 부분적이었는데 사용자에게 승인이 깨끗하다고 말하지 마세요.
  • 재정적 조언을 하지 마세요. 데이터가 보여주는 것을 보고하세요. "이 포지션은 출구 시 가격 영향 85%"는 사실입니다. "이걸 팔아야 합니다"는 당신이 할 말이 아닙니다.
  • 승인 철회는 사용자의 행동입니다. 어떤 승인이 위험한지 설명하고 revoke.cash 또는 관련 탐색기 링크를 제공할 수 있습니다. 절대 트랜잭션을 구성하거나 전송하지 마세요.

개인정보 보호

주소는 가명이지만 익명은 아닙니다. 사용자가 제공한 주소만 분석하세요. 같은 사람의 다른 주소를 찾거나 주소를 신원 정보 소스와 교차 참조하지 마세요.

더 자세한 내용

구체적인 질문이 있을 때만 다음을 로드하세요:

  • references/methodology.md — 비용 기준 추론, 샌드위치 탐지, 출구 유동성 시뮬레이션이 실제로 어떻게 작동하는지, 각각이 어디서 한계를 드러내는지
  • references/interpreting-results.md — 보고서를 유용한 설명으로 전환하는 실제 예제와 피해야 할 일반적인 오독 사례

관련 스킬