메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
감사는 특정 유형의 버그(알려진 공격 패턴, 접근 제어 실수, 정수 오버플로우)는 발견하지만 다른 버그(경제 설계 결함, 게임 이론적 조작, 다른 프로그램과의 통합 버그)는 놓칩니다. Raydium의 프로그램은 여러 라운드의 감사를 거쳤으며, 이 페이지에서는 이들을 나열하고 각 감사가 실제로 무엇을 검증했는지 설명합니다.

프로그램별 감사 테이블

프로그램감사 기관날짜보고서
Order-book AMMKudelski Security2021년 2분기보기
Concentrated liquidity (CLMM)OtterSec2022년 3분기보기
Updated order-book AMMOtterSec2022년 3분기보기
StakingOtterSec2022년 3분기보기
Order-book AMM & OpenBook migrationMadShield2023년 2분기보기
Constant-product AMM (CPMM)MadShield2024년 1분기보기
Burn & Earn (liquidity locker)Halborn2024년 4분기보기
LaunchLabHalborn2025년 2분기보기
CPMM (update)Sec32025년 3분기보기
CLMM update — Limit Order, Dynamic Fee, Single Asset FeeSec32026년 2분기보기
Neodyme 팀의 구성원들은 버그 바운티 계약을 통해 광범위한 검토를 수행했습니다. Raydium 프로그램의 모든 감사 보고서는 github.com/raydium-io/raydium-docs/audit/에 미러되어 있습니다. 각 감사 기관도 자신의 사이트에 발행합니다.

감사가 다루는 범위

일반적인 Raydium 감사(약 3~6주, 2명의 감사인)는 다음을 포함합니다:
  • 접근 제어 — 모든 권한 있는 작업이 올바르게 제어되는가?
  • 산술 연산 — 오버플로우, 언더플로우, 반올림 방향, 고정 소수점 정밀도.
  • 계정 검증 — 모든 계정이 올바른 소유자, 민트, 권한을 가지는가?
  • 재진입(Reentrancy) 유사 패턴 — 상태가 CPI 전후에 업데이트되는가?
  • PDA 유도 — 모든 위치에서 시드가 일관되는가?
  • 오류 코드 및 메시지 — 오류 조건이 깔끔하게 되돌려지는가?
  • 코드 품질 — 관례적 Rust, 미사용 코드, 도달 불가능한 분기.

감사가 다루지 않는 범위

  • 경제 게임 이론 — 예: “무료로 1000개의 풀을 만들 수 있다면, 라우터를 그리핑할 수 있는가?”
  • MEV / 순서 지정 — 샌드위치 공격, 검증자 담합을 통한 선행.
  • 오프체인 인프라 — RPC 신뢰성, 인덱서 정확도, 프론트엔드.
  • 다른 프로그램과의 통합 — 특정 대출, 옵션 또는 애그리게이터 계약과 구성할 때만 나타나는 버그.
  • 시간 경과에 따른 창발적 행동 — 1000만 포지션 이후에는 어떻게 되는가? 감사는 소규모 테스트 사례를 살펴봅니다.
따라서 감사 ≠ 안전성 보장입니다. Raydium은 감사를 버그 바운티, 모니터링 및 방어적 엔지니어링으로 보완합니다.

발견 사항 해결 상태

모든 감사는 발견 사항 목록(심각/높음/중간/낮음/정보)을 생성하며, 심각도 수와 발견 사항별 상태(수정됨/승인됨/수정하지 않음)가 포함됩니다. 발견 사항별 상세 사항은 여기에서 복제되지 않습니다 — 위의 표를 통해 각 보고서를 직접 읽으세요.

중대한 변경 후 재감사

프로그램이 중대한 업그레이드(새 명령, 새 계정 필드, 새 확장 지원)를 출시할 때, Raydium은 재감사를 의뢰합니다. 위의 표에 나열된 Sec3 2025년 3분기 CPMM 검토 및 Sec3 2026년 2분기 CLMM 검토(Limit Order, Dynamic Fee, Single Asset Fee)는 모두 이러한 종류의 재감사입니다. 재감사 범위는 더 좁지만(diff만), 실제 재감사입니다 — 단순한 코드 검토가 아닙니다. 재감사 보고서는 기본 감사 보고서에 추가됩니다.

