Shai-Hulud サプライチェーン攻撃で Keyv と仲間が侵害された

2026/08/04 20:01

Shai-Hulud サプライチェーン攻撃で Keyv と仲間が侵害された

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

要約

Japanese Translation:

2026 年 8 月 4 日、

keyv
cacheable
のような重要なキャッシュライブラリの背後にいるメンテナの GitHub アカウントが深刻なサイバーセキュリティインシデントにより侵害されました。攻撃者は「GitHub Actions provenance(GitHub Actions の出所証明)」を悪用し、
flat-cache
file-entry-cache
を含む 434 つ以上のパッケージに悪意のあるアップデートを公開しました。これにより累計で 20 億回を超える月間インストール数が影響を受けました。感染したリリースには、Bun ランタイムをサイレントでインストールして認証情報スチーラー(
Math_Symbol.js
)を実行するドロッパー(
setup.mjs
)が含まれていました。このペイロードはローカルファイルシステムを走査し、機密情報(AWS キー、トークン、SSH 設定など)を探出し、暗号化されたバンドルを通じて公開リポジトリやイーサリアムスマートコントラクトで制御されている特定のネットワークエンドポイントにデータを流出させました。この攻撃は VS Code や Claude Code を使用する開発者を標的にし、IDE の設定にフックを注入することで組織内で盗まれたトークンを拡散させる手法を用いました。専門家たちは、Aikido の中央フィードを使用して検知と手動の再スキャンを行うことを推奨しており、攻撃者は主要サーバーがブロックされても作動を継続するためにフェールバック方法を準備していることに注意を呼びかけています。

本文

GitHub サプライチェーン攻撃:keyv 及び関連パッケージ (2026 年 8 月 4 日)

