Bad Apple but Traceroute です

2026/07/28 0:48

Bad Apple but Traceroute です

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

このプロジェクトは、Bad Appleのカバーにインスピレーションを得た「traceroute」アニメーションを演示しており、nftablesの

postrouting
チェーンにおける
numgen
を利用して各ホップごとに偽のIPv6アドレスを注入し、sysctlによるデフォルトのICMPv6レート制限を無効化しています。表示の clutter を防ぐため、標準の mtr ツールは
ui/net.c
i = 0
を設定するパッチが適用され、軽量版である
mtr2
に置き換えられています。視覚出力は ffmpeg を用いて8フレーム/秒でリサンプリングされ、30×11ピクセルにスケーリングされた後、シャドウアートスタイルの表示に変換されます。Python スクリプトにより生成されたPNGシーケンスが、マルチメガバイト規模の nftables ルールセットに変換されます。シャドウアートは1ビット/ピクセルディスプレイ(文字LCDを含む)上で描画可能であり、このビデオは最小限のハードウェアでも表示できます。本作品は、偽のネットワークホップに関する以前の実験を基盤とし、実行中のDoomをコード実行のベンチマークとして用いながら、Bad Appleシーケンスをハックされたディスプレイデバイスのベンチマークとして提示しています。専用のサブreddit では此类のハックのショーケースが公開されており、著者はHD47780互換のLCDへのハッキングに対して特に興味があると強調しています。全体として、このプロジェクトは複雑なネットワークデータが制約されたハードウェア上で永続的な視覚アーティファクトへと変換可能であることを証明し、これらの特定のパライアール構成に遭遇した際に誤検知を回避するようセキュリティツールに課題を投げかけています。

本文

Tra 工具と Bad Apple!! で「ハッキングされたディスプレイ」体験を作ろう

前回の投稿(Tra 工具を使って任意のコンテンツを表示する方法)に続くシリーズです。先日公開された別の「Bad Apple!!」のカバー作品に触発され、どうしても試さねばなりませんでした。もちろんこの手法を実行したのは私だけではありませんが、私のやる気を削ぐことはありませんでした

仕組みと準備

Tra ツールの出力に偽のホップ(Hop)情報を挿入し、

nftables
numgen
フィーチャを活用することで、ICMPv6 パケット生成時にホップ情報を変化させます。

  • numgen
    はランダム数値か、単調増加カウンターを提供します。
  • カウンターを使用すれば、応答パケットごとに異なる IPv6 アドレスをホップとして返すように容易に設定できます。

nftables ルール設定

前回のプレイグラウンドを以下のように利用し、ルールを設定します。

ip netns exec tracemess nft -f - <<EOF
destroy table inet tracemess

table inet tracemess {
    chain prerouting {
        type filter hook prerouting priority raw;
        ip6 daddr fd00::1 ip6 hoplimit 1 reject with icmpv6 admin-prohibited;
    }

    chain postrouting {
        type filter hook postrouting priority raw;
        icmpv6 type destination-unreachable icmpv6 code admin-prohibited \
            ip6 saddr fd00::1 @th,120,8 1 \
            ip6 saddr set numgen inc mod 3 map { 0: fd00::2, 1: fd00::3, 2: fd00::4 } \
            icmpv6 type set 3 icmpv6 code set 0 accept;
    }
}
EOF

必須の環境調整

