﻿---
title: "샌드위치 공격"
description: "검색자가 대기 중인 스왑 앞뒤에 거래를 배치해 사용자의 체결 조건을 악화시키고 거래 순서에서 가치를 추출하는 방식."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 샌드위치 공격

> 교육 목적으로만 제공되며 보안 또는 투자 조언이 아닙니다. 슬리피지 통제와 비공개 라우팅은 샌드위치 노출을 줄일 수 있지만 체결 품질, 블록 포함, 최종성 또는 손실 회수를 보장하지 않습니다.

<a id="answer"></a>

## 직접 답변

샌드위치 공격은 공격자가 사용자 스왑 직전에 거래 하나를, 직후에 다른 거래 하나를 배치하는 유해한 최대 추출 가능 가치 방식입니다. 첫 거래가 풀 가격을 사용자에게 불리하게 움직이고, 사용자는 더 나쁜 환율로 체결하며, 마지막 거래는 사용자 주문이 일부 만들어 낸 가격에서 공격자의 포지션을 정리합니다.

공격에는 사용자 의도를 미리 보거나 순서를 우선 결정할 수 있는 권한, 충분한 가격 영향, 그리고 스왑이 여전히 성공하도록 허용하는 실행 한도가 필요합니다. 자동화 마켓 메이커 스왑에서 주로 논의되지만, 더 넓게는 순서를 통해 다른 당사자가 가치를 추출할 수 있는 예측 가능한 상태 변화가 모두 위험 대상입니다.

<a id="mechanism"></a>

## 작동 방식

사용자가 스왑에 서명해 전파합니다. 블록 포함 전에 세부 정보가 공개 트랜잭션 풀이나 관찰 가능한 주문 흐름에 도달하면 검색자는 자산, 규모, 경로, 최소 출력량, 기한을 해독하고 가능한 거래 순서를 시뮬레이션할 수 있습니다.

AMM 풀에서 매수할 때 검색자가 먼저 매수합니다. 이 프런트런은 준비금을 바꾸고 사용자의 체결 가격을 높입니다. 결과가 사용자의 최소 출력 조건 안에 있으면 사용자는 거래 전 견적보다 적은 출력 토큰을 받습니다. 검색자는 사용자 뒤에서 백런으로 매도해 가격 변동 일부를 포착합니다.

총수익은 이익과 같지 않습니다. 공격자는 두 번의 스왑 수수료, Gas 또는 빌더 지급액, 실패한 시도와 재고 위험을 부담합니다. 경쟁, 다른 거래, 사용자 스왑의 되돌림, 블록 순서 변경은 전체 거래를 손실로 만들 수 있으며 샌드위치는 자동으로 원자적이거나 보장되는 방식이 아닙니다.

슬리피지 보호는 허용 가능한 최악의 출력을 제한할 뿐 순서 지정을 막지 않습니다. 허용 범위가 너무 넓으면 불리한 체결 여지가 커지고, 너무 좁으면 변동성 속에서 정상 스왑도 되돌아갈 수 있습니다. 앱과 통합 계약은 영이나 오래된 하드코딩 값 대신 현재 견적에 근거해 사용자가 승인한 최소 출력과 적절한 기한을 강제해야 합니다.

비공개 제출, 보호된 주문 흐름, 일괄 경매, 인텐트 기반 실행, 주문 분할은 일부 시스템에서 노출을 줄일 수 있습니다. 보호 효과는 주문을 보는 중개자, 빌더 범위, 폴백 동작, 유동성, 수수료와 구현에 달려 있으며 “비공개” 또는 “MEV 보호” 표시는 보편적 보장이 아닙니다.

<a id="example"></a>

## 예시

사용자가 AMM 풀에서 토큰 A로 토큰 B를 사는 공개 스왑을 제출합니다. 검색자는 주문이 풀 가격을 움직일 만큼 크고, 사용자의 최소 출력이 불리한 가격 이동 뒤에도 거래가 실행될 여지를 준다는 점을 시뮬레이션합니다.

