自作キーボードキットと派生品のセキュリティについて

前回の記事では、自作キーボードキットを選ぶ際の注意点や、信頼できる販売者を見極める視点を整理しました。続編にあたる今回は、Geminiなどを通じて、過去の事例など脅威分析のリサーチをした結果なども踏まえつつまとめました。

自作・派生キーボードと大手メーカー製キーボード、その両者でなぜ根本的にリスク構造が異なるのか、誰がどこで検証しなければならないのか(可能なのか？)、そして今どこに最も注意を払うべきか？をセキュリティ面から掘り下げます。

入力デバイスが抱える「信頼境界」の違い

大手メーカー製のキーボードは、製造からファームウェア更新までが単一の管理下に置かれ、ユーザーはそのブランドの保証を信任して利用します。一方、自作キーボードやAliExpress等で流通する派生品は、PCB設計者、基板製造者、マイコン供給者、ファームウェア作者、販売者、組み立てるユーザー本人と、信頼の境界が極端に分散しています。結果として、どこで改ざんや不正が入り込むかをユーザー側が逐一検証しなければならない状況が生まれています。

この構造的な違いが、次のような具体的リスクにつながります。

1. プリインストール済みファームウェアの危険性

出所不明のバイナリとBadUSB化のリスク

「VIA対応」「QMK互換」を謳う完成品でも、出荷時に書き込まれているのは公式リポジトリとは無関係な独自に開発されたバイナリであるケースが多いです。

RP2040など大容量フラッシュを備えたマイコンが普及したことで、数百KBの正規ファームウェアに加えて、キー入力の記録・送信、トリガー付きのコマンド実行といった、本来不要な悪意のある処理を同じチップ内に仕込める余地が広がりました。

BadUSBは「キーボードが勝手にコマンドを打ち込む」攻撃です。特定の文字列や日時をトリガーに、PowerShellやターミナルを開かせてマルウェアを投入するといった動作を技術的には容易に可能な状況になっています。

ハードウェア・トロイの木馬

見た目では判別できない追加MCUをPCBに仕込み、メインMCUとは別経路でキー入力を吸い上げる手口も想定されます。大型部品やチップの下にさらに薄いチップを構成する回路で設計・装填するだけで成立するため、外観だけでは気付きにくく、コスト自体も通常とほとんど変わりません。

偽造マイコンが正規品と同じ外観で流通し、内部に攻撃ロジックを抱えたまま出荷される懸念も現実的です。量産向けのクローンチップなら、製造段階で勝手なROMを書き込むことも技術的に可能です。

抑止策： PCへ接続する前に必ずブートローダーモードに入り、公式QMKやZMKなど信頼できるソースから取得したファームウェアを自分で即時にフラッシュします。マイコン自体はMouser、Digi-Keyなどの正規代理店で調達し、半田付け済み完成品を避けるのが安全です。設計者側は、ハッシュ値付きの公式バイナリを提供し、出荷前の署名やチェックスム照合手順を明示すると、利用者の不安を一段階下げられます。

2. ビルドプロセスとサプライチェーンの落とし穴

GitHub Actions任せの盲点

ZMKを中心に、クラウドCI（GitHub Actions）でビルドする運用が一般化していますが、これは「プリインストール版を信用しない」代わりに「GitHub上のワークフローを全面的に信じる(悪意のあるコードを受け入れ、手持ちのデバイスから送る個人情報などをオンライン上に晒してしまうことを可能にしている)」選択になります。

XZ Utilsバックドア事件のように、信頼していたメンテナーのアカウントが乗っ取られ、公式リポジトリに悪意あるコードが混入した事例もあります。uses: ...@main のように最新版をそのまま呼び出す設定だと、侵害に気づかないまま危険なバージョンを拾ってしまいます。

さらに、便利だからと第三者が作ったActionを追加すると、そのActionが改ざんされた時点で、その後、利用した自分の生成物にも不正コードが混入します。

追記：GitHub Actionsを活用した権限奪取と、境界防御の無効化

ビルド時の情報漏洩

キーマップにマクロとしてパスワードやAPIキーを平文でハードコードし、そのままGitHubに公開する利用者が後を絶ちません。

プライベートリポジトリでも、ビルドログや中間生成物に機密文字列が露出する恐れがあります。GitHubはログ内のシークレットを自動で***に置き換えてくれますが、コマンドの出力形式によってはそのフィルタを抜けてしまう例が報告されています。

公式ドキュメントに用意された「Secretsを安全に.keymapへ流し込む手順」はまだ整備されていないため、多くの人が面倒を避けて値をファイルへ直書きしがちです。この状態が、危険でも手軽な方法を選んでしまう背景になっています。

