GitXplorerGitXplorer
a

mcdetect

public
58 stars
5 forks
8 issues

Commits

List of commits on branch master.
Unverified
d76002cbb1e36add7b697921196e6273979eff6d

Fix executable name in help output

aagis committed 7 years ago
Unverified
4821288b1a758179a850101fd260370044fcd62d

Bump to 1.0.3

aagis committed 7 years ago
Unverified
bbdea041535595ad21b2f7cb2a9a1f0b6b3dc60b

Update CLI help output

aagis committed 7 years ago
Unverified
c946814523e7ec92752f2a6b785783c44d2f5969

Update README.md

aagis committed 7 years ago
Unverified
9ee3c47fc61319210ba07e89eeff86eed5c36eb5

Bump to 1.0.2

aagis committed 7 years ago
Unverified
00921376fc63cb11eca42767e6e0d830c96903f6

Update README

aagis committed 7 years ago

README

The README file for this repository.

mcdetect - catch mixed content issues in the wild

NPM version

mcdetect is a tool that detects mixed content issues with certainty.

mcdetect demo

Motivation

Tools used to catch mixed content issues often rely on parsing the DOM to determine if insecure content will be loaded in a specific page. Consequently they may report false negatives since not all such issues can be detected statically.

mcdetect can determine with absolute certainty if any mixed content errors or warnings actually occur on a page. It does this by visiting the pages and evaluating their Javascript like a regular browser would do. In other words, it does not report false negatives.

It does this by leveraging Headless Chrome that shipped with Chrome 59 and the DevTools Protocol.

Requirements

  • Node 7.6.0 or later

Installation

$ npm install -g mcdetect

Usage

Checking a single target page:

$ mcdetect https://example.com https://google.com

Checking multiple targets (if no protocol is specified, it is assumed to be "https://"):

$ mcdetect example.com google.com

Multiple targets can also be given via a config file:

$ cat my_urls.json
{
  "targets": [
    "googlesamples.github.io/web-fundamentals/fundamentals/security/prevent-mixed-content/xmlhttprequest-example.html",
    "googlesamples.github.io/web-fundamentals/fundamentals/security/prevent-mixed-content/passive-mixed-content.html"
  ]
}

$ mcdetect --config my_urls.json

For more usage examples and options see mcdetect --help.

TODO

  • Add scraping mode (with max depth)
  • More output formats (eg. json, csv, pdf)
  • error handling (modes: exit on error, ignore errors, report errors)
  • interactive mode
  • follow redirects
  • read targets from stdin

License

mcdetect is licensed under MIT. See LICENSE.