30個の WordPress プラグインを買収し、全てにバックドアを仕込んだ攻撃者の手口
Someone Bought 30 WordPress Plugins and Planted a Backdoor in All of Them
Flippa で6桁ドルを投じて30以上の WordPress プラグインを買収した攻撃者が、全プラグインにバックドアを埋め込んだサプライチェーン攻撃の詳細分析。wpos-analytics モジュールが analytics.essentialplugin.com に通信し、wp-config.php にPHPコードを注入。C2ドメインの解決に Ethereum スマートコントラクトを利用しており、従来のドメインテイクダウンでは対処困難な設計になっている。Googlebot にのみスパムを表示するクローキング手法も使用。
GitHub が Stacked PRs をネイティブサポート — gh stack CLI と UI で大規模変更を分割レビュー
GitHub Stacked PRs
GitHub が Stacked PRs(積み上げ型 Pull Request)のネイティブサポートを発表。大きな変更を小さなPRのチェーンに分割し、各PRを独立してレビューできる。gh stack CLI でスタックの作成・リベース・プッシュ・ナビゲーションが可能。UI上でスタックマップを表示し、全レイヤーのステータスを一覧確認できる。AI エージェント連携として npx skills add github/gh-stack でコーディングエージェントにスタック操作を教えることもできる。
LLVM RISC-V で25%の性能低下を追跡し修正した記録
Tracking down a 25% Regression on LLVM RISC-V
LLVM の isKnownExactCastIntToFP の改善が、下流の visitFPTrunc における浮動小数点縮小最適化を壊し、RISC-V ターゲットで約24%の性能低下を引き起こした問題の詳細分析。fdiv.s(19サイクル)の代わりに fdiv.d(33サイクル)が生成されていた。getMinimumFPType にレンジ分析を追加し、fptrunc(uitofp x double) to float を直接 uitofp x to float に縮小する修正パッチを投稿して解決。
TypeScript 向け Rust ランタイムを構築して学んだこと — 67,000行・2年間の記録
What We Learned Building a Rust Runtime for TypeScript
Encore が TypeScript サポートのために Go ではなく Rust で新ランタイムをスクラッチ開発した経緯と技術的知見。Node.js のシングルスレッド制約を回避し、HTTP リクエストライフサイクル・DB接続プール・Pub/Sub・トレーシングを tokio 上でマルチスレッド実行。Prisma や Pydantic と同様に Rust コアから各言語へバインディングする設計を採用し、将来の多言語対応も見据える。Pingora ベースの API Gateway も含む67,000行の実装。
Servo が crates.io で初リリース — Web エンジンをライブラリとして組み込み可能に
Servo is now available on crates.io
Servo チームが servo クレートの v0.1.0 を crates.io でリリース。Web エンジンをライブラリとして外部アプリケーションに組み込むことが可能になった。まだ 1.0 ではないが、embedding API の成熟度に自信を深めている。半年ごとの LTS(Long-Term Support)版も提供開始し、月次リリースの破壊的変更を避けたいユーザー向けにセキュリティアップデートを提供する。
Firefox ビルドを17%高速化する方法 — WebIDL コード生成のキャッシュ
How to make Firefox builds 17% faster
Firefox のビルド時に毎回実行される WebIDL バインディングコード生成ステップを buildcache でキャッシュすることで、クロバービルドを17%高速化した手法の解説。数百の .webidl ファイルから数千のC++ファイルを生成する処理は完全に決定的であるため、キャッシュの最適な候補。dom/bindings/Makefile.in で py_action に CCACHE ラッパーを渡す小さな変更で実現。buildcache の Lua プラグインシステムにより、コンパイラ以外のビルドステップもキャッシュ対象にできる。
Cloudflare の全プロダクトを統合する新 CLI — Wrangler 次世代版のテクニカルプレビュー
Building a CLI for All of Cloudflare
Cloudflare が100以上のプロダクト・約3,000のHTTP API を統合する新 CLI のテクニカルプレビューを公開。npx cf で試用可能。全 API を1,000トークン未満で利用できる Code Mode MCP サーバーも提供。AI エージェントが CLI コマンド・Workers Bindings・SDK・Terraform・ドキュメントを横断的に活用できる設計を目指しており、infrastructure-as-code による一括設定もサポートする。
GPU について今日学んだこと — 整数を float にキャストしただけで起きたバグ
I learned something about GPUs today
ゲーム Blackshift の砂タイルで発生した描画バグの調査記録。8ビット整数の隣接情報を float にキャストして GPU インスタンスデータとして渡し、シェーダー側で int に戻す設計だが、特定の GPU では float の精度や丸めの挙動が異なり、238.0f が 237 として読み取られるケースが発生。IEEE 754 の精度保証があっても GPU のハードウェア実装でこのような差異が生じることを示す実例。
全てに型を付けるべき理由 — スカラー型だけでは不十分
Everything Should Be Typed: Scalar Types Are Not Enough
string や int などのスカラー型だけで「型安全」とする設計の危険性を指摘する記事。7つの引数を持つ processOrderPayout 関数で、3つの文字列ID・4つの金額を取り違えてもコンパイラが検出できない例を示す。Rust・Go・TypeScript でドメイン固有のnewtypeを定義し、ShopId と CustomerId を別型にすることで、コンパイル時にパラメータの取り違えを防ぐアプローチを提案。rust-clippy への issue 提起にも至った実体験に基づく。
「プログラムを送れ、データ構造ではなく」— システム設計の根本的な選択
Send a Program, Not a Data Structure
pretext ライブラリの登場をきっかけに、システム間通信における「データ構造を送る vs プログラム(インタプリタ)を送る」という設計上の根本的な選択について論じた記事。PostScript がこの概念の実証例として取り上げられている。送信側と受信側のどちらに知性を置くかで、システム全体の柔軟性・拡張性・セキュリティが大きく変わることを、具体的なドローンやレイアウトエンジンの例を交えて解説。
月の裏側のバグ — AI と仕様言語で Apollo 飛行コードの欠陥を発見
A bug on the dark side of the Moon
Claude と独自の行動仕様言語 Allium を使い、Apollo Guidance Computer の130,000行のアセンブリコードから12,500行の仕様を生成し、ジャイロ制御コードのエラーパスでリソースロックがリークするバグを発見した事例。2K RAM・1MHz の AGC コードは歴史上最も精査されたコードベースの一つだが、仕様駆動アプローチが新たな欠陥を表面化させた。
Java 26 の新機能まとめ — パフォーマンスとモダン化に焦点
Java 26 new Feature Breakdown With Examples
Java 26 のロードマップに含まれる新機能の解説。パフォーマンスとモダン化に焦点を当てた複数の JEP が計画・開発中であり、Java プラットフォームの進化の方向性を示す内容。
AWS Frontier Agents で変わる SRE の仕事、変わらない SRE の仕事
AWS Frontier Agentsで変わるSREの仕事、変わらないSREの仕事
AWS DevOps Agent と Security Agent の GA を受け、SRE 業務のうち何がエージェントに移行し何が人間に残るかを整理した記事。公式の「MTTR 最大75%削減」「ペネトレーションテストが数週間から数時間に」といった数字を検証しつつ、Claude Code のようなコーディングエージェントとの違いや、運用判断・アーキテクチャ設計など人間が担い続ける領域を具体的に分析。
Claude Max 20x プランでも足りない — トークン節約のためにやったこと8選
Claude Max 20xプランでも足りないので、トークン節約のためにやったこと8選
Claude Max 20x プランで複数エージェントを並列実行すると5時間の枠を2時間で使い切る問題に対し、コンテキストエンジニアリングとハーネスエンジニアリングの観点から8つの節約施策を紹介。コンテキストや rules、MCP・ツール設定、長いセッション履歴、大量ファイル探索がトークン消費の主因であり、必要十分な情報だけを Claude に与える設計がアウトプットの質にも寄与する。
Ingress NGINX の retirement に伴う Gateway API + Envoy Gateway への移行
Ingress NGINXのretirementに伴うGateway API + Envoy Gatewayへの移行
『家族アルバム みてね』のSREチームが、2026年3月に retirement となった kubernetes/ingress-nginx から Gateway API + Envoy Gateway へ移行した実践記録。既存の Ingress マニフェストから nginx.ingress.kubernetes.io/* アノテーションを機械的に抽出して依存機能を整理し、内部向けルーティング限定という前提のもとで移行先を選定。Gateway API の設計思想や Envoy Gateway の選定理由も解説。
axios に CVSS 10.0 の脆弱性 — CRLF Injection とプロトタイプ汚染の組み合わせ
axiosで発見された重大な脆弱性 - 2026.04.12
axios v1.15.0 未満に Critical(CVSS 10.0)の脆弱性 CVE-2026-40175 が公表された。CWE-113 CRLF Injection とプロトタイプ汚染の組み合わせにより、AWS IAM 認証情報の窃取まで到達しうる。ただし Node.js の http モジュールは assertValidHeaderValue で CRLF を含むヘッダー値を拒否するため、Node + axios 構成では PoC がそのまま再現しない点にも言及。対策は axios 1.15.0 以上へのアップデート。
DevContainer で完結する Claude Code + Playwright MCP によるブラウザ操作自動化
DevContainerで完結!Claude Code + Playwright MCPを使ったブラウザ操作自動化の構築手順
Claude Code と Playwright MCP を DevContainer 内で組み合わせ、自然言語によるブラウザ操作から RPA スクリプトを自動生成する環境の構築手順。Playwright の知識がなくても操作を見せるだけでスクリプトを作れる点が最大の利点。動作確認として NotebookLM のソース同期を自動化した実例も紹介。Microsoft 公式の @playwright/mcp サーバーを利用。
GitHub Copilot CLI で分析業務を半自動化 — フェーズ分割とサブエージェント設計
GitHub Copilot CLI で分析業務を半自動化する(フェーズ分割×サブエージェント×シェルスクリプトの設計)
金融データサイエンティストが GitHub Copilot CLI を使い、分析の反復サイクルを半自動化した設計パターンの紹介。コンテキストのパンク・セッション間の状態引き継ぎ・プレミアムリクエストの浪費という3つの課題に対し、分割統治アプローチを採用。各フェーズに専用の AGENTS.md を用意し、定型作業はシェルスクリプトに委譲。業種やテーマを問わず応用可能な「Copilot との共存の型」として設計。
Python 開発環境を uv / Ruff / Taskfile でスッキリ整える
Python開発環境をスッキリ整える:uv / Ruff / Taskfile
pyenv + Poetry + flake8 + black + isort + Makefile という従来構成から、uv + Ruff + Taskfile への移行記録。uv は Python 本体のインストールから依存管理・仮想環境まで一括管理でき pyenv が不要に。Ruff はリント・フォーマット・インポート整列を一つのツールで高速に処理。Taskfile は Makefile より可読性の高い YAML ベースのタスクランナー。ツール数の削減により環境管理コストを大幅に低減。
AI エージェントのメモリ実験500回で判明した本当の問題 — Recall ではなく Binding
I Ran 500 More Agent Memory Experiments. The Real Problem Wasn't Recall. It Was Binding.
AI エージェント用永続メモリシステム OrKa Brain の第2弾ベンチマーク。250タスク・500回のA/B実験で、別モデルによる独立評価を導入。第1弾の63%勝率・+0.10改善に対し、より厳密なテストでは結果が悪化。問題の核心は「記憶の想起(Recall)」ではなく「記憶と現在のコンテキストの結びつけ(Binding)」にあると結論。率直な失敗分析が評価されている。
Gemini 2.5 の「思考」モデルが予算を吹き飛ばした話
Gemini Thinking: How "Brainy" Models Unexpectedly Blew My Budget
Gemini 2.0 の引退通知を受けて Gemini 2.5 ファミリーに移行したところ、リクエストの遅延増大とトークン使用量の爆発に直面した体験記。原因は Gemini 2.5 が全モデルデフォルトで「thinking(推論)」を有効にしており、回答前に大量のトークンを消費すること。チャリティプロジェクトで安価に運用していた環境が一気にコスト増となり、thinking トークンの明示的な制御が必要であることを痛感。
Gemini Live API と Reachy Mini で会話するロボットを作る
Build a Talking Robot with Gemini Live and Reachy Mini
Pollen Robotics の小型ロボット Reachy Mini を Gemini Live API に接続し、リアルタイム音声会話・顔追跡・ダンスを実現するオープンソースアプリのチュートリアル。fastrtc による低レイテンシ WebRTC I/O、Gemini Live と OpenAI Realtime の切り替え可能なハンドラ、ツールディスパッチ層(ダンス・感情表現・カメラ・ヘッド操作)の4層アーキテクチャで構成。Python で実装。
ブラウザタブを閉じることへの感情的恐怖
The Emotional Terror of Closing a Browser Tab
147個のブラウザタブを開いたまま閉じられない開発者の心理をユーモラスに描いたエッセイ。修正済みバグの Stack Overflow タブを「保険」として残す心理、いつか読むと思っている10,000語の Rust メモリ管理記事、永遠に開かれたままの「願望タブ」など、開発者なら誰もが共感する「デジタルホーディング」の実態を面白おかしく告白。
MCP Security の実践 — AI エージェントの意思決定リネージュによる監視
MCP Security in Action: Decision-Lineage Observability
AI エージェントが Terraform 変更やファイアウォールルール修正を提案する際、「なぜその決定をしたか」を追跡する Decision-Lineage Observability の実装事例。Goal → Context → Tool選択 → Action提案 → Policy Check → 実行/隔離の各ステップでトレースID・コンテキストハッシュ・推論根拠を記録。プロンプトログでは「何を言ったか」しか分からないが、Decision Lineage は推論チェーン全体の「なぜ」を捕捉する。