欢迎光临
我们一直在努力

seninfo:轻量级Python敏感信息扫描工具,一站式信息泄露检测神器

在代码审计、文档审查、企业安全合规检查的日常工作中,敏感信息泄露是最常见也最容易被忽视的安全风险。身份证号、手机号、密码、银行卡等敏感数据如果硬编码在代码、日志、配置文件中,会带来极大的数据安全隐患。

面对海量文件,手动排查效率极低且易遗漏,今天给大家推荐一款纯Python开发、自带GUI图形界面、开箱即用的敏感信息扫描工具——seninfo。它依托正则表达式实现精准匹配,支持文件夹递归扫描、压缩包解析,还能将扫描结果导出为专业Excel报表,零基础也能快速上手。


一、工具核心概述

seninfo 是一款专注于敏感信息检测的轻量级安全工具,全程使用Python开发,无需复杂环境配置,通过图形化界面即可完成所有操作。

工具核心定位:无侵入、纯文本模式匹配、快速扫描,不做语义分析,仅通过正则表达式匹配文本中的敏感特征,兼顾易用性与实用性。

项目提供两套独立GUI实现版本,功能互补,满足不同使用场景:

  • 主版本 seninfo.py:功能完整,支持多规则自定义选择、文件夹扫描、输出路径配置;

  • 简化版 xlwt/seninfo.py:轻量化,专注单文件/ZIP扫描,操作更简洁。


  • 二、四大核心能力,覆盖全场景检测需求

    1. 纯正则敏感信息匹配

    工具内置6类高频敏感信息检测规则,全部基于正则表达式实现,匹配速度快、准确率高,支持的类型如下:

    敏感信息类型

    正则表达式

    规则说明

    身份证号码

    \\b\\d{15,18}\\b

    支持15位/18位身份证

    中国大陆手机号

    \\b1[3-9]\\d{9}\\b

    匹配标准11位手机号

    邮箱地址

    \\b\\w+@[a-zA-Z_]+?.[a-zA-Z]{2,3}\\b

    通用邮箱格式匹配

    IP地址

    \\b\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}\\b

    IPv4地址匹配

    密码字段

    \\b\\w*(password|passwd|pwd|root|test|123456|admin)\\w*\\b

    覆盖常见密码关键词、弱口令

    银行卡号

    \\d{16}|\\d{19}

    支持16位/19位银行卡号

    备注:工具仅做文本模式匹配,不验证信息的真实有效性。

    2. 多类型文件全面支持

    seninfo 不局限于单一文本文件,覆盖文本文件、压缩文件、文件夹递归扫描三大场景:

    • 文本文件:支持UTF-8编码的所有文本格式,如.txt/.log/.py/.java/.json/.conf等,日志文件专项支持,可扫描系统/应用日志中的敏感信息;

    • 压缩文件:完整支持ZIP压缩包扫描,RAR格式预留接口可扩展;

    • 二进制文件:自动尝试UTF-8读取,读取失败则自动跳过,不影响扫描流程。

    3. 灵活可定制的规则系统

    工具的规则扩展性极强,满足个性化检测需求:

    • 规则开关:主版本GUI提供多选框,可自由勾选需要启用的规则;

    • 规则扩展:规则存储在代码rules数组中,格式标准化,直接添加正则即可新增检测类型:

      { "regex": r'自定义正则表达式', "description": "规则描述", }

      • 当前限制:需修改源码添加规则,暂不支持界面化编辑、动态加载规则文件。

      4. 专业Excel结果导出

      扫描完成后,支持将结果一键导出为.xls格式Excel文件,包含完整溯源信息:

      • 文件路径、行号、匹配到的敏感内容、规则描述,方便后续定位与整改。


      三、技术架构与依赖

      1. 核心依赖库

      工具基于Python标准库+轻量级第三方库实现,无 heavy 依赖:

      • tkinter:Python内置GUI库,构建可视化界面;

      • xlwt:Excel文件生成与写入;

      • re:正则表达式核心匹配;

      • os:文件/文件夹遍历操作;

      • zipfile:ZIP压缩包解析。

      2. 分层架构设计

      seninfo 采用四层架构,逻辑清晰、易于维护和二次开发:

      ┌─────────────────────────────────────────────────────────────┐

      │                     seninfo 敏感信息扫描工具                   │

      ├─────────────────────────────────────────────────────────────┤

      │                        用户界面层                           │

      │  ┌─────────────────┐  ┌─────────────────┐                  │

      │  │   主界面版本1    │  │   主界面版本2    │                  │

      │  │  (seninfo.py)   │  │ (xlwt/seninfo.py)│                  │

      │  │                 │  │                 │                  │

      │  │ • 文件夹选择     │  │ • 文件选择       │                  │

      │  │ • 规则多选框     │  │ • 扫描按钮       │                  │

      │  │ • 输出路径选择   │  │ • 导出按钮       │                  │

      │  │ • 扫描按钮       │  │ • 结果显示区     │                  │

      │  └─────────────────┘  └─────────────────┘                  │

      ├─────────────────────────────────────────────────────────────┤

      │                        业务逻辑层                           │

      │  ┌─────────────────┐  ┌─────────────────┐                  │

      │  │   扫描引擎1      │  │   扫描引擎2      │                  │

      │  │                 │  │                 │                  │

      │  │ • 文件夹遍历     │  │ • 文件类型判断   │                  │

      │  │ • 多规则匹配     │  │ • ZIP文件解析    │                  │

      │  │ • 结果收集       │  │ • 正则匹配       │                  │

      │  │ • 错误处理       │  │ • 结果展示       │                  │

      │  └─────────────────┘  └─────────────────┘                  │

      ├─────────────────────────────────────────────────────────────┤

      │                       敏感信息规则库                        │

      │  ┌─────────────────────────────────────────────────────────┐│

      │  │ 规则名称      │ 正则表达式                          │ 描述 ││

      │  │ 身份证号码    │ \\b\\d{15,18}\\b                      │ 身份证││

      │  │ 手机号码      │ \\b1[3-9]\\d{9}\\b                    │ 手机号││

      │  │ 邮箱地址      │ \\b\\w+@[a-zA-Z_]+?.[a-zA-Z]{2,3}\\b │ 邮箱 ││

      │  │ IP地址        │ \\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b│ IP  ││

      │  │ 密码字段      │ \\b\\w*(password|passwd|pwd|root)\\w*\\b│ 密码 ││

      │  │ 银行卡号      │ \\d{16}|\\d{19}                      │ 银行卡││

      │  └─────────────────────────────────────────────────────────┘│

      ├─────────────────────────────────────────────────────────────┤

      │                        数据处理层                           │

      │  ┌─────────────────┐  ┌─────────────────┐                  │

      │  │   文件处理器     │  │   结果处理器     │                  │

      │  │                 │  │                 │                  │

      │  │ • 文本文件读取   │  │ • Excel生成     │                  │

      │  │ • ZIP文件解析    │  │ • 格式化输出     │                  │

      │  │ • 编码处理       │  │ • 文件保存       │                  │

      │  └─────────────────┘  └─────────────────┘                  │

      └─────────────────────────────────────────────────────────────┘


      四、零命令行上手:双版本GUI使用指南

      1.工具下载

      下载路径:https://gitcode.com/open-source-toolkit/3eb48/blob/main/README.md

      2.快速使用

      工具全程可视化操作,无需终端命令基础,两步启动即用:

      (1)主版本(推荐,功能最全)

      适用场景:批量扫描文件夹、自定义规则、指定结果输出路径

      python seninfo.py

      界面功能:

      • 选择扫描文件夹 → 勾选检测规则 → 选择结果保存路径 → 点击扫描即可。

      (2)简化版(轻量化,快速扫描)

      适用场景:单文件/ZIP压缩包快速检测

      pip install xlwt(首次运行,下载依赖)

      python xlwt/seninfo.py

      界面功能:

      • 选择文件/ZIP → 点击扫描 → 实时查看结果 → 导出Excel。


      五、典型应用场景

    • 代码审计:检测项目代码中是否硬编码密码、密钥、手机号等敏感信息;

    • 文档审查:扫描企业文档、报表中的个人隐私信息,避免泄露;

    • 安全巡检:定期扫描服务器日志、配置文件,排查敏感数据泄露风险;

    • 合规审计:满足企业数据合规要求,确保文件无违规敏感数据。


    • 六、工具核心优势

    • 双版本适配:完整版+简化版,满足不同场景需求;

    • 零门槛操作:GUI界面,小白也能快速使用;

    • 批量处理:文件夹递归扫描+ZIP解析,高效处理海量文件;

    • 易扩展:正则规则标准化,一键新增检测类型;

    • 可溯源报告:Excel导出完整信息,方便整改复盘。


    • 七、总结

      seninfo 是一款小而美的敏感信息扫描工具,没有复杂的配置和依赖,凭借纯正则匹配、可视化GUI、多文件支持、Excel导出四大核心能力,完美适配个人开发者、企业安全人员的日常敏感信息排查工作。

      无论是代码审计、日志分析,还是合规检查,它都能快速帮你定位敏感信息风险,是数据安全防护的轻量化利器。如果你需要一款简单高效的敏感信息扫描工具,seninfo绝对是你的不二之选!

      赞(0)
      未经允许不得转载:171主机测评 » seninfo:轻量级Python敏感信息扫描工具,一站式信息泄露检测神器
      分享到: 更多 (0)

      评论 抢沙发

      • 昵称 (必填)
      • 邮箱 (必填)
      • 网址