온체인 검증

배포된 프로그램 해시는 감사된 코드 해시와 일치해야 합니다. 누구나 검증할 수 있습니다:
# 배포된 프로그램 바이트코드를 가져옵니다.
solana program dump <PROGRAM_ID> program.so

# 감사된 커밋에서 저장소를 빌드합니다.
git clone https://github.com/raydium-io/raydium-cp-swap
cd raydium-cp-swap
git checkout <audited_commit_hash>
anchor build --verifiable

# 비교합니다.
sha256sum program.so target/deploy/raydium_cp_swap.so
Anchor 검증 가능 빌드는 결정론적 바이트코드를 생성하므로 해시가 정확히 일치해야 합니다. 일치하지 않으면 배포된 프로그램이 감사된 프로그램이 아닙니다 — 에스컬레이션하세요. Raydium은 배포 시 예상 해시를 저장소 릴리스 섹션에 발행합니다.

감사 보고서 읽는 방법

비감사인을 위한 짧은 가이드:
  1. 발견 사항 요약으로 건너뜁니다 — 심각도 수 표. “Critical” 수가 0보다 크고 “Open” 상태를 보면 자세히 살펴봅니다.
  2. 각 발견 사항의 설명과 상태를 읽습니다. “커밋 XYZ에서 수정됨”은 해결됨을 의미하고, “승인됨”은 팀이 위험을 수용했음을 의미하며, “부분 수정”은 자세히 살펴볼 가치가 있습니다.
  3. 범위 섹션을 스캔합니다. 감사가 관심 있는 명령이나 계정을 다루지 않았다면, 거기에서 발견 사항이 없다고 해서 안전하다는 증거는 아닙니다.
  4. 감사인의 권장 사항 섹션을 훑어봅니다. 종종 발견 사항보다 더 유용합니다 — “이것을 공식적으로 증명할 수 없지만 불안하다”는 주의를 노출합니다.

버그 바운티 통합

감사는 배포 전에 실행되고, 버그 바운티는 배포 후 계속 실행됩니다. Raydium의 바운티 프로그램(security/disclosure)은 감사가 하는 모든 것을 포함하고:
  • 감사가 다루지 않는 경제적 공격.
  • 새로운 통합에서 발견된 버그.
  • SDK 및 오프체인 구성 요소의 구현 버그.
화이트햇 발견 사항은 일반적으로 다음 감사 사이클을 기다리는 것보다 바운티 프로그램에서 더 빠르게 지급됩니다. 인센티브는 빠른 공개에 정렬되어 있습니다. 활성 프로그램은 Immunefi에서 호스팅됩니다: immunefi.com/bug-bounty/raydium/information.

과거 사건

Raydium의 프로그램은 두 가지 주목할 만한 실제 사건을 겪었습니다:

풀 권한 exploit (2022년 12월)

내용: AMM v4 풀 권한 개인 키가 손상되어 공격자가 여러 풀을 드레인할 수 있었습니다. 범위: 운영 키 관리, 프로그램 버그 아님. 감사는 코드가 올바르기 때문에 코드를 표시하지 않았습니다. 키 관리 프로세스가 실패였습니다. 수정: Multisig 마이그레이션(모든 권한 역할을 Squads multisig로 이동); 추가 운영 제어. 교훈: 감사는 키 관리를 다루지 않습니다. security/admin-and-multisig를 참조하세요.

OpenBook 통합 동결 (2023년 1월)

내용: OpenBook 프로그램 업데이트가 계정 의미를 변경했습니다. AMM v4의 MonitorStep 크랭크는 AMM v4 패치가 출시될 때까지 PnL을 정산할 수 없었습니다. 범위: 통합 버그 — 어느 프로그램도 단독으로는 잘못되지 않았습니다. 수정: AMM v4 패치 및 조정된 배포. 교훈: 프로그램 A의 감사는 프로그램 A의 프로그램 B와의 통합의 버그를 발견하지 못합니다. 올바른 도구는 통합 테스트 + 단계별 롤아웃입니다.

포인터

소스: