在数据库中查找PII数据

piicatcher的Python项目详细描述


Build Statuscodecov

MySQL的PII Catcher,PostgreSQL&AWS红移

概述

Piicatcher在数据库中查找PII数据。它扫描你的 数据库并查找以下类型的PII信息:

  • 电话
  • 电子邮件
  • 信用卡
  • 地址
  • 个人
  • 位置

Piicatcher使用两种扫描仪来检测PII信息:

  1. CommonRegex使用一组正则表达式 对于常见类型的信息
  2. Spacy Named Entity Recognition 使用自然语言处理来检测命名实体。目前只支持英语。

Piicatcher支持以下数据库:

  1. sqlite3v3.24.0或更高版本
  2. mysql5.6或更高版本
  3. postgresql9.4或更高版本
  4. aws红移

安装

piicatcher可用作命令行应用程序。

要安装,请使用pip:

python3 -m venv .env
source .env/bin/activate
pip install piicatcher

或者克隆回购协议:

git clone https://github.com/vrajat/piicatcher.git
python3 -m venv .env
source .env/bin/activate
python setup.py install

安装Spacy语言模型

python -m spacy download en_core_web_sm 

用法

# Print usage
$ piicatcher -h
usage: piicatcher [-h] -s HOST [-u USER] [-p PASSWORD] [-t {sqlite,mysql}]
                  [-o OUTPUT] [-f {ascii_table}]

optional arguments:
  -h, --help            show this help message and exit
  -s HOST, --host HOST  Hostname of the database. File path if it is SQLite
  -u USER, --user USER  Username to connect database
  -p PASSWORD, --password PASSWORD
                        Password of the user
  -t {sqlite,mysql}, --connection-type {sqlite,mysql}
                        Type of database
  -o OUTPUT, --output OUTPUT
                        File path for report. If not specified, then report is
                        printed to sys.stdout
  -f {ascii_table}, --output-format {ascii_table}
                        Choose output format type

示例

# run piicatcher on a sqlite db and print report to console
piicatcher -c '/db/sqlqb'
╭─────────────┬─────────────┬─────────────┬─────────────╮
│   schema    │    table    │   column    │   has_pii   │
├─────────────┼─────────────┼─────────────┼─────────────┤
│        main │    full_pii │           a │           1 │
│        main │    full_pii │           b │           1 │
│        main │      no_pii │           a │           0 │
│        main │      no_pii │           b │           0 │
│        main │ partial_pii │           a │           1 │
│        main │ partial_pii │           b │           0 │
╰─────────────┴─────────────┴─────────────┴─────────────╯

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ADB设备不显示手机、og droid   java使用存储和保存方法写入属性文件   java为什么要打印这个结果   JavaSpring自动连线和并行流   java如何在Hashmap中存储KStream对象类型的值?   Android中Telugu字符串的java正则表达式?   java平方求幂   Eclipse和Tomcat的java错误   Java数组不继续循环   Jsoup未解析java嵌套html   java Android:如何知道MediaPlayer是否暂停?   跟踪Java POJO类中字段的空值集的最佳方法   java Spring在应用程序属性相对与绝对中配置工作目录?   向固定大小的平面添加随机放置的直线矩形的java方法   JavaEclipse和jasper报告:如何定位log4j。财产?