在数据库中查找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快速确定列表是否包含数组中至少一项的方法   java在任何HandlerMapping之前修改HttpServletRequest?   java这个SerialVersionID是通用版本标识符吗?   有没有Java库可以帮助绘制细胞自动机图形?   java如何使用microsoft graph api获取自定义扩展属性   java通过环境变量在Spring Boot中设置日志记录级别   java子类不允许world运行   如何检查Java源代码中是否没有对包的引用   java如何使用数组按字母顺序排列字符串。排序()?   数据结构在Java中,我如何访问在树状图中放置元素的顺序?   java为什么调用系统是不好的做法。gc()?   JavaTomcat删除临时目录和工作目录解决了一个类路径问题,但为什么呢?