抑止策： 可能な限りローカル環境を整え、依存ライブラリも含めて自分で検証しながらビルドします。やむを得ずクラウドCIを使う場合は、必ずバージョン固定（タグやコミットハッシュ）を行い、Secretsからマクロへ値を注入する場合は自分でカスタムスクリプトを用意してログに出力しない設計にします。秘密情報はそもそもキーマップに書かない運用に切り替えます。

3. ファームウェア機能が抱える落とし穴

VIAとVialの差

VIAは仕様上、USB経由で現在のキー押下状態を認証なしで読み出せます。悪意あるプログラムがホスト側にあれば、それだけでリアルタイムなキーロガーになります。

Vialはこの問題を認識し、すべての危険コマンドをロックモードで封じ、物理操作によるアンロックを必要とするゼロトラスト設計を導入しています。

VialやRemapのWeb版は、ブラウザとキーボードを直接つなぐWebHID APIを利用します。公式サイトや依存JSが侵害されれば、そのままファームウェア書き換えの足場になります。

ブラウザは安全のためにキーボードへのWebHIDアクセスを原則ブロックします。ただ、Vialなどの正規サイトに接続すると「このサイトにキーボードへのアクセスを許可しますか？」というダイアログが出て、ユーザーが許可するとロックが外れます。サイトが改ざんされた状態で許可してしまうと、その瞬間に防御が崩れます。

抑止策： 基本はVialを選択し、設定はできる限りローカルアプリ版で実行します。WebHIDを使う場合でも、アクセスするサイトの正当性を逐一確認し、必要時以外はキーボードをロックしたままにします。自分が運営する設定サイトを提供する設計者は、Content Security Policyやサプライチェーン監査を導入し、WebHIDを扱うページは最小限に限定します。

4. ワイヤレス通信で生じる二種類のリスク

ZMKはBLE 4.2以上のセキュアコネクションを強制し通信中の傍受は困難ですが、初回ペアリングでNumeric Comparison（両側に同じ数字を表示して照合する仕組み）がまだ標準化されていません。

カフェや共用オフィス、空港など、不特定多数が出入りする場所でのペアリングは避けるべきで、Flipper ZeroのようなRFツールを持つ攻撃者が近くにいれば、中継役として割り込み、入力内容の閲覧や任意のコマンドの入力、ファームウェアの強制書き換えを実行してしまう可能性があります。

安価な独自ドングル型は暗号化が実装されていないか、XORレベルの簡易処理に留まる事例が多数報告されています。MouseJackやKeySnifferに代表される既知攻撃に無防備です。

いくつかの市販キーボードでは「AES-128を採用」と宣伝されていても、実際は固定の鍵でXORしているだけだった、という検証結果が出ています。暗号を名乗っていても内容まで検証しないとその真意はわからないため危険です。

抑止策： ZMKデバイスは自宅など制御された環境でのみペアリングし、業務用途では有線運用を基本にします。2.4GHz独自方式は使用せず、どうしてもワイヤレスが必要なら暗号仕様が公開され実績のある大手製品に限定します。

5. サポート名目のソーシャルエンジニアリング

LINE登録や個人証明書類の提出を条件にサポートを案内する販売者が増えています。Keychronのような大手が身分証とクレジットカード写真の送付を要求した例もあり、ユーザー側の警戒心を麻痺させます。

「LINEアカウント＋本人確認書類の写真＋クレジットカード番号（表裏）」という組み合わせを渡すと、攻撃者はそのままLINEのなりすましメッセージでワンタイムパスの受け渡しを強要したり、カード会社や通販サイトへ電話をかけて本人になりすまし、住所や購入履歴、追加の支払い情報を引き出せます。

そもそもBASEやShopify、STORESなどの決済画面では販売者側にカード番号は共有されません。「念のため確認したいので番号を教えてください」とサポート経由で求めてくる行為自体が、悪意のある情報収集だと判断すべきです。身分証に記載された住所とカード番号がセットで漏れれば、各種決済サービスへの不正登録も可能になります。

サポートを装った情報収集は、アカウント乗っ取りやフィッシングに直結します。

抑止策： サポートのためにID画像やカード情報を要求するベンダーとは取引を中止します。コミュニティでも同様の行為を見かけたら共有し、危険性を可視化します。設計者や販売者は、問い合わせチャンネルに暗号化メールやチケットシステムを整備し、個人情報を要求しないことを方針として明示しておきます。不審な要求を受け取った場合は、カード会社への連絡に加え、最寄りの警察署（サイバー犯罪相談窓口）やIPA（情報処理推進機構）の相談窓口にも報告し、指示された場合はやり取りの証拠を保全します。

役割別に整理する検証ポイント

設計・製造する人へ

