Chrome MV3拡張機能における面白いバグ

2025-07-13

Google ChromeがMV2からMV3に移行したことで、webRequestBlocking権限が削除され、多くの広告ブロッカーが機能しなくなりました。しかし、著者は面白いバグを発見しました。Chrome拡張機能のAPIがJavaScriptバインディングを使用しているため、`chrome.webRequest`イベントコンストラクターのパラメーターを操作することで、権限チェックを回避し、広告ブロック機能を実現することができました。このバグはセキュリティリスクではありませんでしたが、レガシーコードに潜む潜在的な問題、そして技術的な詳細を巧みに利用することで予期せぬ結果を得られる可能性を示しています。著者はGoogleにこのバグを報告し、現在は修正されています。

続きを読む
開発

ChromeOSの重大な脆弱性:Chrome拡張機能によるシステム完全制御

2025-05-28

セキュリティ研究者は、ChromeOSのファイルマネージャーに重大な脆弱性があることを発見しました。これにより、悪意のあるChrome拡張機能がシステムを完全に制御できるようになります。filesystem:chrome://file-manager URLを悪用することで、ユーザーファイルの読み書きや任意のコードの実行が可能になります。この脆弱性は、ChromeOSにおける時代遅れのJavaScript APIと、chrome://ページの権限の誤設定を利用しています。攻撃者はシステムを完全に制御し、ユーザーデータへのアクセス、システム設定の変更、さらにはCrostini経由での悪意のあるコードの実行を行うことができます。修正済みですが、この脆弱性は、Chrome/ChromeOSのような大規模で複雑なシステムにおける長年の設計上の選択のリスクを浮き彫りにしています。

続きを読む
テクノロジー ChromeOS脆弱性

ZigとRustを超えて:より人間フレンドリーなメタプログラミングアプローチ

2025-05-26

この記事では、RustのHindley-Milner型システムとZigのコンパイル時計算能力を組み合わせ、Zigの「型は値である」アプローチの複雑さを回避する、新しいプログラミング言語設計を探求します。コンパイル時実行のための`@`演算子、コンパイル時抽象化のための`Abstract`型、型イントロスペクションのための`TypeInfo`と`Field`型、コード操作のための`Code`と`parse`関数を導入することで、この設計は、自動コード生成やTypeScriptのような`Partial`型の実装など、強力なメタプログラミング機能を実現しながら、コードの可読性と推論の容易さを維持します。これは、型システムの使いやすさを維持しながら強力なメタプログラミングを実現するための新しいアプローチであり、将来の言語設計に新たな視点を提供します。

続きを読む
開発