共有リンクを開くだけでChatGPTのアカウントが乗っ取れる - MathLiveのpostMessage連鎖で
Do the math: How we took over ChatGPT accounts
Parameter.aiは2026年10月、ChatGPTの公開共有リンクを攻撃者が操作し、リンクを開いた側のセッション内で任意のJavaScriptを実行できる脆弱性を報告した。起点はグラフ描画に使われる数学ライブラリMathLiveの仮想キーボードで、受信側のリスナが送信元のオリジンを検証せずpostMessageを受け取りっていたことにある。攻撃者は仮想キーボードのレイアウトを任意のHTMLに差し替え、それがinnerHTML経由で本体ページに埋め込まれる。さらにsrcdoc属性を持つiframeがsandboxなしで挿入され、chatgpt.comのオリジンを継承するため、CSPも回避できた。被害者はリンクを開くだけでアプリのインストールもProject参加も不要で、被害者の認証済みAPIを直接呼び出してアカウントを操作できた。OpenAIは10月26日に修正し、P1として取り扱っている。
LinuxのIPv4 TCP握手でUse-After-Free - CVE-2026-98432はCVSS 9.8
TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8
Linuxカーネル10月の更新で修正されたCVE-2026-98432は、IPv4のTCPハンドシェイク中にUse-After-Freeが発生する remotely unauthenticated に到達できる脆弱性で、カーネルCNAはCVSS 3.1の9.8でCriticalと判定した。バグはLinux 4.4以降に存在し、修正は7.2.10、6.18.56、6.12.113、6.6.159、6.1.190、5.15.223、5.10.272で配布された。upstreamの修正は4行だが、10月31日時点ではUbuntuの全リリースとRHEL 8/9/10が未修正のままである。Anthropicの研究者が報告し、Claudeが動作する概念実証エクスプロイトを生成し、マルチパスTCPリスナーを持つサーバでroot実行が可能になったという。Goは既定でマルチパスTCPリスナーを開くため、Goで書かれたサーバーも対象となる。
Claude Code拡張機能の改ざん版がCursorで配布 - 11時間、最大5000人が対象
Claude Code 拡張機能のバックドア事件まとめ(2.1.312・2.1.313・Cursor のマーケットプレイス)
sonsuは、10月29日18:27から10月30日5:35までの約11時間、Claude Code拡張機能の改ざん版2.1.312と2.1.313がCursorの拡張機能マーケットプレイスで配布された事件を整理した。Anthropicが配布したものではなく、macOS版とWindows版が対象で、正規のOpen VSXやMicrosoftマーケットプレイスからインストールした人は影響を受けない。悪意あるコードは拡張機能の読み込み時点で実行され、ホスト名やグローバルIP、Gitのメールアドレスなどを攻撃者のサーバーへ送り、~/.ssh/authorized_keysにsvc-telemetryという名の公開鍵を追加する。さらに再起動後も動く自動起動を登録し、SSHサーバの有効化を試みてリバースSSHトンネルを開く。Cursorは事後にマーケットプレイスを全面停止し、StepSecurityの分析では影響を受けたユーザーは最大5,000人とされる。該当者はauthorized_keysと自動起動の登録を確認して後始末する必要がある。
JepsenがAI向けデータベースParticleDBを検証 - 96件の不具合と「Full ACID」の崩れ
Jepsen: ParticleDB 1.1.4
JepsenはOrkesが開発したAIワークロード向けマルチモデルデータベースParticleDBの1.1.4から1.1.18.11.rc-22までを検証し、96件の不具合を報告した。テストには単一サーバーと単一クライアントしか使っておらず、障害注入の余地は残っていた。検出された問題はクラッシュやデッドロック、データ損失に加えて、部分的に不可視になった行、WHERE 4 = 5のような条件のない行が返る挙動、ドロップしたテーブルが歪んだ形で復活する現象、文字列が整数に化ける症状など、整合性が崩れる事例也都みられた。報告時点では既定のoccトランザクションモードでコミット済み書き込みを失い、最も強いserializableでも内部異常とLost Updateを許していた。Orkesは調査を経て1.1.19-rc.13をリリースし、残る問題の解消を主張している。
AIがコードを書くなら誰が証明するのか - Lean作者Leo de Mouraが語る形式検証の未来
AI, Lean, and the Future of Formal Verification, with Lean Creator Leo de Moura
Gradient FlowのポッドキャストにLeanの作者でありAWSのVP・Distinguished ScientistであるLeo de Mouraが出演し、AI時代の形式検証についてお話をした。中心主题は、AIが生成したコードを「trust me」で受け入れる状況が変わったことで、機械検査付き証明と仕様書がその代替として重要になっているという点である。話題は数学とAIの融合、編集可能な証明、証明検査そのものを信頼できるとする問題の扱いに及び、キーワードは「Trust Me」コードの終焉で、検証済みソフトウェアスタックという構想として示された。形式検証は従来のテストとは別物だという整理もなされている。
GCCがswitch文をどう畳み込むか - ジャンプテーブルの境界を逆アセンブルで調べる
Switch Lowering in GCC
XoranthはGCCがswitch文をジャンプテーブルへ lowering する条件を、逆アセンブルと実験で調べた。連続したcase値の場合は関数ポインタの配列のようにジャンプテーブルへ変換され、定数オフセットが加算されることも確認された。疎な値ではジャンプテーブルではなく比較の二分木へ展開され、実測ではcaseラベル1つあたりジャンプテーブルのエントリが8個前後を境に切り替えが起きる。外れ値を含む場合はcase 1から5だけをジャンプテーブルにまとめ、case 100は分岐として扱う。隣接するcaseが同じ結果に集約される場合の処理や、値を8で割ればジャンプテーブル化できるのにGCCがその変形を認識しない点にも触れている。bitsetへの lowering を除けばclangにもそのまま適用されるという。
CPU使用率が100%でも処理量が増えない理由 - メモリアクセス遅延が律速
It's the Memory Latency, Stupid
Pivotは、データベースのCPU使用率が100%でも実効的な処理量が増えない理由としてメモリレイテンシをを示した。現代のCPUは1ナノ秒あたり4〜8命令を実行できる一方、RAMへのアクセスは50〜100ナノ秒かかり、その間に実行できる命令は400〜800本に達する。L1キャッシュは約1ナノ秒、L2は3〜4ナノ秒、L3は10〜15ナノ秒、DRAMは50〜100ナノ秒という階段状の遅延が続き、キャッシュに載らないアクセスでは常にDRAMへ飛ぶ。GROUP BYでハッシュテーブルを使う実装では、クリックのログデータセットでユーザーIDが1700万種類に達するとほぼすべてのアクセスがコールドミスになる。9900万行のhitsデータセットでcount(*)とGROUP BYを走らせる例で、キャッシュ利用率がそのまま性能に効くことを示している。
WASIではない - Linuxのシステムコールをそのままwasmへ見せるWALIという提案
WASIじゃない、もう一つのインターフェース「WALI」という提案
Progateのエンジニアが、WebAssemblyにWASIとは異なるLinux互換のインターフェースWALI(WebAssembly Linux Interface)を組み込む試みを紹介した。WASIはforkやシグナル、mmapに対応しておらず、CLIを1つwasm化するだけでもソースに#ifdef __wasi__を足すことになるが、WALIはLinuxのシステムコールをwasmにそのまま見せる方針を採る。wasi-libcがlibcの呼び出しをWASIの関数へ読み替えるのと同じ仕組みで、libcの呼び出しがWALIの関数に置き換わる。提案はカーネギーメロン大学のArjun RameshらによるEuroSys '25の論文で、LLVMとRustにはすでにターゲットとして組み込まれている。著者は論文と実物のバイナリの両方から挙動を確認している。
actions/checkout@v7は避ける - actions.lockでバージョン固定する
GitHub Actions で checkout@v7 のようなバージョン指定を書くのはやめよう! 時代は actions.lock!
Progateの業務委託エンジニアが、GitHub Actionsのワークフローでuses: actions/checkout@v7のようなバージョン指定を書くことのリスクをまとめた。2026年3月には脆弱性スキャナーTrivyのGitHub Actionであるaquasecurity/trivy-actionが攻撃され、攻撃者がほとんどのバージョンタグをforce pushで書き換えて認証情報を盗むマルウェアへ変貌させた事例がある。タグの中身が書き換えられているため、@v7.0.1のようにパッチバージョンまで指定しても無意味であり、GitHubのImmutable Releasesを使っている場合にのみ意味を持つ。actions/checkoutは2026年10月29日現在でImmutable Releasesを使っていない。代替策としてはコミットのSHAを直接指定する方法と、lockファイルを使う方法が挙げられ、GitHubの公式ドキュメントも第三者Actionの安全な利用としてlockファイルを推進している。
手元のMacを閉じても進む - LayerXが自前のリモートコーディングエージェントyoroを公開
yoroによろしくぅ!Ai Workforce 事業部のリモートコーディングエージェント環境 yoro のご紹介
LayerXのAi Workforce事業部SREの石田が、同事業部が自前で運用するリモートコーディングエージェント環境yoroを紹介した。依頼はSlackの:yoro:リアクション、Ai Workforceのタスク画面、ターミナル、プレビュー環境の管理UI、スケジュール、GitHub上のレビュー依頼という6つの入口から受け付けられ、AKS上に構築したCoderのワークスペースで実行される。権限確認を待たずに動くYOLOモードで、隔離と監視は自前実装しており、影響範囲の限定とVMの内外からの記録を対象としている。1人分の環境はKubernetesのカスタムリソースで宣言し、Argo CDで適用する。名前はYOLOと「よろしくぅ」を掛け合わせたもので、Claude CodeやCodexを本人専用のホームディレクトリごとクラウド環境で動かせる点が特徴である。
IVRyがSREをHub & Spokeへ再編 - Reliability by Defaultをnorth starに
IVRyのSREの取り組み 2026冬
IVRyのSREの渡部が、2025年冬に続く取り組みの続編として、2年でSREの関わり方そのものがどう変わったかを記録した。従来のプラットフォームチームという位置付けから、Spokeとしてプロダクトに入り込むEmbedded SREと、標準化や横断的な技術的負債の返済、EOL管理を担うCore ReliabilityというHubを并存させるHub & Spokeモデルへ移行している。戦略の北極星はReliability by Defaultで、SREが張り付いて守るPolicyから仕組みとして最初から備わっているDefaultへの移行を意味する。ドキュメントを置いただけでは広がらないため、実際には壁打ち相手としてSLIを一緒に決めている。SLI/SLOのダッシュボード閲覧会をProduction Meetingとして各ドメインに一般化し、開発チーム側から課題が出るようになった。重要機能ランキングを導入し、止まると顧客業務が止まる機能からSLOの対象を決めている。
NoSQLのスキーマ変更は読むときに受け止めよう - Schema Versioningパターンの実装
NoSQLのスキーマ変更は読むときに受け止めよう
michiharuは、DynamoDBやFirestore、MongoDBのようなスキーマレスなデータベースで既存データの形を変更する手法としてSchema VersioningパターンをTypeScriptのZodで実装した。データの書き換えとコードのデプロイは同時に完了しないため、新旧の形が混ざる時間は必ず残り、DynamoDB Streamsのような変更を受け取るワーカーも読み込みのparseに失敗する。ルールは3つで、schemaVersionを持たないアイテムはバージョン1とみなす、書き込む時は最新のバージョン番号を入れる、読む時にバージョンを見て古いものを最新へ変換する、というものである。実装はZodのdiscriminatedUnionで新旧のスキーマを定義し、バージョン1のnameをdisplayNameへ変換するようにしている。リレーショナルデータベースのJSONカラムでも同じ手法が使えるとしている。
エージェントスキルのドリフトを検出する手順 - インストール差距と検査の抜け
Agent Skills Drift: A Feedback Loop for Keeping One True
gdeは、Claude CodeやCodex向けに1つのMarkdown記事を5つの宛先へ公開するエージェントスキルpublishing-kitを例に、スキルのドリフトをどう測り、閉じたかを段階的に示した。ドリフトとはスキルの記述と現在の実態との距離であり、エラーも出ないまま検査が通ってしまう。著者は事前検査がall checks passedを返した当日、コードレビューで20件の指摘と手作業による2件の追加が判明したことを紹介している。手順は6段階で、インストール済みスナップショットとリポジトリのバージョン差距を測る、バージョン文字列が変わらないまま挙動が変わったコミットを検出する、記憶に依存する注意書きをスクリプト内のガードに置き換える、検査そのものを壊れた入力でテストする、重複ロジックを一箇所に集約する、宛先に関する主張に観測日を付け直す、というものである。順序としてはコードがテストを上書き、テストがドキュメントを上書き、ドキュメントが記憶を上書きするとされ、リリース時のバージョン更新を飛ばしたことがインストール差距を生んだと指摘する。
Next.js 16のuse cache - 暗黙キャッシュを関数単位の明示制御に置き換える
Next.js 16 `use cache` Directive: Granular Caching at the Function Level and What It Replaces
jsmanifestは、Next.js 16が導入したuse cacheディレクティブが、unstable_cacheやfetchのキャッシュオプション、ビルド時の暗黙ルートキャッシュの3つを置き換える仕組みをまとめた。従来は動的関数の有無をコンパイラが推測してルートセグメントの静的・動的を判定するため、開発環境では動的に動いたコンポーネントが本番で静的レンダリングされ、数時間古いデータを返すというバグが発生していた。use cacheを関数やServer Componentに付与すると戻り値がキャッシュされ、cacheLife()で期限、cacheTag()で任意の無効化を指定できる。キャッシュキーは引数とクロージャから自動生成される。保存先はインスタンスごとのインメモリが既定で、use cache: remoteを使うと共有の永続ハンドラへ移す。移行はunstable_cacheのラッパーをディレクティブへ変換し、next.revalidateをcacheLife()へ置き換える形になる。
エージェント時代のデバッグ - MCPでブラウザを見られるようにする
Debugging in the Agentic Era
helderbertoは、コーディングエージェントがフロントエンドのコードは速く書くが動かした結果を見られないという問題に対して、MCP経由でブラウザを操作させる運用を提案した。従来はエージェントがコードを書き、人がページを開いてNetworkタブの422をコピーして貼り戻し、修正後に再度TypeErrorを貼り直すという往復が発生していた。変更後は「localhost:3000のサインアップフォームを提出して失敗する理由を説明して」のように依頼すると、エージェントが自分で送信し、レスポンスとコンソールを読んでコードと突き合わせて原因を説明し、修正案を出す。人はその説明を実際の画面と照合して承認または反論する役割になる。human in the loopの具体像はエージェントが証拠を集め、人がそれを検証する体制であり、トレースを読み違えたりエラーを握りつぶす可能性もあるとして完全な信用はしない運用を訴える。ブラウザへのアクセスにより主要シナリオ以外の挙動も検証できる。