The Problem
The issue of users unknowingly exposing their private keys in memo while transferring their funds is a problem that has been time and again exposed by developers. The issue was raised by in a very famous article (6 months ago):
Then again the same problem was pointed out by popular steemit user Jerry Banfield, 2 months ago, in his article titled : I Found $63,278 of Private Keys on Steemit.com in 10 Minutes!
The private keys of user get exposed unknowingly as the users transfer their steem/SBD using the transfer option on steemit.
In the memo field, users tend to enter their private memo keys. Some users have exposed even their master passwords in the memo field.
How I accessed the exposed private keys:
It was really easy to query the steem database for exposed private keys using SteemData.
@Furion has provided an awesome tutorial on using SteemData titled: Getting started with SteemData.
I used RoboMongo as a cross-platform GUI utility for playing around with SteemData.
Accessing master passwords
I used the following simple query to get master passwords exposed on steem blockchain:
db.getCollection('AccountOperations').find({'memo': /^P5/})
This query yields 28 results. These are 28 independent transactions after the last hard fork where the private keys got exposed. I checked the length of these keys using https://www.lettercount.com/. (Yes, the password length is 52 ). I checked this by repeatedly generating new passwords using generate new password option in steemit.
The passwords have now been changed. That's a good thing. I will partially reveal only few of the account name and passwords anyway so that you know I am not bluffing. Anyways you can acess the other names by the query mentioned previously.
Accessing private memo/posting keys.
Hundreds, if not thousands of private memo keys have been exposed publicly in the blockchain transaction memos. Since these are publicly available, I will mention some them. They can be used to login to the accounts although any other action like posting/voting requires private posting keys.
I used the query mentioned below:
db.getCollection('AccountOperations').find({'memo': /^5/})
Then I checked which keys contained 51 characters. This gave me private memo keys or private posting keys of a large number of accounts. Some of them I will disclose below. I sincerely request these account owners to reset their passwords.
Hundreds of other private memo keys have also been exposed. It is a sincere request to all users to not enter their private keys as memos. Please spread awareness about this issue so that the problem can be resolved. As of now, the memo keys don't really do much. But in future, they may perform important functions as steem blockchain evolves.
Last 10 days Data Analysis:
Analysing last 10 days data for date-wise number of transactions exposing private keys we find the following pattern:
Thank You and take care.
Posted on Utopian.io - Rewarding Open Source Contributors