Giter Site home page Giter Site logo

is-secret's Introduction

is-secret

A distributed maintained collection of patterns that indicate that something probably is secret.

This is useful if you want to filter sensitive values in a data set.

This module uses a very simple algorithm that will not catch everthing. Use at your own risk.

npm Build status js-standard-style

Installation

npm install is-secret --save

Usage

var isSecret = require('is-secret')

var data = {
  username: 'watson',
  password: 'f8bY2fg8',
  card: '1234 1234 1234 1234' // credit card number
}

Object.keys(data).forEach(function (key) {
  if (isSecret.key(key) ||
      isSecret.value(data[key])) data[key] = '********'
})

console.log(data)
// {
//   username: 'watson',
//   password: '********',
//   card: '********'
// }

If you need functionality similar to what is shown in this example, I suggest you take a look at the redact-secrets module.

API

secret.key(string)

Validates the given string against a list of key names known to typically indicate secret data.

Returns true if the string is considered secret. Otherwise false.

secret.value(string)

Validates the given string against a list of patterns that indicates secret data.

Returns true if the string is considered secret. Otherwise false.

License

MIT

is-secret's People

Contributors

rgrove avatar watson avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

is-secret's Issues

Add pass to list of KEYS

Hi,

Cool module. I'm using it in conjunction with redact-secrets.

The key 'pass' (/^pass$/) is missing from the KEYS. Can you please add it?

Addition of keys to redact SSH key values

In some platforms, registrations require SSH keys instead of passwords; in such cases, they should also be redacted in the same way passwords are.
I have raised a pull request for the same: #8

Usage mistake

isScecret.key() is used to check data value instead of isSecret.value().

- isSecret.key(data[key])) data[key] = '********'
+ isSecret.value(data[key])) data[key] = '********'

suggestion: pull in regexes from git-secrets/git-secrets

the git-secrets tool is evidently pretty popular. their regexes include the following:

  local aws="(AWS|aws|Aws)?_?" quote="(\"|')" connect="\s*(:|=>|=)\s*"
  local opt_quote="${quote}?"
  add_config 'secrets.patterns' '(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'
  add_config 'secrets.patterns' "${opt_quote}${aws}(SECRET|secret|Secret)?_?(ACCESS|access|Access)?_?(KEY|key|Key)${opt_quote}${connect}${opt_quote}[A-Za-z0-9/\+=]{40}${opt_quote}"
  add_config 'secrets.patterns' "${opt_quote}${aws}(ACCOUNT|account|Account)_?(ID|id|Id)?${opt_quote}${connect}${opt_quote}[0-9]{4}\-?[0-9]{4}\-?[0-9]{4}${opt_quote}"

would you consider adding these? I can provide a PR.

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.