검색자가 토큰 B를 먼저 사고, 사용자가 악화된 환율로 토큰 B를 산 뒤, 검색자가 즉시 토큰 B를 팝니다. 사용자는 서명한 최소량 이상은 받지만 이전 견적보다 적게 받고, 검색자는 스왑 수수료, 순서 지급액, 실행 비용을 제한 나머지만 보유합니다.

<a id="risks"></a>

## 위험

사용자에게 직접 발생하는 피해는 더 나쁜 체결과 더 높은 실질 슬리피지입니다. 실패한 실행에도 비용을 부과하는 체인과 거래 설계에서는 스왑이 되돌아간 뒤에도 Gas를 소비할 수 있습니다. 얕은 유동성, 공개된 대규모 주문, 느슨한 한도, 변동성, 예측 가능한 경로는 노출을 늘리지만 공격 발생을 입증하는 단일 기준은 없습니다.

완화책에도 상충 관계가 있습니다. 주문 분할은 총수수료를 늘리거나 반복 전략을 노출할 수 있고, 엄격한 한도는 되돌림을 늘립니다. 비공개 경로에는 신뢰, 검열, 로그와 폴백 문제가 있으며 보호 인터페이스는 특정 체인이나 경로만 지원할 수 있습니다. 보호 배지에 의존하지 말고 서명한 최소 출력, 기한, 경로, 엔드포인트 정책, 영수증과 필요한 최종성을 확인해야 합니다.

<a id="misconceptions"></a>

## 흔한 오해

- **불리한 가격 변동은 모두 샌드위치 공격이다.** 일반적인 가격 영향, 시장 움직임, 경로 변경과 차익거래도 견적과 다른 체결을 만들 수 있으므로 샌드위치로 판단하려면 거래 순서 증거가 필요합니다.
- **공격자는 지갑에서 토큰을 그대로 훔친다.** 일반적인 샌드위치는 승인된 스왑 전후의 풀 상태를 바꾸며, 공격자 거래가 사용자 지갑에서 자산을 직접 전송할 필요는 없습니다.
- **슬리피지 허용치를 아무 값으로든 설정하면 공격을 막는다.** 최소 출력은 허용되는 악화를 제한하지만 검색자는 경계 가까이에서 스왑이 성공하도록 공격을 최적화할 수 있습니다.
- **비공개 제출은 MEV를 제거한다.** 공개 풀에서는 숨겨도 RPC 운영자, 릴레이, 빌더, 솔버 또는 공개 폴백이 주문을 관찰하거나 영향을 줄 수 있습니다.
- **성공 영수증은 공정한 체결을 증명한다.** 성공은 계약 조건을 통과했다는 뜻일 뿐 최선의 가격을 받았거나 유해한 순서를 피했다는 증거는 아닙니다.

<a id="related"></a>

## 관련 주제

- [자동화 마켓 메이커](/ko/crypto/amm/)
- [프런트러닝](/ko/crypto/front-running/)
- [최대 추출 가능 가치](/ko/crypto/mev/)
- [비공개 트랜잭션 RPC](/ko/crypto/private-transaction-rpc/)
- [탈중앙화 거래소](/ko/crypto/dex/)

<a id="sources"></a>

## 출처

- [Maximal extractable value (MEV)](https://ethereum.org/developers/docs/mev/) - Ethereum.org (accessed: 2026-08-21)
- [What is a sandwich attack?](https://support.uniswap.org/hc/en-us/articles/19387081481741-What-is-a-sandwich-attack) - Uniswap Labs (accessed: 2026-08-21)
- [SCWE-090: Missing Slippage Protection in Automated Token Swaps](https://scs.owasp.org/SCWE/SCSVS-CODE/SCWE-090/) - OWASP Smart Contract Security (accessed: 2026-08-21)

Source: https://wiki.fcontext.com/ko/crypto/sandwich-attack/index.mdx
