Hvorfor lommeboken viser en overføring du aldri sendte: nullverditransaksjoner og adresseforgiftning
En ukjent utgående transaksjon betyr ikke automatisk at lommeboken din er hacket. Lær hva nullverdiregistreringer, adresser som ligner hverandre og faktiske aktivabevegelser egentlig beviser.
Hva beviser denne oppføringen om lommeboken min?
Hvis historikken plutselig viser at du sendte 0 USDT til en ukjent adresse, beviser ikke oppføringen alene at noen har fått tilgang til privatnøkkelen din. En tredjepart kan opprette visse registreringer av overføringer med null tokener og oppgi adressen din uten signaturen din eller tillatelse til å bruke et positivt beløp. Registreringen kan finnes på blokkjeden selv om du aldri startet den.
De nyttige spørsmålene er mer presise: Hvilket aktivum gjelder det? Hvor mye ble faktisk flyttet? Hvem sendte inn transaksjonen? Hva autoriserte et eventuelt reelt forbruk?
- En tokenhendelse med null beløp beviser ikke at du signerte eller brukte noe. For et ekte token betyr nøyaktig null at denne overføringen ikke flyttet noen tokener.
- En overføring med et kjent tokennavn identifiserer ikke aktivumet. En urelatert kontrakt kan bruke samme navn og symbol.
- En svært liten innbetaling kan være ekte samtidig som den planter en villedende avsenderadresse i historikken din.
- En bekreftet, uforklart utgående bevegelse av ekte aktiva må undersøkes. Ikke avfei den fordi et annet felt viser null.
Denne veiledningen dekker Ethereum, BNB Smart Chain (BSC) og lignende nettverk som bruker Ethereum-lignende tokenkontrakter. Eksemplene er bevisst forenklede og oppdiktede oppføringer, ikke skjermbilder eller funn fra en bestemt lommebok.
Finn først ut hvilket felt som viser null
Uttrykket nullverditransaksjon brukes om flere ulike ting. Bare én av disse visningene sier at antallet tokener er null:
- Tokenbeløp: 0 USDC. For den ekte USDC-kontrakten betyr nøyaktig null at denne overføringen ikke flytter noen USDC.
- Transaksjonsverdi: 0 ETH. Ingen ETH var knyttet til hovedtransaksjonen. Tokener kan likevel flyttes, og kontrakthandlinger kan fortsatt utføres.
- Anslått verdi: $0.00. Grensesnittet viser en verdi i fiatvaluta. Det fastslår ikke tokenbeløpet.
På BSC bruker feltet for den opprinnelige mynten vanligvis BNB i stedet for ETH. En kontraktinteraksjon med null i opprinnelig verdi kan overføre tokener, endre brukstillatelser eller utløse andre operasjoner. Den opprinnelige verdien er adskilt fra transaksjonens inndata.
Et lite positivt beløp kan rundes av til $0.00. Et aktivum uten pålitelig prising kan også ha en lite nyttig fiatvisning. Utvid tokenbeløpet til full presisjon; selv et vist tokenbeløp på 0.00 kan skjule et mindre positivt beløp. Endringer i porteføljens verdi er ikke en pålitelig oversikt over antall enheter som går inn eller ut av en konto.
Null er et tillatt tokenbeløp, så null alene beviser ikke et angrep. Adresser som ligner hverandre og kopierte betalingsopplysninger er spor det er verdt å undersøke.
Hvorfor de to From-feltene kan være forskjellige
En lommebokhistorikk kan kombinere informasjon fra forskjellige lag:
- Transaksjonen: den signerte instruksjonen som sendes til nettverket. For en vanlig Ethereum-transaksjon viser hovedfeltet From kontoen som signerte.
- Tokenhendelsen: en registrering som en kontrakt sender ut under kjøring. En Transfer-hendelse har sine egne felter for From, To og beløp.
- Historikkraden: hvordan lommeboken eller blokkutforskeren presenterer informasjonen. Den kan merke en hendelse med OUT fordi hendelsen oppgir adressen din som avsender.
Disse to From-feltene kan ikke brukes om hverandre. At adressen din finnes i en hendelse, er ikke en signatur fra lommeboken din. En ondsinnet kontrakt kan legge adressen din i hendelsesdata, men det betyr ikke at loggen kommer fra den ekte tokenkontrakten. Kontrakten som sender ut hendelsen, er derfor en vesentlig del av bevismaterialet.
På samme måte identifiserer en transaksjonshash en transaksjon, men beviser ikke samtykke fra deg. En inkludert transaksjon merket Success viser at den ytre kjøringen ikke ble reversert. Det er ikke en godkjenning av tokenet, mottakeren eller formålet.
Fem kommenterte eksempler fra transaksjonshistorikken
Eksempel 1: En utgående overføring med null tokener som du aldri signerte
Historikkoppføring: OUT · 0 USDC · Fra adressen din til en ukjent adresse som ligner en annen.
- Transaksjonens From: en urelatert konto sendte inn transaksjonen.
- Tokenhendelsens From: hendelsen oppgir adressen din.
- Utstedende tokenkontrakt: den ekte USDC-kontrakten på dette nettverket.
- Nøyaktig tokenbeløp: null.
Hva dette beviser: den ekte tokenkontrakten registrerte en overføring med null tokener og oppga adressen din. Denne overføringen flyttet ingen USDC. Den beviser ikke at lommeboken din signerte transaksjonen, at den som kalte kontrakten har tillatelse til å bruke et positivt beløp, eller at nøkkelen din ble stjålet.
Hvordan det skjer: ERC-20, den vanlige tokenstandarden, krever at overføringer med null beløp utløser Transfer-hendelser. I vanlige implementasjoner kontrollerer funksjonen for delegert overføring, transferFrom, om det forespurte beløpet overstiger innringerens allowance. Null overstiger ikke engang en allowance på null. Med forbehold om kontraktens øvrige regler kan kallet lykkes uten forhåndsgodkjenning.
Dette er ikke en universell garanti for alle tokener. Enkelte kontrakter kan legge til flere begrensninger.
Hva du bør kontrollere videre: undersøk resten av transaksjonen. En nullrad beskriver bare den raden; en annen operasjon kan ha en annen effekt. Hvis dette er en isolert forgiftningsoppføring uten mistenkelig forbruk eller endrede tillatelser, bør du unngå den plantede adressen i stedet for å anta at lommeboken må byttes ut.
Eksempel 2: En falsk transaksjon som viser et stort tokenbeløp
Historikkoppføring: OUT · 2,500 USDC · Fra adressen din til en ukjent adresse.
- Vist tokensymbol: USDC.
- Kontrakten som sendte ut hendelsen: en urelatert kontrakt, ikke ekte USDC.
- Oppgitt hendelsesbeløp: 2,500.
- Bevegelse av ekte USDC i transaksjonen: ingen.
Hva dette beviser: en annen kontrakt sendte ut en registrering som vises med USDC-etiketten. Det beviser ikke at 2,500 ekte USDC forlot kontoen din.
En falsk transaksjon i en lommebok kan være ekte blokkjedeninformasjon som tolkes på en villedende måte. Angripere kan kopiere et tokens navn og symbol og sende ut hendelser som ligner tidligere betalinger, også beløpene. Ikke-standardiserte kontrakter kan dessuten sende ut overføringsregistreringer som ikke svarer til endringer i deres egne saldoer.
Hva du bør kontrollere videre: finn nettverket og den nøyaktige kontrakten som sendte ut hendelsen. Sammenlign adressen med kontraktopplysninger du har skaffet uavhengig fra utstederen for det aktuelle nettverket. Et kjent tickersymbol, en logo eller en etikett om verifisert kildekode er ikke nok til å bekrefte utstederens identitet.
Eksempel 3: En svært liten ekte betaling fra en adresse som ligner
Historikkoppføring: IN · 0.000001 USDC · Fra en ukjent adresse til adressen din.
Anta at den ekte tokenkontrakten bekrefter overføringen, og at tokensaldoen din øker med det svært lille beløpet. Her har ekte tokener kommet inn. Du måtte ikke godkjenne avsenderen for å motta dem, og mottaket gir ikke avsenderen noen tillatelse til å bruke midlene dine.
Fellen er adressen. Se disse oppdiktede eksemplene, delt inn med mellomrom slik at alle tegn er synlige. Ekte adresser inneholder ingen mellomrom; de fete gruppene i midten er forskjellige:
Verifisert mottaker: 0x7a2f 1111 2222 3333 4444 5555 6666 7777 8888 9c4d
Plantet adresse: 0x7a2f aaaa bbbb cccc dddd eeee ffff 0000 1111 9c4d
Et grensesnitt som bare viser starten og slutten, kan vise begge som 0x7a2f...9c4d.
Hva dette beviser: noen sendte deg et lite beløp fra den adressen. Det beviser ikke at avsenderen er din vanlige mottaker eller en konto du kontrollerer. Samsvarende synlige tegn beviser ikke eierskap.
Hva du bør kontrollere videre: hent den tiltenkte mottakeradressen fra en kontakt som er verifisert separat, eller mottakerens betrodde kontoside. Sammenlign hele adressen. Adresseforgiftning forsøker å gjøre en plantet historikkoppføring til adressen du velger for en senere betaling. Tapet kan oppstå senere, når du autoriserer en helt gyldig overføring til feil mottaker.
Eksempel 4: Null ETH, men 2,500 ekte tokener sendes ut
Transaksjonsoverskrift: Value · 0 ETH.
- Opprinnelig verdi knyttet til kallet: 0 ETH.
- Overføring av ekte tokener: 2,500 USDC fra adressen din.
- Endring i USDC-saldo forårsaket av transaksjonen: en reduksjon på 2,500 USDC.
- Kjøringsstatus: Success.
Hva dette beviser: ekte USDC ble sendt ut i dette eksemplet. Null beskriver ETH knyttet til kallet. Det beskriver ikke USDC-overføringen og utelukker ikke gasskostnader.
Hva som fortsatt er ukjent: hvorfor betalingen skjedde, og om du ønsket den. Den kan skyldes en veksling, et innskudd, en planlagt operasjon, en betaling til feil adresse eller uautorisert bruk. Sammenlign den med handlingen du utførte og den tiltenkte mottakeren før du klassifiserer den.
Eksempel 5: Ekte tokener forsvinner, men en annen konto sendte inn transaksjonen
Historikkoppføring: OUT · 500 ekte USDC · En ukjent mottakeradresse.
Anta at den vellykkede transaksjonen reduserte saldoen din av ekte USDC med 500, mens hovedfeltet From viser en annen person.
Hva dette beviser: tokenene ble flyttet. At transaksjonen ble sendt av noen andre, gjør ikke bevegelsen falsk.
En tidligere godkjent bruker kan benytte en token-allowance uten at du må signere en ny transaksjon for hvert uttak. Noen tokener støtter også permit-signaturer, som autoriserer en allowance gjennom en signert melding som andre kan sende inn. Smartkontoer og delegerte lommebøker gir flere måter andre kan sende inn en autorisert operasjon på.
Hva du bør kontrollere videre: undersøk den som bruker tillatelsen, relevant allowance eller signert tillatelse og lommebokoperasjonen. Hvis debiteringen fortsatt ikke kan forklares, må den behandles som en sikkerhetshendelse. Sporene kan peke på en skadelig godkjenning, en villedende signatur eller kompromittert kontokontroll; raden alene skiller ikke mellom disse.
For en vanlig transaksjon som er signert direkte, er adressen din i transaksjonens hovedfelt From bevis på en gyldig signatur for den kontoen. Det beviser likevel ikke at du forsto handlingen, ønsket den mottakeren eller personlig startet den. From-feltet i en tokenhendelse gir langt svakere bevis.
Hva de 270 millioner forgiftningsforsøkene faktisk målte
En toårig analyse av aktivitet på Ethereum og BSC fra 1. juli 2022 til 30. juni 2024 identifiserte omtrent 270 millioner forgiftningsregistreringer rettet mot 17 millioner adresser.
Registreringene falt i tre kategorier:
- 147.7 millioner nullverdieroverføringer.
- 118.4 millioner overføringer av falske tokener.
- 4.0 millioner svært små overføringer.
Dette var overføringsregistreringer innenfor rundt 18.2 millioner transaksjoner, ettersom angripere kan samle flere registreringer i én transaksjon. Adresser som ble rammet, er ikke det samme som personer, kompromitterte lommebøker eller ofre som tapte penger.
Analysen identifiserte 6,633 vellykkede overføringer til angripere på minst $83.8 millioner til sammen. Enkelte ofre betalte flere ganger. Påvisningen var rettet mot utvalgte stablecoins, så tapsanslaget er en nedre grense innenfor dette omfanget, ikke en totalsum for alle tokener eller blokkjeder.
Den praktiske konsekvensen er at en kontroll bare av nullbeløp overser en betydelig del av angrepet. Falske oppføringer kan etterligne en betydelig betaling, og en svært liten innkommende overføring kan flytte ekte tokener samtidig som den introduserer en farlig adresse.
Slik undersøker du den ukjente oppføringen din
- Åpne transaksjonen på riktig nettverk. Bruk utforskerfunksjonen i lommeboken eller en kjent utforsker som Etherscan eller BscScan. Kontroller transaksjonsstatusen. Du trenger ikke koble til en lommebok, godkjenne tokener, signere en melding eller skrive inn gjenopprettingsfrasen for å lese offentlige transaksjonsopplysninger.
- Identifiser det faktiske aktivumet. Skill opprinnelig ETH eller BNB fra et token som bruker samme navn. For tokener må du sammenligne riktig nettverk og kontrakten som sendte ut hendelsen, med en pålitelig kilde fra utstederen.
- Les beløpet med full presisjon. Skill tokenantallet fra transaksjonens opprinnelige verdi og anslaget i fiatvaluta.
- Skill transaksjonsavsenderen fra hendelsesavsenderen. For en smartkonto må du også undersøke lommebokoperasjonen og tillatelsene. At noen andre betaler gas, beviser ikke at aktivaene dine ikke kan ha blitt flyttet.
- Gå gjennom hele transaksjonen. Undersøk alle tokenbevegelser, overføringer av opprinnelig mynt og relevante endringer i tillatelser. Hvis utforskeren viser saldoendringer for hele transaksjonen, bruk dem til å kontrollere resultatet. At saldoen er uendret i dag, er svakere bevis: senere innskudd eller motvirkende overføringer kan skjule tidligere bevegelser.
- Bekreft mottakeradressen uavhengig. Bruk mottakerens betrodde betalingsopplysninger eller en adressebokoppføring du tidligere har bekreftet. En nylig historikkrad er noe å undersøke, ikke bevis på riktig mottakeradresse.
Hvis utforskeren ikke gir et tydelig resultat, oppgi nettverket og den offentlige transaksjonshashen til lommebokleverandørens offisielle brukerstøtte. Beskriv handlingen du forventet, hvis det var noen. Opplysningene gjør det lettere å skille en ukjent, men tilsiktet operasjon fra uforklart bruk uten å røpe hemmelighetene som kontrollerer lommeboken din.
Hva du gjør etter kontrollen
Hvis du bare fant en isolert forgiftningsoppføring
Skjul eller rapporter spam dersom lommeboken støtter det, og unngå å bruke adressene derfra. Å skjule en rad endrer grensesnittet; det sletter ikke blokkjedehistorikken eller trekker tilbake tillatelser.
En nulloverføring kan skje med en allowance på null, så oppføringen alene er ikke grunn til å tilbakekalle alle godkjenninger eller flytte alle pengene dine. Det finnes kanskje ingen tilknyttet brukstillatelse å fjerne. Bruk aldri nettstedet som annonseres av et token, eller en fremmeds gjenopprettingslenke, til å «rense» lommeboken.
Hvis du fant en mistenkelig brukstillatelse
Bruk lommebokens betrodde funksjon for godkjenningsadministrasjon til å kontrollere og trekke tilbake relevant allowance. Å koble et nettsted fra lommeboken tilbakekaller ikke eksisterende tokengodkjenninger på blokkjeden. En tilbakekalling løser den aktuelle tillatelsen, men kan ikke reparere en stjålet privatnøkkel.
Hvis ekte aktiva ble flyttet uten at du ønsket det
Ta vare på transaksjonshashen, nettverket, det berørte aktivumet og relevante adresser. Gå gjennom nylige signaturer, godkjenninger og lommebokoperasjoner via offisielle støttekanaler.
Hvis det finnes tegn på at gjenopprettingsfrasen eller privatnøkkelen er avslørt, opprett en ny lommebok med en ny gjenopprettingsfrase på en betrodd enhet og følg en gjennomtenkt plan for å flytte gjenværende aktiva. En ny konto avledet fra den kompromitterte frasen løser ikke problemet. Hvis penger forsvinner automatisk, må du ikke fortsette å sette inn penger til gas: en sweeper kan ta dem.
Hvis du bevisst signerte en betaling, men kopierte en forgiftet mottakeradresse, dokumenter forskjellen. Betalingen kan ha blitt korrekt signert og utført, men sendt til feil mottaker. Det betyr ikke i seg selv at privatnøkkelen din ble stjålet.
Vanlige spørsmål om ukjente transaksjoner
Fikk angriperen meg til å betale gas?
Ved vanlig adresseforgiftning sender angriperen inn transaksjonen og betaler nettverksgebyret. At adressen din bare står i en tokenhendelse, belaster ikke kontoen din. Men sponsede transaksjoner og smartkontoer betyr at betaleren av gebyret alene ikke kan bevise at en operasjon var ufarlig. Undersøk de faktiske virkningene.
Hva om transaksjonen mislyktes?
En reversert tokenoverføring fullførte ikke overføringen, selv om gas fremdeles kan bli belastet. Hvis lommeboken bruker kontodelegering, kontroller dette separat: Ethereum kan beholde en delegering selv om senere kjøring mislykkes. En ukjent delegering bør undersøkes.
Ville en maskinvarelommebok hindret adresseforgiftning?
Den gir deg enda et sted å kontrollere mottakeren før du signerer. Den kan ikke gjøre en angriperkontrollert adresse riktig hvis du godkjenner den. Sammenlign hele adressen på den betrodde signeringsskjermen med mottakeropplysninger som er bekreftet uavhengig.
Kan jeg hindre fremmede i å legge til slike oppføringer?
Du kan vanligvis ikke hindre tredjeparter i å sende aktiva eller lage relevante registreringer som omfatter en offentlig adresse. Filtre i lommebøker og utforskere kan redusere det du ser. Lagre bekreftede mottakere og kontroller hele adressen før du betaler. Bare å skjule nullverdioppføringer fanger ikke opp alle varianter med falske tokener eller små overføringer.
