Coder Social home page Coder Social logo

emailrep.io's Introduction

Sublime Logo

EmailRep Alpha Risk API

by Sublime Security

Overview

EmailRep is a system of crawlers, scanners and enrichment services that collects data on email addresses, domains, and internet personas.

EmailRep uses hundreds of data points from social media profiles, professional networking sites, dark web credential leaks, data breaches, phishing kits, phishing emails, spam lists, open mail relays, spam traps, domain age and reputation, deliverability, and more to predict the risk of an email address and answer these types of questions:

  • Is this email risky?
  • Is this a throwaway account?
  • Is there potential for this signup to commit fraud or abuse?
  • What kind of online presence does this email have?
  • Is this a trustworthy sender?

URL

https://emailrep.io

Libraries

Detailed Usage

For authentication info, code samples, and reporting malicious email addresses see our detailed documentation.

Simple Usage

GET /[email] - query an email

Example:

$ curl -s emailrep.io/[email protected]
{
  "email": "[email protected]",
  "reputation": "high",
  "suspicious": false,
  "references": 79,
  "details": {
    "blacklisted": false,
    "malicious_activity": false,
    "malicious_activity_recent": false,
    "credentials_leaked": true,
    "credentials_leaked_recent": false,
    "data_breach": true,
    "first_seen": "07/01/2008",
    "last_seen": "05/24/2019",
    "domain_exists": true,
    "domain_reputation": "high",
    "new_domain": false,
    "days_since_domain_creation": 10341,
    "suspicious_tld": false,
    "spam": false,
    "free_provider": false,
    "disposable": false,
    "deliverable": true,
    "accept_all": true,
    "valid_mx": true,
    "spoofable": false,
    "spf_strict": true,
    "dmarc_enforced": true,
    "profiles": [
      "myspace",
      "spotify",
      "twitter",
      "pinterest",
      "flickr",
      "linkedin",
      "vimeo",
      "angellist"
    ]
  }
}

