seninfo:轻量级Python敏感信息扫描工具,一站式信息泄露检测神器
在代码审计、文档审查、企业安全合规检查的日常工作中,敏感信息泄露是最常见也最容易被忽视的安全风险。身份证号、手机号、密码、银行卡等敏感数据如果硬编码在代码、日志、配置文件中,会带来极大的数据安全隐患。
面对海量文件,手动排查效率极低且易遗漏,今天给大家推荐一款纯Python开发、自带GUI图形界面、开箱即用的敏感信息扫描工具——seninfo。它依托正则表达式实现精准匹配,支持文件夹递归扫描、压缩包解析,还能将扫描结果导出为专业Excel报表,零基础也能快速上手。
一、工具核心概述
seninfo 是一款专注于敏感信息检测的轻量级安全工具,全程使用Python开发,无需复杂环境配置,通过图形化界面即可完成所有操作。
工具核心定位:无侵入、纯文本模式匹配、快速扫描,不做语义分析,仅通过正则表达式匹配文本中的敏感特征,兼顾易用性与实用性。
项目提供两套独立GUI实现版本,功能互补,满足不同使用场景:
-
主版本
seninfo.py:功能完整,支持多规则自定义选择、文件夹扫描、输出路径配置; -
简化版
xlwt/seninfo.py:轻量化,专注单文件/ZIP扫描,操作更简洁。
二、四大核心能力,覆盖全场景检测需求
1. 纯正则敏感信息匹配
工具内置6类高频敏感信息检测规则,全部基于正则表达式实现,匹配速度快、准确率高,支持的类型如下:
|
敏感信息类型 |
正则表达式 |
规则说明 |
|---|---|---|
|
身份证号码 |
|
支持15位/18位身份证 |
|
中国大陆手机号 |
|
匹配标准11位手机号 |
|
邮箱地址 |
|
通用邮箱格式匹配 |
|
IP地址 |
|
IPv4地址匹配 |
|
密码字段 |
|
覆盖常见密码关键词、弱口令 |
|
银行卡号 |
|
支持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)