日付: 2026 年 8 月 4 日
深刻度: Critical(スコア 100/100
ステータス: コミュニティ間での拡散が確認済み

エグゼクティブサマリー

  • 2026 年 8 月 4 日、npm 週間ダウンロード数が約 1 億 2,700 万回と多いキャッシュユーティリティ「keyv」のメンテナアカウントが乗っ取られました。
  • 攻撃者はこの権限を悪用し、同系パッケージに認証情報窃取用のワームを注入しました。
  • flat-cache(5.65 億回)、file-entry-cache(5.57 億回)、cacheable(2,900 万回)など、他にも多くの高利用パッケージが影響を受けました。
  • 攻撃手法:悪意のあるファイルをメインブランチにプッシュし、GitHub Actions で署名された**正当な出所プロヴェナンス(provenance)**の付いた中毒バージョンを npm に公開しています。

アップデート — 2026 年 8 月 4 日 13:37 (CEST)

  • ワームにより、少なくとも 434 パッケージ(計 1,381 バージョン)が汚染されています。
  • 総月間インストール数は 20 億回を超えています。
  • 主要な組織を含む他メンテナのパッケージも感染拡大しています:
    • @deliveroo/reevent
      v1.0.1
    • @or-sdk/invitations
      v1.4.9
    • @picsart/ai-sdk
      v3.32.2
    • @qlik/embed-runtime
      v1.6.4
    • picasso.js
      v2.11.6

乗っ取られたパッケージ一覧

報告時点での汚染状況です。

パッケージ名バージョン月間ダウンロード数
keyv6.0.06.04 億
flat-cache6.1.245.80 億
file-entry-cache11.1.65.71 億
cacheable-request13.0.201.37 億
cacheable2.5.13,000 万
@cacheable/memory2.2.12,800 万
cache-manager7.2.101,600 万
@cacheable/node-cache3.1.2600 万
@cacheable/utils2.5.13,400 万
@cacheable/net2.1.13.7 千
ecto5.0.14.5 千

発生事情:技術分析

注入メカニズム

影響を受けたパッケージには以下の 2 つの新しいファイルが追加され、

package.json
"preinstall": "node setup.mjs"
が設定されました。
npm install
を実行すると自動的に
setup.mjs
が起動します。

1. 初期ドロッパー:
setup.mjs

  • Bun JavaScript ランタイム(バージョン 1.3.13)を GitHub からダウンロードし、本物のペイロードを実行します。
    • ダウンロード元:
      github.com/oven-sh/bun/releases/download/bun-v1.3.13/
// setup.mjs 内の処理ロジック
execFileSync(<bun binary>, ['<script_dir>/Math_Symbol.js'], {
  stdio: 'inherit',
  cwd: <script_dir>
})

2. 主要ペイロード:
Math_Symbol.js

  • サイズ: 728 KB。
  • 機能:
    • 被害者環境の機密情報を収集・暗号化。
    • 認証情報を「Shai-Hulud: Here We Go Again」と書かれた公開 GitHub リポジトリへ流出(ダンプ)。
    • 他のメンテナのパッケージに感染を広げるワーム機能を実装。

窃取対象:認証情報収集の範囲

Math_Symbol.js
は以下のシークレットストアから情報を抽出します。

npm トークン

  • ~/.npmrc
    の読み込みおよびスキャン(
    .npmrc
    ファイル全体)。
  • 抽出:
    authToken
    値と
    //registry.*:_authToken=...
    形式のエントリ。
  • 検証:
    registry.npmjs.org/-/whoami
    でライブ認証を確認。

GitHub トークン

対象:クラシックな PAT (

ghp_...
)、OAuth (
gho_...
)、GitHub App サーバー間トークン (
ghs_...
)、JWT OIDC。

  • ソース:
    ~/.config/gh/hosts.yml
    、環境変数、ファイルシステムスキャン。
  • GitHub Actions ランナー:
    • 直接メモリ読み取りによる全シークレットストアダンプ。
    • OIDC トークン (
      ACTIONS_ID_TOKEN_REQUEST_TOKEN
      ,
      ACTIONS_ID_TOKEN_REQUEST_URL
      ) の窃取。

AWS クレデンシャル

  • ~/.aws/credentials
    ~/.aws/config
    の解析。
  • 環境変数:
    AWS_ACCESS_KEY_ID
    ,
    AWS_SECRET_ACCESS_KEY
    ,
    AWS_SESSION_TOKEN
  • EC2 メタデータ: IMDSv2(優先)→ IMDSv1(フォールバック)の試行 (169.254.169.254)。
  • ECS メタデータ: 169.254.170.2。
  • Secrets Manager:
    secretsmanager:ListSecrets
    の複数リージョン呼び出しによる全シークレットの列挙・流出。

Kubernetes シークレット

  • /var/run/secrets/kubernetes.io/serviceaccount/
    からのトークン・CA 証明書読み取り。
  • サービスアカウントトークンによる API 照会(ネームスペース内全シークレット取得)。
  • KUBECONFIG
    ~/.kube/config
    の対象化。

HashiCorp Vault トークン

6 つのソースから優先順位に応じてチェック:

  1. 環境変数
    VAULT_TOKEN
  2. ~/.vault-token
  3. /home/runner/.vault-token
    (GitHub Actions)
  4. よく知られたコンテナパス
  5. サービスアカウント JWT を使用した K8s 認証ログイン
  6. 盗まれた AWS クレデンシャルを使用した Vault AWS IAM 認証エンドポイント
  • 流出後処理:
    /v1/sys/mounts
    経由で KV ストア全列挙、KV v1/v2 パスのシークレット読み取り。

外部サービストークン

ファイルシステムスキャンによる検出:

  • Stripe: テスト用 (
    sk_
    ) およびライブ用 (
    pk_
    ) キー。
  • Slack:
    xox[baprs]-...
    トークン。

ジェネリックファイルシステムスキャン

macOS と Linux 向けのスキャナーが約 200 のグロブパターンを実行します。

スキャン対象

  • .env
    ,
    .env.*
    ,
    .envrc
    ファイル
  • プライベートキー (
    *.pem
    ,
    *.key
    ,
    *.p12
    ,
    *.pfx
    ,
    *.jks
    )
  • SSH キー・設定 (
    id_rsa
    ,
    id_ed25519
    ,
    .ssh/config
    )
  • Terraform ステートファイル、
    .tfvars
  • Docker レジストリ認証 (
    docker/config.json
    )
  • KeePass DB (
    *.kdbx
    )
  • VPN 設定 (
    *.ovpn
    )
  • IDE 設定 (
    .vscode/tasks.json
    ,
    .claude/settings.json
    など)

制約と処理

  • サイズ制限: ファイルサイズが 5 MB を超えるものはスキップ。
  • 並列度: 最大 64 の並列読み込み。
  • 正規表現エンジン: スキャンされた全ファイルに適用され、以下をフラグ化:
    • PEM プライベートキー / SSH 公開キー
    • Azure ストレージキー
    • データベース接続文字列(埋め込まれた認証情報を含む)
    • key=value
      パターン(一般的なシークレットフィールド名に一致するもの)

流出戦略

収集されたデータは、公開前に全セットで暗号化され、攻撃者が保持する RSA プライベートキーによる復号のみ可能です。

主要流出先

  • 場所: 説明文に "Shai-Hulud: Here We Go Again" を含む公開 GitHub リポジトリ(約 1,300 箇所)。
  • 用途: これらはすべて、被害者の暗号化認証情報バンドルのドロップポイントとして機能しています。

代替流出先

  • ドメイン:
    https://npm-cache.com:443/router
  • 特徴: 2026 年 5 月 22 日登録の疑わしいドメイン。
  • 仕組み: Ethereum スマートコントラクト (
    0xE1f2395ee43e45A1556EC6438a88c31B83493103
    ) から動的に取得するため、攻撃者はインフラを柔軟に切り替えられます。

自己複製するワームのメカニズム

マルウェアは認証情報窃取に加え、能動的に自身を広めます。

1. npm ターボールへの感染(拡散)

  • 盗まれた npm トークンで
    https://registry.npmjs.org/-/npm/v1/tokens
    を叩き、公開権限を持つパッケージをリスト化。
  • 各パッケージのターボールを展開し、以下の修正を加えて再公開:
    • バージョンをパッチアップ(例:
      1.2.3
      1.2.4
      )。
    • "preinstall": "node setup.mjs"
      を追加。
    • setup.mjs
      および
      math_init.js
      Math_Symbol.js
      と同一機能)を注入。
  • 特徴: 元のメンテナを超えて伝播し、400 を超えるパッケージが感染(2 世代目:
    math_init.js
    で識別可能)。