この仕組みを動作させるには、以下の 2 つの点で調整が必要です。

  1. ICMPv6 のレート制限無効化

    • カーネル内のデフォルト設定では送信レートが「1 パケット/秒」に制限されています。
    • イベントが非常に短時間で終了するため、以下のコマンドで制限を解除する必要があります。
    sysctl net.ipv6.icmp.ratelimit=0
    
  2. mtr の複数アドレス表示問題の解決

    • mtr は通常、各ホップに対して複数のアドレスを表示してしまいます(これは複数のパケット経路が使用されていることを示しますが、今回のケースでは煩雑です)。
    • この問題を解決するには、
      mtr2
      に以下の 1 行の.patch を適用
      する必要があります。
    diff --git a/ui/net.c b/ui/net.c
    index c0cbf28..7c52710 10064
    --- a/ui/net.c
    +++ b/ui/net.c
    @@ -266,6 +266,7 @@ static void net_process_ping(
                    break; /* Found first vacant position */
                }
            }
    +        i = 0;
    
            if (found == 0 && i < MAX_PATH) {
                memcpy(&nh->addrs[i], &addrcopy, sockaddr_addr_size(sourcesockaddr));
    

プロセスフロー

準備が整った後の手順は以下の通りです。

  1. ffmpeg
    を使用して動画を 8 フレーム/秒(間隔 125 ミリ秒)で再サンプリングします。
  2. 画像を縮小し(30×11 ピクセル)、PNG ファイルとして個別に出力します。
  3. これらの PNG ファイルを読み込み、対応する ICMPv6 応答を生成する
    nftables
    ルールセットに変換する Python スクリプト を作成します。
  4. 生成されるルールセットは約 1 メガバイト以上になりますが、その価値は十分にあります。

なぜ?(動機)

シャドウアート風の「Bad Apple!!」ミュージックビデオは、「ハッキングされたディスプレイ(hacked display)」の基準事例として広く認知されています。

  • 定義: 「display」という言葉の定義はやや緩やかですが、1993 年の『Doom』が新たなハードウェアでコード実行を獲得したことに指標となるようにです。
  • 特徴: シャドウアートのスタイルゆえに、ピクセル当たりビット数だけ(オン/オフのみ)のディスプレイでも動画を描画可能です。

個人的な動機

Bad Apple!! をどのようなデバイスに表示させるかを紹介するサブレディットにも投稿が寄せられています。

  • お気に入り事例: HD47780 互換のキャラクター型 LCDに Bad Apple!! を表示させるハックです。
  • 理由: 私もこうした小型デバイスのハッキングを特に楽しむためです。

さらに、複数のバージョンを並べたまとめ動画も多数存在します。こうした背景を考慮すると……私は仕方なかったのでしょうか?

同じ日のほかのニュース

一覧に戻る →

2026/07/31 2:04

この TV ストックを買う前に読んでください

## Japanese Translation: Bitsight のセキュリティ研究者ペドロ・ファレ(Pedro Falé)が、汎用的な H96 ストリーミングデバイスが秘密裏に自身を携帯電話(サムスン、ビボ、華為(Huawei)、シャオミなど)として偽装し、中国の Fengwo グループ(浙江省 Fengwo IoT Technology Ltd.)が運営する AI 生成ウェブサイト上で広告をクリックさせることを暴露しました。同グループは、これらのデバイスを広告不正のための captive traffic ソースとし、またテレビに接続した際に IP アドレスを貸し出す住宅プロキシとして利用しています。Bitsight は、かつてテレメトリ用に使用された無効化ドメインを経由して「ホームへ電話」している約 38,000 台のそのようなユニットを追跡しました。影響を受けたすべての H96 デバイスには、Fengwo の名称で登録された特許を通じて特定されるように、同グループによってインストールされた 2 つのプロプライエタリなアプリが存在し、低スキルオペレーターが偽装サイトを作成し不正実行ルーチンを動作させることを可能にする簡易的な視覚的プログラミングツール(Google Blockly ベースの実装)を採用しています。ネットワークの AI 生成コンテンツは金融、医療、教育、ゲーム、音楽、食品などのカテゴリにわたっていますが、広告はそのトラフィックが偽装されたモバイルプロファイルから来ている場合에만提供されます。単一の古いドメインからのテレメトリだけでも、この操業は毎日約 50,000 ドルを発生させており、ファレはそれが代金を含めて考慮されていないため控えめであることを警告しました。また、消費者向け IoT における不正プロキシソフトウェアやボットネットについて FBI が警告しているにもかかわらず、Amazon、ベストバイ、Newegg などの主要小売業者は依然として、これら不安全で無印の Android ボックスを販売し続けています。Google は購入者に Play Protect 認証の確認を推奨しており、Synthient は事前にプロキシソフトウェアがプリインストールされた既知の悪意のある IoT デバイスのリストを維持しています。記載されたメールアドレスへの Fengwo グループとの連絡尝试は、受信トレイ容量不足や配信問題のために失敗しました。

2026/07/31 1:26

GitHub に Stacked PR が実装されました

## Japanese Translation: GitHub は、「Stacked Pull Requests」という新機能を導入し、大規模な変更をレビューとマージのために小さな順序付きのレイヤーに分割します。チームは各レイヤーを個別にレビュー・検証でき、個別にマージするか、1 回のクリックですべて準備が整ったレイヤーをまとめてマージできます。このアプローチは、集中したレビューを通じて高いコード品質を維持しつつ、大規模な更新を並列で効率的に進めるように設計されています。既存のブランチ保護設定とシームレスに連携し、GitHub ウェブインターフェース、CLI、モバイルアプリ、Copilot などの AI コーディングエージェント(`gh-stack` スキルを通じて)全体で使用可能です。ユーザーは CLI 拡張機能(`gh extension install github/gh-stack`)をインストールすることで、スタックの作成を 1 分未満で開始できます。現在はすべてのリポジトリで公開プレビュー中であり、自動化されたマージキューへの追加サポートは今後数週間で展開されます。

2026/07/31 0:15

Gemini ロボティクス 2 でロボットに全身知能をもたらす

## Japanese Translation: Google Robotics から、ロボットを複雑な物理的作業と安全な人間の相互作用に適応可能なアシスタントに変容させる画期的な知性層「Gemini Robotics 2」が発表されました。このスイートには、3 つの新しいモデルが含まれています。**Gemini Robotics VLA**は、足先から指先までの完全なヒューマノイドの全身制御を可能にし、**Gemini Robotics ER 2**は身体に埋め込まれた推論を伴う長期的かつ多段階のタスクに対応し、**Gemini Robotics On-Device 2**は最小限のデータを用いて新たな動きを習得でき、Dexmate や SO101 など未慣れなハードウェアにも即座に適応します。システムは、繊細な作業に対応できる特製の 5 本指ハンド(SharpaWave)による高度な巧緻性を示すとともに、複雑な操作には標準の 2 本指グリップサーとも対応しています。多ロボット協調が主要な特徴であり、異なるタイプのロボット同士が通信して単一のユニットでは解決できないワークフローを完了させることができます。安全性は ASIMOV-Agentic など高度なベンチマークを通じて厳格に検証され、安全な近接応答と不安全なツールの呼び出しに対する拒否能力が確保されています。現在、Google AI Studio を通じて早期アクセスパートナーおよびエンタープライズユーザーに利用可能です。これらの革新により、多様な環境において広範な再学習なしに効率的な多ロボットワークフローを実現できます。 ## Text to translate: Google Robotics introduces Gemini Robotics 2, a groundbreaking intelligence layer that transforms robots into adaptable assistants capable of complex physical tasks and safe human interaction. The suite includes three new models: **Gemini Robotics VLA** for whole-body control of full humanoids (feet to fingertips), **Gemini Robotics ER 2** for long, multi-step tasks involving embodied reasoning, and **Gemini Robotics On-Device 2** which allows robots to master new movements using minimal data, adapting instantly to unfamiliar hardware like the Dexmate or SO101. The system demonstrates advanced dexterity through specialized five-fingered hands (SharpaWave) capable of delicate tasks, while also supporting standard two-fingered grippers for complex manipulation. Multi-robot collaboration is a key feature, enabling different robot types to communicate and complete workflows that a single unit cannot solve alone. Safety is rigorously validated via advanced benchmarks like ASIMOV-Agentic, ensuring secure proximity responses and the ability to refuse unsafe tool calls. Currently available to early-access partners and enterprise users via Google AI Studio, these innovations enable efficient multi-robot workflows across diverse environments without extensive retraining.