Type Cosplay
Segurança · Abismo
Uma vulnerabilidade, também chamada de confusão de contas, onde um programa deserializa uma conta como tipo A quando na verdade contém dados para tipo B porque ambas as structs compartilham um layout de bytes compatível nos campos que o programa verifica, permitindo que um atacante substitua um tipo de conta por outro para satisfazer controle de acesso ou aritmética que assume um tipo específico. Anchor previne isso prefixando um discriminador de 8 bytes (os primeiros 8 bytes do hash SHA-256 do nome de tipo totalmente qualificado) a toda conta durante a inicialização e afirmando-o em cada acesso subsequente; programas nativos devem implementar lógica de discriminador equivalente manualmente.