# 导出服务器信息
server_df = pd.DataFrame([server_info])
server_df.to_excel(writer, sheet_name='服务器信息', index=False)

# 导出访问记录
if access_logs:
access_df = pd.DataFrame(access_logs)
access_df.to_excel(writer, sheet_name='访问记录', index=False)

# 导出数据表和分析结果
for db, tables in db_structure.items():
for table, content in tables.items():
data = content['samples']
columns = content['columns']

df = pd.DataFrame(data, columns=columns)

# 标注敏感字段
sensitive_cols = analysis_result.get('sensitive_fields', {}).get(db, {}).get(table, [])
sensitive_marks = ['敏感字段' if col in sensitive_cols else '' for col in columns]
mark_row = pd.DataFrame([sensitive_marks], columns=columns)
df = pd.concat([mark_row, df], ignore_index=True)

# 写入 Excel
sheet_name = f"{db}_{table}"[:31]
df.to_excel(writer, sheet_name=sheet_name, index=False)

writer.close()
print(f" 数据导出完成:{OUTPUT_FILE}")


# ====== 主流程 ======
def main():
# 连接数据库
conn = connect_db()
if not conn:
return

# 步骤 1:采集数据库信息
db_structure, server_info, access_logs = collect_db_info(conn)

# 步骤 2:利用 OpenAI 分析敏感信息
analysis_result = analyze_with_openai({
"db_structure": db_structure,
"server_info": server_info,
"access_logs": access_logs
})

# 步骤 3:导出数据和分析结果到 Excel
export_to_excel(db_structure, server_info, access_logs, analysis_result)

# 关闭连接
conn.close()
print("\n 整体流程完成!")


if name == "main":
main()


---

这个版本的脚本强化了对中文环境的敏感信息识别能力,尤其是:

字段名分析:能识别拼音、中文、缩写的字段名。

样本数据判断:结合数据内容识别隐私信息。

大模型提示词优化:提升对中文环境的适应性。


如果还有需要优化的地方,随时告诉我!
 
 
Back to Top