公式アーティファクトの整備： ビルド済みバイナリにはハッシュ値と署名を付け、リポジトリではタグごとの再現手順を公開します。利用者に「公式と同一である」確認手段を提示することが重要です。

部品の出所透明化： BOMに正規代理店の型番リンクを添え、製造ロットごとの検査方法（例：マイコンのUID確認、基板外観検査のチェックリスト）を公開します。

安全な設定ツール： WebHIDを提供する場合は、最小権限で動作する専用ドメインを用意し、依存ライブラリをロックします。ブラウザでのアクセス時にはリスク説明とローカルアプリ版の案内を併記します。

クラウドCIの透明性： ZMKなどクラウドCIを活用する場合は、ワークフローファイルを公開し、どのリポジトリからどのバージョンを取得し、どのスクリプトを実行しているのかをドキュメント化します。生成物に付与するハッシュ値と共に「このジョブが行った処理」を説明し、利用者がクラウドビルドを信用する根拠を提供します。また、可能であればローカルで同じ処理を再現できる手順も併記します。

組み立てて使う人へ

信頼できる調達ルートの固定： PCBとマイコンは別ルートで購入し、組み立て前にテスターで基板のショートチェックを行います。必要に応じてマイコンのブートローダを読み出し、想定サイズか確認します。

初期フラッシュと保全： 組み立て後は即座に自分でビルドしたファームウェアをフラッシュし、書き込み用の環境（JSTピンヘッダやデバッグパッド）を塞がずに残しておくと検証が容易です。

クラウドCI利用時の警戒： ZMKのGitHub Actionsなど、Web上でフラッシュ用ファームウェアを生成する場合は、ワークフローが信用できるリポジトリと固定バージョンを参照しているか確認します。生成されたファームウェアのハッシュ値を記録し、第三者が提示したバイナリと突き合わせる習慣を持つと安全性が高まります。

書き込みツールが求める情報を精査： ブラウザ上で利用するファームウェア書き込みツールやサードパーティ製のソフトは、設定ファイルやキー配列、マクロの内容をアップロードさせることがあります。入力を求められた情報にパスワードや個人情報が含まれていないか確認し、必要最低限のデータだけを渡します。送信が必要な場合でも、暗号化通信（HTTPS）であること、利用規約にデータの扱いが明記されていることを確認します。

無線利用時の儀式化： ペアリングは自宅で行い、再ペアリングが必要になったら同じ手順に戻すことをルール化します。業務端末では有線運用に切り替え、ワイヤレスは趣味用途に限定します。

完成品を購入してファームウェアに興味を持つ人へ

即時バックアップ： 付属ファームウェアを信用する前に、可能であればISP/JTAG経由でバックアップを取得し、差分比較の材料を残しておきます。

コミュニティでの事例収集： RedditやDiscordで同型番の事例を検索し、既に報告されている挙動や不具合を把握します。不明点があれば販売者に具体的な技術的質問を投げ、回答品質で信頼性を測ります。

VialやZMKへの移行計画： 既製品でも、より透明性の高いVial対応ファームウェアやオープンなZMKへ移行できるか検討し、移行時はブートローダーモードの入り方や解除不可に備えた復旧手順を事前に確認します。

オンライン書き込みの慎重運用： ベンダー提供のWeb版ファームウェア書き込みツールやクラウドビルド済みバイナリを使う場合は、提供元の信頼性、更新履歴、コミュニティでの検証結果を確認してから導入します。可能であればオフライン環境で一度バイナリを解析し、ハッシュ値を記録した上で実機に書き込むと安心です。

ユーザーから送信されるデータの確認： オンラインの書き込みツールは、ファームウェアの設定を完了する目的でキーマップやマクロ、時にはアドレス帳のような追加情報をアップロードさせることがあります。どのデータがサーバーへ送られるのかを事前に確認し、送信後の削除ポリシーや保存期限が提示されていなければ利用を控えます。送信が必須の場合でも、暗号化された通信経路と透明なプライバシーポリシーを持つサービスを選びます。

安全に楽しむための実践ガイド

即時フラッシュの徹底
新品や完成品をPCに挿す前にブートローダーを起動し、クラウドCIで生成したバイナリも含めて、信頼できるソースから取得したファームウェアを書き込みます。書き込む前後でハッシュ値を記録し、同じバージョンを再利用できる状態にしておきます。

ハードウェアの調達経路を固定
PCBは信頼できる設計者から、マイコンや部品は正規代理店から購入し、半田付け済み完成品を避けます。

ローカルビルドとバージョン固定
自分の環境でビルドできる体制を用意し、クラウドCIを使う場合はタグ固定を厳守します。ワークフローの内容を自分でも読めるようにしておき、バージョン管理されたログとハッシュ値を残します。

