Hello all,
For a moment please set aside the fact that my account is new. I registered here because I was inspired by the post of OCminer.
I would like to point out that he sets very good examples and we should support and promote such actions. Being a developer myself (professionally), I would like to give my point of view and also clear up some confusion that was introduced by some people, probably due to lack of experience or knowledge.
1. It was mentioned on this thread that OCminer shouldn't have posted about the issue here. This was based on some people knowledge/experience with software security.
You can safely ignore those posts. Security through obscurity is a very well known anti-pattern to any professional security researcher. Quoting from wikipedia
https://en.wikipedia.org/wiki/Security_through_obscurity In security engineering, security through obscurity (or security by obscurity) is the reliance on the secrecy of the design or implementation as the main method of providing security for a system or component of a system. A system or component relying on obscurity may have theoretical or actual security vulnerabilities, but its owners or designers believe that if the flaws are not known, that will be sufficient to prevent a successful attack. Security experts have rejected this view as far back as 1851, and advise that obscurity should never be the only security mechanism.
In short, OCminer did the right thing.
2. Verge developer sunerok commits code that is copy pasted from other projects that he does not understand and sometimes includes bugs. This is true and anyone that can examine the source code that is available publicly on github can verify it. This is not the first time this happens, more like the Nth time. Examples of this are the feature of stealth addresses that was copy pasted from 3year old OpalCoin code that included the actual names of OpalCoin. Imagine using your Verge wallet and suddenly you get an error message saying your OpalCoin address is invalid..
https://github.com/vergecurrency/VERGE/commit/e3612923a51016fc78e470d9e15a744d6ad64cb5#diff-e75eff0ce0dde388eddbe3173db85bd4L1779 Other examples where someone gathered many references to copy pasted code:
https://github.com/vergecurrency/VERGE/issues/304. Every single time the Verge developer and the fanatic community was either blocking/bashing on/banning the people that would report this. In Software Development and all professional circles and companies this is exactly what is called a Junior or inexperienced developer. Developers that do this usually are not allowed to commit to the mission critical products of a company, due to the damage they can cause. Instead they are assigned more senior developers as mentors and other devs review every single line they write to prevent "accidental issues"..
3. Verge marketing team are trying their best to market a faulty product, trusting their lead dev but they also are as inexperienced as him. More specifically I've shown above and it was already known to most of you that code from OpalCoin was included in Verge source code. The ignorants would say that this is how open-source works. Those people however are the ones that do not understand Licenses which every open source software is accompanied with, and not every open-source software comes with a "free to copy paste" license. In fact OpalCoin as shown here
https://github.com/OpalCoin/OpalCoin/blob/master/LICENSE#L13 comes with a license that specifically says
3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the Opalcoin Developers.
Of course you never saw any of this in the marketing material of Verge.
4. Mcaffee. I don't know why this guy is still called a security expert. It saddens me that people will follow anything they will hear from "accredited" persons without investigating the legitimacy of it. For a Proof of Concept I decided to follow one of Mcaffes's leads for an ICO, specifically Bezop tokens, to see what I can get out of it. When I opened an account during their ICO sale, I immediately noticed the security flaws of their platform. The flaws where so big, that you could access identity cards, passports, driving licenses and other PII, as well as being able to add tokens to your wallet. I immediately reported this to the company but did not receive any response. I tried to contact them in their LinkedIn accounts and again got no response. 2 days later someone writes a blog post on Medium about the same flaw however mentioning half of the vulnerabilities. When I found that post it was already editted, now containing only 2 lines saying that he got in touch with the company, the issues were fixed, and there is nothing to worry about. (note: Thanks to google cached content I was able to find the original post that included the vulnerabilities). I tested again my PoC and the vulnerabilities were still there, nothing was fixed at all. This is not an uncommon incident in software security. Sadly when the responsible people only care about money, we get to pay the price..
A few last words and I'm sorry for the long post:
Once a colleague of mine told me that if we were to build an in house solution for X feature instead of using an open source existing solution, this would have been way more secure. I replied to him "How many security experts does our team have..? Do you think those few minds are much greater and have more time than the huge community of hundreds of security experts & hackers?"
Open source world has helped a lot in making software more secure. People actively trying to find vulnerabilities and the community actively trying to patch those vulnerabilities is what creates more secure software. We learn from our mistakes so that we don't repeat them in the future. But we need to be aware of our mistakes; we cant fix something we don't know about. If we care about our users/customers we need to be open and transparent. And if we don't care we also need to be open and transparent, so that anyone that will use our product knows the risks of doing so, instead of being lured by false marketing claims of "privacy and security".
Btw does anyone have a link to the pen-test reports/security audits of Verge..? I remember some months ago there were talks about security audits being scheduled.. I haven't followed up on this, any news..?