需避开icloud加密封装限制,直接导出safari密码为明文csv:一、ios导出加密csv后在可信设备解密并手动重构;二、mac终端用security命令批量提取;三、运行export-safari-passwords脚本自动化生成;四、钥匙串访问应用手动复制整理;五、applescript遍历补全https前缀并导出。

如果您需要将Safari浏览器中保存的密码钥匙串数据导出为标准CSV文件,以便在异地设备或第三方密码管理器中安全复用,则需避开iCloud加密封装限制,直接获取明文结构化字段。以下是实现此目标的具体步骤:
一、通过iOS设置应用导出加密CSV并解密还原
该方法利用系统原生导出功能生成加密CSV,再通过受信任设备解密验证原始字段,最终手动重构为标准明文CSV,确保内容完整且可跨平台导入。
1、在已登录同一Apple ID的iPhone或iPad上,打开“设置”应用,向下滚动并点击“密码”。
2、点击右上角三个点图标,选择“导出密码”,系统将提示安全风险并要求面容ID、触控ID或设备密码验证。
3、验证通过后,系统生成名为“passwords.csv”的加密文件,并弹出共享菜单;请选择隔空投送至Mac或通过邮件发送至可信邮箱。
4、在Mac上接收该文件后,**不可直接打开编辑**;需先在另一台已同步iCloud钥匙串的iOS设备上,进入“设置→密码”,逐条搜索对应网站名称,点击条目后输入设备密码查看明文URL、用户名与密码。
5、新建纯文本文件,按标准CSV格式逐行录入:第一行为url,username,password,后续每行填入解密确认后的三项内容,例如:https://example.com,john_doe,Abc123!@#。
二、使用Mac终端security命令批量提取明文CSV
该方法绕过图形界面限制,直接调用macOS钥匙串底层命令读取互联网密码条目,结合文本处理工具生成严格逗号分隔的明文CSV,适用于本地审计与迁移场景。
1、确保“登录”钥匙串已解锁:打开“钥匙串访问”应用,左侧选中“登录”,若显示锁图标则双击解锁并输入管理员密码。
2、打开“终端”应用,执行以下命令以检查当前钥匙串中是否存在互联网密码条目:security find-internet-password -s "test" 2>/dev/null || echo "至少存在一条互联网密码"。
3、运行结构化导出命令(请复制整行一次性执行):
security find-internet-password -w -s "" -a "" -t "dflt" -l "" -r "http" -j 2>/dev/null | grep -v "keychain:" | awk -F'"' '/\"srvr\"/{srvr=$4}/\"acct\"/{acct=$4}/\"pwd\"/{pwd=$4; if(srvr && acct && pwd) print "\"" srvr "\",\"" acct "\",\"" pwd "\"}' > ~/Desktop/safari_passwords.csv
4、前往桌面打开safari_passwords.csv,确认首行为"domain","username","password",且每行均为三字段双引号包围、逗号分隔格式;若存在缺失字段行,可用sed清理:sed -i '' '/^",",$/d;/^",",",$/d' ~/Desktop/safari_passwords.csv。
三、借助Export-Safari-Passwords开源脚本自动化生成标准CSV
该Python脚本专为macOS设计,直接解析钥匙串数据库文件(login.keychain-db),跳过GUI权限拦截,输出含网址、用户名、密码、备注四字段的标准CSV,支持中文域名与特殊字符转义。
1、在终端中执行安装依赖命令:brew install python && pip3 install pyobjc。
使用 qbo-mileage CLI 及用户凭证,从 Airtable、Outlook 或 Google Calendar 记录生成 QuickBooks Online 里程 CSV 文件。
2、下载脚本源码:curl -o export-safari.py https://raw.githubusercontent.com/ohyicong/export-safari-passwords/main/export-safari.py。
3、赋予执行权限并运行:chmod +x export-safari.py && python3 export-safari.py --output ~/Desktop/safari_export.csv。
4、脚本运行完成后,检查生成文件是否包含表头url,username,password,notes,且无乱码或截断;若提示“Access to keychain denied”,请前往“钥匙串访问→右键‘登录’钥匙串→更改设置→勾选‘锁定钥匙串…’前的复选框”并重新运行。
四、通过钥匙串访问应用手动复制关键凭证构建CSV
该方法适用于仅需导出少量高价值网站凭证的场景,不依赖命令行或外部工具,全程在图形界面中完成,便于核对与校验每条记录的准确性。
1、打开“访达”,进入“应用程序”文件夹,双击运行“钥匙串访问”。
2、左侧边栏选择“iCloud”钥匙串(若启用iCloud同步)或“登录”钥匙串(若仅本地存储),点击上方“密码”类别。
3、在右侧列表中使用顶部搜索框输入目标网站关键词(如“bank”或“apple”),定位具体条目后双击打开详情窗口。
4、勾选“显示密码”,输入管理员密码授权后,密码字段将可见;此时务必分别选中“账户名称”右侧文本、“密码”字段内全部字符、“服务器”字段中完整域名(含https://)。
5、使用Command+C复制三项内容,在TextEdit中粘贴并手动整理为一行CSV格式,例如:"https://login.bank.com","alice_wang","XyZ789$%&";重复操作直至覆盖全部关键条目,最后统一保存为UTF-8编码的.suffix为.csv的文件。
五、使用Applescript辅助导出并自动添加HTTPS前缀校验
该方法通过自动化脚本遍历钥匙串中所有互联网密码条目,强制为缺失协议的域名补全https://前缀,并统一输出为带标题行的标准CSV,避免因URL格式不一致导致第三方工具导入失败。
1、打开“脚本编辑器”应用(位于“应用程序→实用工具”中),新建文档并粘贴以下代码:
set csvContent to "url,username,password" & return
tell application "Keychain Scripting"
set allKeys to every internet keychain item
repeat with aKey in allKeys
try
set theURL to server of aKey
if theURL does not start with "http" then set theURL to "https://" & theURL
set theUser to account of aKey
set thePass to password of aKey
set csvContent to csvContent & quoted form of theURL & "," & quoted form of theUser & "," & quoted form of thePass & return
end try
end repeat
end tell
do shell script "echo " & quoted form of csvContent & " > ~/Desktop/safari_applescript.csv"
2、点击“编译”按钮确保语法无误,然后点击“运行”;系统可能弹出权限请求,请点击“始终允许”。
3、脚本执行完毕后,前往桌面打开safari_applescript.csv,确认每行URL均以https://开头,且用户名与密码字段被英文双引号包裹,无换行符混入字段内部。