2. GitHub リポジトリへの感染

  • ghs_
    トークンを検出すると、リポジトリごとに最大 50 ブランチ を処理。
  • 対象除外:
    dependabot
    および
    copilot
    のブランチをスキップ。
  • ペイロード配信:
    • .claude/settings.json
      .vscode/tasks.json
      への悪意あるフック追加。
    • VS Code で開くか、Claude Code を起動すると、npm インストールなしで即座に実行される設計。
  • 偽装:
    claude
    名で署名、メールアドレス
    claude@users.noreply.github.com
    、コミットメッセージ
    chore: update config
    とすることで正規と混同されます。

侵害の兆候 (IOCs)

ファイル

ファイル名SHA-256 ハッシュ備考
setup.mjs
54dc7ea54a1317cca0e890a2770630cf7fa6c97813e0cb9d2caa93012b350668
オリジナルペイロード
setup.mjs
(コミュニティ拡散版)
fd3ca4007b225fdf8de7af4345a19179d5efa8c4bb9205f88cda806e5684b1eb
コミュニティ拡散バリエーション
Math_Symbol.js
,
math_init.js
9fc2570b7cef51c1b8df116d144d11ff4096357be7d2c4c6367cfc2509cf1bcc
認証情報窃取ペイロード

ネットワーク

  • 流出エンドポイント:
    https://npm-cache.com:443/router
  • Ethereum リクエスト: コントラクト
    0xE1f2395ee43e45A1556EC6438a88c31B83493103
    を含む
    eth-mainnet.nodereal.io

