2025-01-24

LastPassのCSVエクスポートがカスタムフィールドを出力しないのでCLIで頑張る

LastPassのCSVエクスポート機能はユーザーIDとパスワードしか出力しない

LastPass、情報漏洩やプラン改訂など色々ありましたが惰性でずっと使っていましたが、まあさすがにそろそろどこかに引っ越そうかと。
まずはLastPassに保存してある情報を引き出すことにしました。

手順としては、Webページのサイドメニュー Advanced Options → Export とシンプル。
ただ、この手順でダウンロードできるCSVファイルには、保存した情報のうちユーザーIDとパスワードしか出力されないというのです。それ以外の入力欄に自動入力すべく Add Form Field の機能で登録しておいた値(以下カスタムフィールドと呼びます)は、このCSVに含まれていません。

エクスポート機能が必要な情報を一部しか出力しないというのはちょっと怖すぎます。エクスポートして他のパスワードマネージャーに移行した後は、LastPassに登録してあった情報はふつう削除するわけで。カスタムフィールドがエクスポートされていないことに後で気づいても取り返しがつきません。恐ろしい。
これはもう何としても他に移行しなくては、という気持ちが高まります。

ブラウザ拡張機能のエクスポートが動作しない?

気持ちが高まったところで、カスタムフィールドを出力する手段はあるのでしょうか。
調べてみると、先ほどとは別のエクスポート機能があるとのこと。
なぜそんなややこしいことになっているのか解せませんが、とりあえず試してみます。
先ほどはWeb画面で操作しましたが、今度はブラウザ拡張機能の Account → Fix a problem yourself → Export vault items → Export data for use anywhere と進みます。ところが、何度試しても無反応。ログアウト→ログインしたりしてみますが変わりません。
不具合なのか何なのか分かりませんが、今すぐ他に移行せねばという気持ちが決定的になってきました。

さて、カスタムフィールドのエクスポートは諦めるしかないのでしょうか。
最悪、Vault(保管庫)の中身をサイトごとに1件1件目視していけば確認はできます。が、面倒すぎますし、人力だと見落としそうなので極力避けたく。

さらに調べてみたら、CLI(コマンドラインツール)を使えばカスタムフィールドの出力が可能とのこと。
ちょっと面倒そうですが、仕方ない、頑張ってみますか!

lastpass-cliをインストールする

lastpass-cli(https://github.com/lastpass/lastpass-cli)は、LastPassが公式にサポートするオープンソースのツールです。
なので罠が仕掛けてあって闇の組織にパスワードをごっそり盗まれたり…という心配はそんなにしなくてもよさそう。

インストール方法は上記GitHubのページにそれぞれの環境向けの手順が説明されています。
Debian/Ubuntuであれば以下のような感じ。Windows(WSL)でも大丈夫です。
$ sudo apt-get install lastpass-cli
詳しい使い方はマニュアルにありますが、とりあえずカスタムフィールドを含む全登録情報をごそっと出力するだけなら以下の2コマンド(ログイン→出力)で行けました。

CLIでログイン

まずはログイン。
$ lpass login USERNAME
USERNAMEはご自身のLastPassのユーザー名(メールアドレス)に読み替えてください。
実行するとパスワード入力ダイアログがコンソール内に表示されます。

なお私の場合、初回実行時に下記エラーが出ました。
Error: No such file or directory: mkdir(/home/****/.config/lpass)
.configディレクトリを作ったら解消しました。
$ mkdir .config
$ chmod 700 .config
パーミッションは755のままでもいいのかもしれないですが念のため。

全情報を一括エクスポート

ログインしたら、次のコマンドでVault内の全登録情報を一気に出力できます。
$ lpass show -G . -x
オプションを簡単に説明すると、
【-G】全サイトを対象
--basic-regexp の省略形。正規表現として「.」を指定することで、全サイトにマッチさせます
【-x】複数サイトが対象の場合も情報を表示する
--expand-multi の省略形。デフォルトでは複数サイトがマッチした場合はサイト名しか表示しませんが、このオプションを指定すると情報を表示します
これでカスタムフィールドもエクスポートが完了しました。
テキストコンソールが怖くない人ならlastpass-cliは試してみる価値アリです。