Vialを基準にした設定運用
WebHIDは例外対応とし、ローカルアプリとロックモードを標準にします。ブラウザ経由でアクセスする場合は必ず公式サイトのドメインと証明書を確認し、設定後はロックを戻します。

ワイヤレスは使いどころを限定
業務や高い機密性が求められる場面では有線運用を基本にし、どうしても無線を使うなら暗号仕様が明示されたデバイスに絞ります。ZMKデバイスは自宅など制御された場所でペアリングし、再ペアリング時も同じ手順に従います。

サポート依頼時の情報拡散を拒否
LINEや個人情報提出を条件にする販売者には応じず、必要なら別の販売経路を選びます。設計者側は、暗号化された問い合わせ窓口やFAQを整備し、ユーザーが危険なチャネルを使わなくて済む状態を作ります。不審な要求を受けた場合はカード会社への連絡に加え、警察やIPAへ相談し、指示に従って証拠を残します。

6. 地政学リスクと「技術ポテンシャル」の可視化

2024年末から強化された中国の「デュアルユース（軍民両用）品目」に対する輸出管理規制 と、2017年施行の国家情報法 を組み合わせると、安価なPCB製造・3Dプリントサービスの利用には、単なる個人情報流出とは異なる次元のリスクが浮上します。

「顧客リスト」ではなく「能力者リスト」としての価値

中国国内の企業は、法律上、国家の諜報活動に協力する義務を負っています。これにより、当局は製造メーカーが持つ顧客データベースへ合法的にアクセス可能です。

ここで重要なのは、流出するのが「住所とクレジットカード番号」だけではないという点です。 当局は、製造メーカーが持つ発注データと、ネット上から取得した公開情報（SNS、LinkedIn、論文データベース等）を「名寄せ（Identity Resolution）」すると考えるのが妥当です。氏名、メールアドレス、電話番号をキーにして複数の情報を統合することで、「どのような回路図を」「どの頻度で」「どのパーツと組み合わせて」発注しているかという技術データと、「その人物がどの企業に勤めているか」「どのような機密にアクセス可能か」という属性データが紐づけられます。

つまり、たった一枚の基板発注が、発注者が「防衛・軍事転用可能な技術を持っているか（技術ポテンシャル）」、あるいは「重要組織への侵入経路になり得るか（アクセス権限）」を判定するための、極めて高精度なターゲット選定リストへと変換されてしまいます。

「見えない輸出規制」の対象になる可能性

デュアルユース品目の輸出規制強化 に伴い、これらの「技術ポテンシャル」が高いと判断された個人や中小企業は、将来的に以下のような隠れた制裁の対象となるリスクがあります。

サプライチェーンの遮断: 特定の技術要件を含む基板の発注が、理由不明のまま税関で止められる、あるいは製造を拒否される。

マイクロ・ターゲティング: 趣味でドローン制御や無線通信を研究している個人が、当局のデータベース上で「要注意技術者（または獲得目標）」としてマークされ、物理的なハードウェア・トロイ（バックドア）の埋め込み対象として選別される。

抑止策： 可能であれば、業務レベルの試作や、機微な技術（無線、暗号、制御系）を含む基板発注においては、コストが増大しても国内または「ファイブ・アイズ」圏内の信頼できる製造業者を利用し、サプライチェーンを物理的に分断することを強く推奨します。「安さ」は、自身の技術情報を他国のインテリジェンス機関へ提供する対価であることを認識する必要があります。

まとめ

自作キーボードは、設計からファームウェア、運用までを自分の手でコントロールできる自由がありますが、その自由は同時に利用者自身による「検証責任」を伴います。大手メーカー製の周辺機器に求められる信頼性がサプライチェーン全体で担保されているのに対し、自作・派生品の世界では、クラウドCIのビルド結果やWebHID経由の設定ツール、無線ペアリングのタイミング、サポートチャネルに至るまで、信頼と脆弱・不審の境界が存在している状況になっています。

今回紹介したリスクはすべて現実に観測されている事象に基づくものであり、特定の販売者やプラットフォームに限定されません。即時フラッシュやバージョン固定、ハッシュ記録、Vialによるロック運用、ワイヤレスの制限、そして不審な要求への通報といった防衛策を組み合わせることで、自分の用途とリスク許容度に応じた安全性と対策を行うことができます。引き続き、自分の環境を自分で守る姿勢を軸に、透明性の高い情報を集め、自由度と安全性のバランスを取りながら、自作キーボード、派生品の利用については、楽しさや使いやすさとともに、ファームウェアなどを介して別の意図を持って利用しようとするものがいることを理解して使うよう心がけていただけると幸いです。

【続編】自作キーボードキットと派生品のセキュリティについて：見えない「意図」とサプライチェーン攻撃の進化