-
@liarco your repository is one of the best out there. Congrats and keep it up, I am a big fan of all your socials. Recently, a hyped collection got exploited --> B_F_Party, see details on Twitter here. Seems like the exploit was on their front-end, allowing an individual to mint ~200 at once. This is worried the entire community, naturally. My question is more regarding what extent the components (smart contract, front and back ends, and all that apply) of this repository are/were security audited? Again, I find this repo very useful, this is just a concern that I think could affect many people in the space and would be good to be aware of beforehand. Thanks again! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi @jvel07, thank you for your feedback! I converted this to a discussion since issues are for bug reports only. First of all, I totally understand your concerns and I agree it's really hard to trust projects in this space. This repository never received audits from third-party. It has been used by many collections, we use it ourself, we received personal appreciation from people working for popular auditing firms, but none of this can replace an official audit. That said, I would like to touch some points about this topic... Considerations about exploit you mentionedFor anyone else reading this, the exploit mentioned here is not related to this repo. They were using custom code for both the contract and the dApp.
A dApp (decentralized application) cannot be exploited. Due to its nature, it's just a UI that gives people direct access to the back end, which is the contract itself. If the front end can be exploited, then it means it's not a dApp... it must have a back end or maybe it has special privileges on the contract. In my opinion, this is very dangerous and should be avoided since, in most situations, we don't need it thanks to the way blockchain technologies work. Our "minting dApp" is a dApp. You can't exploit it, because it's just a plain interface to the contract on the blockchain. There is no custom back end, it's just a plain static React app that makes it easier for people to interact with the blockchain. Every single piece of data made public through the dApp is not sensitive:
If you are concerned about dApp security, then I did my best to make sure this dApp can be broken (so it doesn't work if you don't use it properly), but it cannot be exploited, because it does nothing that you can't do by simply sending transactions manually to the blockchain. Considerations about the smart contractI get tons of feature requests each day by users and devs, and I'm really sorry but I usually have to reject most of them. The reason why is: the only way to keep this project strong and safe is to keep it simple. This project stands on the shoulders of giants like the team behind ERC721A. We used their contract as a base for our implementation and we kept the customizations on our side to the minimum. As always, our effort alone cannot replace proper audits, everyone can do mistakes, but we do our best and we are really concerned about security. Considerations about the project architectureI also want to clarify how this project works, because you specified This project has 2 components:
There is nothing more than this. Further considerations
Hi hope this is helpful, feel free to ask if you have any questions. |
Beta Was this translation helpful? Give feedback.
Hi @jvel07, thank you for your feedback! I converted this to a discussion since issues are for bug reports only.
First of all, I totally understand your concerns and I agree it's really hard to trust projects in this space. This repository never received audits from third-party. It has been used by many collections, we use it ourself, we received personal appreciation from people working for popular auditing firms, but none of this can replace an official audit.
That said, I would like to touch some points about this topic...
Considerations about exploit you mentioned
For anyone else reading this, the exploit mentioned here is not related to this repo. They were using custom code for both…