a16z: 새로운 NFT 속임수 "Sleep Minting"의 원리 분석 및 방지
원본 출처: Old Yuppie
원본 출처: Old Yuppie"Sleep Minting"NFT 수집가는 체인의 계약 출처에 관심을 가져야 합니다 NFT의 가장 확실한 출처는 작성자의 지갑 또는 작성자가 소유한 스마트 계약에서 직접 발행됩니다. 그러나 약간의 트릭을 사용하면 다음과 같은 방법을 사용할 수 있습니다.
NFT 생성자의 소스를 조작하는 기술.
Sleep Minting은 사기꾼이 유명 크리에이터의 지갑에 직접 NFT를 발행하고 크리에이터의 지갑에서 NFT를 복구하는 곳입니다.
이것은 다음과 같은 환상을 만듭니다.
(2) NFT가 사기꾼에게 전송되었습니다.
기반으로"기반으로"체인
출처를 통해 사기꾼은 유명한 제작자가 만든 NFT를 소유하고 있다고 주장하고 더 높은 가치에 판매할 수 있습니다.
이것은 기술적으로 어떻게 작동합니까?
나의 a16z Crypto 동료인 Daren Matsuoka는 트위터에 이벤트 로그와 작동 방식에 대한 훌륭한 기사를 썼습니다. 전송 이벤트 로그는 NFT 전송에 대한 세부 정보(NFT 전송 대상, NFT 전송 대상 및 전송된 TOKEN ID)를 포함하는 스마트 계약이 외부 세계로 전송하는 메시지입니다. 전송 이벤트 로그는 NFT의 출처를 확인하는 효율적인 방법을 제공합니다.
보조 제목
슬립 민트 사기"from "일반적인 합의는 NFT를 전송하기 위해 트랜잭션을 보내는 경우 다음과 같이 이벤트에 주소가 포함되어야 한다는 것입니다."from "필드. 그러나 사기꾼이 유명 제작자로부터 잠자고 있는 NFT를 회수하는 경우에는 그렇지 않습니다. 사기꾼은 유명 제작자의 주소를 인위적으로 추가할 수 있습니다.
Sleep minting
필드."First 5000 Days "이것은 beeple의 수백만 달러 창출입니다."레어블에서 판매합니다. 스크린샷을 보면 분명히
하지만 사기입니다. NFT의 Banksy라고 주장하는 창작자 Monsieur Personne은 수면 주조라는 기술을 사용하여 의도적으로 딱정벌레의 이름으로 조각을 주조했습니다. 그래서 그는 어떻게 했습니까?
기본 지식
기본 지식"Bob "NFT는 ERC-721 스마트 계약을 사용하여 생성되며 NFT의 소유권 기록을 목록으로 보유합니다. 작품의 주소와 일련번호는 쌍을 이룹니다. 이렇게 (나는 넣어"Booble")。
Alice: 1
Booble: 2
Malory: 3
~로 교체하다
거래 후 Alice는 다음과 같은 방법으로 자신의 NFT를 Booble로 전송할 수 있습니다.
전송 1: 앨리스 ==> 부블
Alice:
Booble: 2, 1
Malory: 3
이제 목록이 다음과 같이 업데이트됩니다.
이더리움에서는 식별을 위해 주소 이름을 사용하고 이를 승인하기 위해 전송에 서명해야 합니다. 하지만 이 게시물에 제공된 예제에서는 설명을 단순화하기 위해 명시적인 이름을 사용하겠습니다.
이제 일반적으로 개발자는 합리적인 방식으로 ERC-721 계약을 구현합니다. Alice는 NFT를 소유하고 유효한 서명을 제공할 수 있는 경우에만 전송할 수 있습니다.
ERC-721 표준은 단순히 예술 플랫폼이 상호 운용될 수 있도록 하는 인터페이스를 정의하는 사회적 계약입니다. 계약의 인터페이스가 ERC-721 계약의 인터페이스와 일치하는 한 모든 시스템에서 유효한 것으로 간주합니다.
그러나 이제 볼 수 있듯이 이더리움에서 NFT의 출처와 관련된 보안 문제가 발생할 수 있으며 이는 변조될 수 있습니다.
내가 말했듯이 합리적인 ERC-721 계약은 채굴자가 자신을 위해서만 코인을 주조하고 자신이 소유한 샤드만 전송할 수 있도록 허용합니다.
그러나 ERC-721 계약을 사용자 지정하여 다른 계정에 발행할 수 있다고 가정합니다. 특정 상황에서 계정이 다른 사람의 NFT도 전송할 수 있도록 전송 기능을 조정한다고 가정합니다. 그런 다음 우리는 sleepmint를 허용하는 계약을 작성할 수 있습니다.
mint 1: address(0) =>예: 공격자 Malory로서 우리는 Booble용 일련 번호 1로 작품을 주조합니다.
Booble (Malory가 연주)
Alice:
Booble: 1
Malory:
이제 페어링은 다음과 같습니다.
그런 다음 Malory는 Booble의 계정에서 다른 계정으로 일련 번호 1이 있는 조각을 전송하도록 계약을 조정했기 때문에 rarible과 같은 NFT 플랫폼에서 판매를 제공할 수 있습니다."그녀가 주소(0)에서 Booble로 주조하기 때문에"작성자--Booble
이 표시됩니다."Ethers"Malory가 성공적으로 구매자를 사취하면
, 위조품을 구매자에게 판매합니다.
전송 1: Booble => 구매자(Malory가 실행).
Alice:
Booble:
Malory:
Buyer: 1
업데이트된 소유권 레코드는 이제 다음과 같습니다.
이런 식으로 Malory는 성공적으로 NFT의 출처 기록을 변조하고 그녀의 작품을 가치 이상으로 팔았습니다.
세부:rarible과 Etherscan의 정보를 꼼꼼히 확인하고,
이것이 보안 허점보다 인터페이스 문제에 더 가깝다는 것을 알게 될 것입니다. 아무도 beeple의 계정에 액세스할 수 없습니다.
또한 거래 기록을 자세히 살펴보면 사기꾼의 속임수를 발견할 수 있습니다.
가짜 민트 거래
허위 이체 거래"From "민트 트랜잭션의 경우 Etherscan에서 두 가지를 표시하는 것을 볼 수 있습니다.
필드. 하나는 msg.sender가 보낸 트랜잭션이고 다른 하나는 NFT를 나타내는 발신자입니다.
트랜잭션의 보낸 사람 필드, 즉 msg.sender의 경우 보낸 사람의 개인 키의 유효한 서명이 필요하므로 조작할 수 없습니다. 그러나 "전송된 토큰" 필드의 승인은 스마트 계약 허점에 따라 조작될 수 있습니다.。
간단히 말해서 사기꾼은 "전송된 토큰" 필드를 임의로 수정할 수 있습니다.
따라서 From과 Tokens Transferred가 비플의 올바른 주소와 일치하는지 확인해야 합니다. 그렇지 않다면 가짜입니다."rugpull "이것은 그것을 공격