その他

  • 攻撃者リポジトリ: 説明文に "Shai-Hulud: Here We Go Again" を含む全ての公開 GitHub リポジトリ(認証情報流出用管理用)。

是正と検出 (Aikido)

既存の Aikido ユーザー向け

  • 中央フィード確認: Malware 関連の問題でフィルタリング。
    • 表示: 100/100 クリティカルな問題として表示されます。
  • アクション: 再スキャンは夜間に自動実行されるため、即座に手動で再スキャンをトリガーしてください。

ニュユーザー向け

  • アカウント作成とリポジトリ接続が可能です。
  • マルウェア対策機能は無料プランに含まれています(クレジットカード不要)。

将来の保護:Aikido Safe Chain

チーム全体のカバレッジが必要な場合に検討すべきオープンソースソリューションです。

  • 機能: 既存ワークフローに組み込まれ、
    npm
    ,
    npx
    ,
    yarn
    ,
    pnpm
    ,
    pnpx
    コマンドをインターセプト。
  • 検証: インストール前に Aikido Intel でパッケージを検証します。

デバイス保護

Aikido の Device Protection により:

  • チームのデバイスにインストールされているソフトウェアパッケージに対する可視性と制御が可能。
  • ブラウザ拡張機能、コードライブラリ、IDE プラグイン、ビルド依存関係などを一元管理。
  • マルウェアのインストールを未然に阻止します。

同じ日のほかのニュース

一覧に戻る →

2026/08/05 7:01

インターポールが警告、アフリカのサイバー犯罪の半分以上を AI が支えデジタル詐欺急増

## 日本語訳: 以下に、元の草案から欠落していた特定の地域的なニュアンスおよび文脈源をより適切に統合しつつ、明瞭さを維持するためにもたらされた改善されたバージョンが示されます。 ## サマリー(改善版) INTERPOL の 2026 アフリカサイバー脅威評価によると、人工知能はアフリカ全体でサイバー犯罪における支配的な力となり、報告された事例の半分以上を原動力とし、2024 年の 1,9200 万ドルから 2025 年には 4,8400 万ドルへと金融損失を増大させています。状況は地域によって多様です:西アフリカおよび南部アフリカは主要な詐欺センターを擁しており(調査対象国の 72% で特定)、中央アフリカではビジネスメールへの侵害やロマンス詐欺の発生率が高く、東アフリカではモバイルマネー詐欺、重要インフラに対するランサムウェア攻撃、合成アイデンティティ犯罪に苦しんでいます。特定のセックス extortion の急増が明らかで、TrendAI がディープフェイクに関連する約 60 万件の事例を検出しています。犯罪者はこれらのツールをソーシャルメディアやモバイルマネーおよびデジタル銀行のようなプラットフォームと組み合わせ、ローンの目的や SIM カード登録のために合成アイデンティティを伴う複雑なスキームを実行するために使用します。しかし、依然として重大な脆弱性が存在しており、特に南部アフリカのように高度なデジタル接続を有する国々において、銀行、通信事業者および法執行機関間の弱い連携は、犯罪者が盗まれた資金を瞬時に国境を超えて移動させることを可能にしています。これらの課題にもかかわらず、対応は増えつつあります;2025 年だけでも、セネガルの新しいオンライン報告プラットフォームを含むサイバー犯罪法の更新を行ったアフリカ諸国は 17 カ国あり、Serengeti 2.0 など共同作戦を促進し、それらは 1,500 件以上の逮捕と 1 億ドル以上の資金の回復をもたらしました。将来のセキュリティは、これらの進化する AI 駆動型の脅威に対処するために、持続的な国際協力および強化された地域準備に依存します。

