Giter Site home page Giter Site logo

etherscamdb's Introduction

EtherScamDB Logotype

Ethereum Scam Database

An open-source database to keep track of all the current ethereum scams

Usage

Make sure you have both Node.JS and Git installed.

Rename config.exmaple.js to config.js and replace the placeholders with your keys.

Then, open a command line anywhere and run the following commands:

git clone https://github.com/MrLuit/EtherScamDB.git

npm install

node run.js

The command line should now exit, asking you to update the config.js file with correct values. Please use your own API keys. When you're done, launch run.js again:

node run.js

Generating should take a couple of minutes the first time or after a clean, but when cache.json is already present it should launch instantly.

Flags

  • --clean Clean up all the old files and folders
  • --update Manually update all content

Contribute

Fork this project and edit _data/scams.yaml. Every item can have the following properties:

  • id: A unique incremental integer
  • name: The title of the scam, should probably not be longer than 64 characters
  • status: The status of a scam. If status isn't provided and url is, status will be autogenerated with the --update flag (Optional)
  • description: A full description for the scam (Optional)
  • url: The protocol + hostname for a scam website, without a trailing / (Optional)
  • category: The category under which the item falls (Optional)
  • addresses: An array of all ethereum addresses that were involved in this scam, with leading '0x' (Optional)

API

To make use of our database, the following API can be used: https://etherscamdb.info/api/

Donate

If you would like to help without contributing on GitHub yourself you can send some ETH or ERC20 tokens to etherscamdb.eth ๐Ÿ‘

Thanks

etherscamdb's People

Contributors

409h avatar akuka avatar amadeobrands avatar andrelegault avatar blurpesec avatar cloudonshore avatar dm500s avatar drinkyouroj avatar hacken-audit avatar kevinkoosk avatar krystianduda avatar kvhnuke avatar maciejhirsz avatar mrluit avatar mysticryuujin avatar neodiumnetwork avatar neologist avatar pmizel avatar royram85 avatar segasecbot avatar sekisanchi avatar shayanb avatar sneg55 avatar tayvano avatar tobaloidee avatar tuliobraga avatar venadcli avatar wtzb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

etherscamdb's Issues

Common tool/workbench

Report through the project

There is no reason to really contact a third-party host to send the report off to where it needs to go, especially as it just entails a cURL request to the endpoint (where we handle the reports).

Plan of action

Create a new config item for the slack webhook token and redo the report to send the report directly to a Slack channel.

Little UX / Info To-Do List (Prep for Launch)

Mass reporting domains

We need to include the ability for people to mass report phishing domains and scams through EtherScamDB.

Proposed solutions

Parse a .csv file of reports

Get the user to select a .csv file that is parsed client side and sent to the backend in a unified format.

image

Big textbox

Give a textbox to allow the user to dump the report (in no real uniform order/format). Kind of a free-for-all and won't make it easy for any future bots to parse and act on the data automagically.

image

Add another report button

With some UX magicy, allow the user to add more inputs to unifrm the order/format (1 input per domain/scam with a separated input with a reason)

image

Can I getz a shiny cristal? Tnx!

I'm not a spam account, I promise! My official twiter acount is @juansgalt, and you can find all my social accounts and work at juansgalt.com.

Much thankful for this most excellent fraud prevention app. Good work.

v2

  • - Individual pages to finish
  • - Sorting to finish
  • - Pagination to finish
  • - Add the redirect page
  • - Update the data file
  • - IP pages
  • - Address pages
  • - Update README
  • - Take screenshots of flagged sites.

Bugs:

  • - Slackbot needs to be fixed
  • - getCache().scams is full of duplicates, not sure why

UX Improvement of "Active scams" panel

Scams list will be much attractive to be sorted by lines with status category, active lines group on top as default.
Optionally, having sorted and unsorted switch by clicking the column title, and other titles also.

Virustotal linkage proposal