Response Details

  • reputation: high/medium/low/none
  • suspicious: whether the email address should be treated as suspicious or risky
  • references: total number of positive and negative sources of reputation. note that these may not all be direct references to the email address, but can include reputation sources for the domain or other related information
  • blacklisted: the email is believed to be malicious or spammy
  • malicious_activity: the email has exhibited malicious behavior (e.g. phishing or fraud)
  • malicious_activity_recent: malicious behavior in the last 90 days (e.g. in the case of temporal account takeovers)
  • credentials_leaked: credentials were leaked at some point in time (e.g. a data breach, pastebin, dark web, etc.)
  • credentials_leaked_recent: credentials were leaked in the last 90 days
  • data_breach: the email was in a data breach at some point in time
  • first_seen: the first date the email was observed in a breach, credential leak, or exhibiting malicious or spammy behavior ('never' if never seen)
  • last_seen: the last date the email was observed in a breach, credential leak, or exhibiting malicious or spammy behavior ('never' if never seen)
  • domain_exists: valid domain
  • domain_reputation: high/medium/low/n/a (n/a if the domain is a free_provider, disposable, or doesn't exist)
  • new_domain: the domain was created within the last year
  • days_since_domain_creation: days since the domain was created
  • suspicious_tld: suspicious tld
  • spam: the email has exhibited spammy behavior (e.g. spam traps, login form abuse)
  • free_provider: the email uses a free email provider
  • disposable: the email uses a temporary/disposable service
  • deliverable: deliverable
  • accept_all: whether the mail server has a default accept all policy. some mail servers return inconsistent responses, so we may default to an accept_all for those to be safe
  • valid_mx: has an MX record
  • spoofable: email address can be spoofed (e.g. not a strict SPF policy or DMARC is not enforced)
  • spf_strict: sufficiently strict SPF record to prevent spoofing
  • dmarc_enforced: DMARC is configured correctly and enforced
  • profiles: online profiles used by the email

Use cases

Defensive:

  • Detect targeted phishing attacks.
  • Detect and prevent fraud.
  • Detect throwaway accounts.
  • Require additional layers of verification (MFA) during your signup flow to prevent abuse.
  • Contextualize netflow and other products that analyze email addresses or related data.

Offensive (ethical):

  • Conduct recon on a target email address for credential brute forcing.
  • Construct targeted phishing attacks based off of target's social media profiles.
  • Inform reputation of social engineering campaigns (higher reputation can help avoid the spam folder).

emailrep.io's People

Contributors

jkamdjou avatar kaiiyer 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

emailrep.io's Issues

Spoofable / DMARC not enforced

Hi!

Just generally wondering why my domain ironpeak.be (e.g. [email protected]) is marked as:

  • DMARC not enforced
  • Spoofable

While I have following TXT records:

  • _dmarc.ironpeak.be v=DMARC1; p=reject; rua=mailto:[email protected]
  • v=spf1 include:_spf.google.com ~all

Command:

# curl emailrep.io/[email protected]
{
  "email": "[email protected]",
  "reputation": "low",
  "suspicious": false,
  "references": 1,
  "details": {
    "blacklisted": false,
    "malicious_activity": false,
    "malicious_activity_recent": false,
    "credentials_leaked": false,
    "credentials_leaked_recent": false,
    "data_breach": false,
    "first_seen": "never",
    "last_seen": "never",
    "domain_exists": true,
    "domain_reputation": "low",
    "new_domain": false,
    "days_since_domain_creation": 1498,
    "suspicious_tld": false,
    "spam": false,
    "free_provider": false,
    "disposable": false,
    "deliverable": true,
    "accept_all": false,
    "valid_mx": true,
    "primary_mx": "aspmx.l.google.com",
    "spoofable": true,
    "spf_strict": true,
    "dmarc_enforced": false,
    "profiles": [
      "gravatar"
    ]
  }

How to pass API key in nodejs

Hi - trying to pass my API Key to deal with rate limiting issue and it doesn't seem to be having any effect (tried with a brand new API key and still got the rate limiting msg).

Following your nodejs code sample in the docs, here's what I'm trying:

const sdk = require("api")("@sublimesecurity/v0.3#49y4gl02wflaz");
sdk.server("https://emailrep.io");

sdk
  .auth(MY_API_KEY) //doesn't seem to change rate limiting, is this working?
  .get(`/${email}`)

API only behaves correctly when UA string contains "curl"

In Windows PowerShell, curl is an alias for the Invoke-WebRequest cmdlet, so when you execute:

Invoke-WebRequest https://emailrep.io/[email protected]

... you get the full html of the web page in the response body. Changing the UserAgent string to anything with the substring curl makes it return the raw JSON:

Invoke-WebRequest https://emailrep.io/[email protected] -UserAgent not_curl |ConvertFrom-Json
# Works as expected

This is probably by design, but please consider either adding an optional query param (?api=1 or whatever) to specify that output should be pure JSON, or at least document in the README that the user is expected to supply a user string containing curl :)

Link to terms is broken

Hello!

On the page https://emailrep.io/key, this element links to a 404 page.

<a href="https://sublimesecurity.com/terms.html" target="_blank">Terms of Use.</a>

It should probably link to https://sublime.security/terms/ instead

Daily limit issue on 1000/20$ package

Dear EmailRep Team,
I want to confirm if the daily limit also applied on 1000/20$ package too? I am facing a response of too many submission on UI and daily limit exceed in response.
Further, how to get information of usage of my paid api key. Thanks

How exactly is deliverability checked?

In my mail server I have deliverable: false, but otherwise everything looks good. I think this may be closely related to #2, and the cause may be the same exact timeout.

How do I generate an API key?

In my tests I am hitting timeouts, I'd like to use an API key to have higher quota. Is this possible? Your docs mention an API key but don't specify how to generate one.

https://emailrep.io/[email protected]

{
"email": "[email protected]",
"reputation": "medium",
"suspicious": false,
"references": 1,
"details": {
"blacklisted": false,
"malicious_activity": false,
"malicious_activity_recent": false,
"credentials_leaked": true,
"credentials_leaked_recent": false,
"data_breach": true,
"first_seen": "01/07/2019",
"last_seen": "01/07/2019",
"domain_exists": true,
"domain_reputation": "n/a",
"new_domain": false,
"days_since_domain_creation": 9620,
"suspicious_tld": false,
"spam": false,
"free_provider": true,
"disposable": false,
"deliverable": true,
"accept_all": true,
"valid_mx": true,
"primary_mx": "mxs.mail.ru",
"spoofable": false,
"spf_strict": true,
"dmarc_enforced": true,
"profiles": []
}
}

API is showing "valid_mx": false

I just checked multiple self-hosted emailaddresses. All of these show "valid_mx": false, but I don't understand why.

https://emailrep.io/[email protected]

curl emailrep.io/[email protected]
{
    "email": "[email protected]",
    "reputation": "low",
    "suspicious": true,
    "references": 2,
    "details": {
        "blacklisted": false,
        "malicious_activity": false,
        "malicious_activity_recent": false,
        "credentials_leaked": false,
        "credentials_leaked_recent": false,
        "data_breach": false,
        "last_seen": "never",
        "domain_exists": true,
        "domain_reputation": "low",
        "new_domain": false,
        "days_since_domain_creation": 773,
        "suspicious_tld": false,
        "spam": false,
        "free_provider": false,
        "disposable": false,
        "deliverable": false,
        "accept_all": false,
        "valid_mx": false,
        "spoofable": false,
        "spf_strict": true,
        "dmarc_enforced": true,
        "profiles": [
            "spotify",
            "twitter"
        ]
    }
}

The Domain is using DNSSEC with RSASHA256, properly configured (see https://dnssec-debugger.verisignlabs.com/keigel2001.net or http://dnsviz.net/d/keigel2001.net/dnssec/)
But also other domains without DNSSEC have the same problem.

A check at mxtoolbox said everything is ok.

Querying google-dns:

dig keigel2001.net MX +short @8.8.8.8
10 megan.keigel2001.net.
20 zooey.keigel2001.net.

Same output for cloudflare-dns and every nameserver delegated to the domain.

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.