在数据库中查找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第三方库


热门话题
Javaservlet,使用Quartz发送邮件   用Java编写XYRectangle类   java Docker/AWS ECS容器支持的服务(端点)数量   音频Java读取WAV文件作为浮点数组   java为什么是日历。九月不起作用了?   java连接到HTTPS url并发布到它   java线程动画示例不起作用   java查找HashMap是否包含所选值和返回键   java与后端API的交互   JavaFX启动时在JavaFX中执行应用程序启动异常   每T秒从Java运行一次MATLAB   java@Array(长度=?)怎么样OpenHFT中的注释/使用的值   java无法从InputStream读取多个可外部化的对象   java My RestController不返回对象的所有属性   java使Android XML阅读器只读取XML文件的一部分   java注释会影响编译时吗?   从Java到C#的迭代器方法与接口的等效性,然后在类上实现?   swing为什么Java中的侦听器相互依赖?