2026/08/05 1:36

Mistral の Shieldstral:マルチモーダル検閲向けに公開された 3B オープンウェイトモデル

## 日本語訳: Shieldstral は、NVIDIA との Open Secure AI Alliance の初メンバーとして Apache 2.0 ライセンスの下でリリースされた、30 億パラメータを持つオープンウェイトのマルチモーダル安全性分類器です。このモデルは、テキストと画像の安全性評価を単一の適応型インターフェースに統合し、1 トークンから定量化された連続的な安全性スコアを返します。Shieldstral は、コンテンツモデレーションを文脈・厳格度に適応する質問応答タスクとして位置付け、推論時に再トレーニングなしで平易な言語でのポリシーを受け入れる 3 つのコンポーネント(<Instruct>:文脈/厳格度、<Query>:はい/いいえの安全性に関する質問、<Document>:評価対象のテキストまたは画像)を採用しています。Shieldstral は、プロンプト分類、回答モデレーション、拒否検出、毒性検出を単一の適応可能な問題に統合します。性能については、テキスト安全性、拒否検出、ポリシー適応性、マルチモーダルベンチマークにおいて、最大 7 倍のサイズを持つオープンガードモデルと同等かそれ以上の性能を示し、1 つの 16GB の NVIDIA GPU で効率的に動作します。Forge 上でのエンドツーエンドトレーニングでは、多様なラベル形式を持つ現実および合成データを組み合わせたヘテロ지니어ズなデータを使用し、以下の 4 つの主要な課題に取り組んでいます:(1)ヘテロ지니어ズなデータタクソノミーの統合、(2)暗記ではなく判別の学習、(3)画像に基づく安全性の根拠付け、(4)LoRA と SLERP メージを介した補完的なチェックポイントの組み合わせです。データ処理では、ソースごとの厳格度調整(ジャイルブレイク用は厳しく、回答品質用は緩い)を行い、定量化された意思決定境界を学習し、一般的な画像データセットを負例として使用するとともに、視覚・言語再ランク付けにより誤ラベル付けされたペアをフィルタリングしました。今後の計画としては、多言語対応の拡大、長文書に対する堅牢性の向上、およびマルチモーダル安全性機能の幅広化が含まれます。

2026/08/05 0:16

Show HN: 肌の色調を多様化する単純なアルゴリズムと色彩空間

## Japanese Translation: このプロジェクトは、デジタルアートおよびキャラクター作成向けに包摂的なツールを促進することを目的とした、簡略化された RGB ベースの色空間を導入します。これは、現在のシステム(絵文字:5 色、メイクアップパレット:約 50 色など)の限界に対処するものです。本モデルは、生物学的要因(メラニンや血流など)、個々のバイアス、健康状態(例:黄疸など)、および異なるディスプレイ環境によって複雑化している人間の肌トンの莫大な複雑性に対する科学的権威を主張するのではなく、実用的で「十分良好な」エンジニアリングの起点を優先します。手法は、手動での RGB データラベリング、主成分分析(PCA)によるデータセットの変換、Desmos 3D、SymPy、matplotlib、scikit-learn などのツールを用いた球面式のフィッティングを含みます。得られたシステムは、PCA 軸から導かれる 3 つの独立した値を利用し、UI を介して調整されます。ここで、可変的な球半径パラメータは色の変化を制御します;具体的には、この半径を小さくすると、すべての肌トーン(深肤色、白人、冷色調、温色調)において一様に変化が減少し、特定のグループを不均衡に排除することはありません。原点点はニュートラルな曖昧なトーンを表し、マッピングバイアスを特定するために有用です。今後の作業では、専門家ラベラーを用いてモデルを微調整し、黄疸や白斑症などの状態に対する簡略化された表現を取り入れる予定です。本アプローチは科学的でないことを認める一方で、エンジニアリング用途においては依然として非常に機能性を備えていることを認識しています。