Virustotal is an open service that aggregates scanning upon signature in files, addresses, and names by independent providers, both in private and open environment. Its open URL/domain scanning shows good cross-reference between legacy security community and Ethereum, as well as pushing awareness about Ethereum blockchain space for private users of it mostly in the legacy security community.

Current ESD SCAM domains are mostly scanned there publicly already on both http and https, and scanning result records are kept there with "positives" number, showing the number of services detected SCAM among sixty or so. Newly added ESD records are done in a day.

Scanning newly added ESD domain are mostly first-time public scan there but in case it was active at phishing, already scanned with positives. So scanning ESD SCAM domain makes an extension of it at Virustotal in some sense.

Assuming above sniff benchmarking, following changes are recommended

  1. Adding Virustotal positives at etherscamdb.info/scam/nnnn
  2. Scan the SCAM domain upon new ESD record addition
  3. Provide ESD URL scan within Virustotal

These might be an affordable subset of ESD expansion.
I've using spreadsheets now as workbench and trying to move into Jupyter or some other for prototyping.

License

Hello there, could you please add a license. Prefer not to assume it's MIT

The api for checking the addresses /others/ expects case sensitive argument

In my opinion it should be case insensitive.

Example:

https://etherscamdb.info/api/check/0x92d43d2f55e077d1bebc6e348a9f4ff64fd4f21a/
returns
{"success":true,"result":"neutral","type":"address","entries":{}}

https://etherscamdb.info/api/check/0x92d43D2f55E077D1beBC6e348a9F4FF64fD4F21A
returns
{"success":true,"result":"blocked","type":"address","entries":[{"id":4056,"name":"blttrex.us","url":"https://blttrex.us","category":"Trust-Trading","description":"Trust-Trading site","addresses":["0x92d43D2f55E077D1beBC6e348a9F4FF64fD4F21A"],"ip":"198.252.108.77","nameservers":["ns10.hawkhost.com","ns9.hawkhost.com"],"status":"Active"}]}

The website reports the address as a scam, regardless what case is used:
https://etherscamdb.info/address/0x92d43d2f55e077d1bebc6e348a9f4ff64fd4f21a/

Enable CORS

We need to enable CORS so that people can consume the JSON files with Javascript (specifically EtherGraphs.com is having an issue with pulling in the data with AJAX)

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

We need to set a header Access-Control-Allow-Origin: *.

Assigning to you Luit because it might be easier to enable it in the server config.

Versioned CSS/JS

Since the release of #21 the style for the icons wasn't overwritten from the cached copy on the browser.

Looked kind of like this;
image

POA: Put a query string of the date/version on the JS and CSS. Ie: <link rel="stylesheet" href="/css/general.css?version=1504005602">

Google safe browsing protection is not properly shown

For the URL myetherwalletverify.info,
the summary page indicates no Google protection as shown below,
but it's practically protected.
It should have different notation / logic / scope hopefully, to focus on high-risk address.

ethereum_scam_database

But by chrome, it is captured as below (no metamask nor etheraddresslookup)

security_error

Firefox

deceptive_site_

Safari

deceptive_website_warning

Onion + metamask

phishing_warning

Onion

myetherwallet

Uppercase URL in Search box is not correctly processed

Search "ETHPAYS.ME" and "ethpays.me" did show a different result.
Further more, input character case handling and others have to be carefully examined in the process pipeline upon variation of search string such like with or without "http://", trailing slach char etc. , in order to avoid false negative/positive result for users manually accessing it.

ethereum_scam_database

ethereum_scam_database

An address page wish

It's not an issue, but I want the address pages showing the total transfer-in Ether amount instead of USD (not required, out of the scope of your site)
By the total-in and balance, we can better understand the behavior.
Etherplorer has an API returning it. They gave me an api key for me referring some analysis around ESDB.

ethereum_scam_database

Logo Design Proposal

Hi @MrLuit I am a graphics designer and open source enthusiast. I want to contribute to your good project by proposing a logo design for the project for added visibility.I have noticed it doesn't have one yet. I will be doing it as a gift for free. I need your permission before i start my design. Thanks and best regards

  • tobaloidee

Create a new method for handling _data/scams.yaml file

_data/scams.yaml Is getting too large. Make them easier to handle by splitting them into smaller files.

  • Break up scams.yaml into smaller _data/scam files (a good way to do this would be to parse through each scam and create individual files for each category). Test to see if it makes more sense to do this by category or subcategory.

  • Create a method that concatenates them on run and update. Verify that this does not conflict with existing functionality

Added most of actives in Phishtank, and it's start working.

https://www.phishtank.com/user_submissions.php?username=seki

Added about 250 and the first half is well accepted and marked as phishes.
Here's some suggestion -

  1. Within my pilot, I saw Google safe browsing flagged some of the site. It worth than seemed to be.
  2. risk.iq and xforce have linkage to it.
  3. Phishtank accepts only URL as input and no additional info like Etherscan of shown Ethereum address that may prove the fake behavior of the site. Link to Phishtank from ESDB may help.
  4. Don't know what incentives drive the Mturk like operation.

ReCaptcha not displaying or is failing on domain report screen

ReCaptcha is not displaying on the Report screen, or is failing, after trying to report a domain:

image

Further info: Win 10 + Chrome Version 65.0.3325.181 (Official Build) (64-bit)

Note: This issue does not occur in IE, Edge, or Firefox.

To reproduce:

  1. Navigate to https://etherscamdb.info/report
  2. Click the button: "No I want to report an address/website"
  3. On the next selection asking if you want to report a domain or address, click the "A domain" button.
  4. Enter the domain: "ethereumwalletgenerator.com" and click "Continue"
  5. Add a reason why you're reporting then continue.
  6. ReCaptcha will not appear.

Etherscan address link doesn't work

Something is off with lines https://github.com/MrLuit/EtherScamDB/blob/master/run.js#L443 and https://github.com/MrLuit/EtherScamDB/blob/master/_layouts/address.html#L8 as the {{ address.address }} doesn't replace.

Example: https://etherscamdb.info/address/0xe4fa5149306b12d51dc0d04e5e95bc9704ccaad7/

<div class="ui body container">
<link rel="stylesheet" href="/css/address.css">
<h1>0xe4fa5149306b12d51dc0d04e5e95bc9704ccaad7</h1>
<div class="ui mini red message"><i class="warning sign icon"></i> Warning: Do not send money to this address</div>
<b>Balance</b>: <span id="balance">0 ETH</span><br>
<b>USD Value</b>: <span id="value">0$ (745.14 USD/ETH)</span><br>
<b>Related to the following scams</b>: <div class="ui bulleted list"><div class="item"><a href="/scam/2135/">OmiseGO.com</a></div></div><a href="/scam/2135/">
<div class="ui divider"></div>
</a><a target="_blank" href="https://etherscan.io/address/{{ address.address }}"><i class="external icon"></i> View address on etherscan</a><br>

Phishtank linkage suggestion

Phishtank can be used to verify the current status of a scam site with a chance to vote, while URLscan is much tend to record keeping/verifying and analysis purpose.
We may consider using both in the right place within the lifecycle and UX suitable for community ecosystem purpose.

Sample
(I put some of recent active sites there but not getting attentions. Some of exchanges and myetherwallet are listed as targeting brands of phishing scams)

Now I understand Phishtank is a legacy public and crowdsourced phishing mail collection and validation platform, similar to Amazon Mturk is for catalog data correction and general questioner but looks like old and global rank 200K in Alexa

No visual indication of a new search

Currently there is no indication of a new search being conducted on the ui.

One way to do this is to add the searched name to the existing notification that pops up.
Another way to do this is to add a new section that displays when the search button is clicked below the search input field containing the name being searched.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.