有限状態トランスデューサを用いたGitHub Actions静的解析の最適化

2025-08-18

静的解析ツールzizmorの開発者は、有限状態トランスデューサ(FST)を用いて、GitHub Actionsのテンプレートインジェクション脆弱性検出機能を最適化しました。GitHub Actionsのコンテキストパターンを論理的な「能力」にマッピングすることで、FSTは表現サイズを1桁削減(約240KBから約14.5KB)し、以前のテーブルベースおよびプレフィックスツリーベースのアプローチよりも高速でメモリ効率の高いものとなりました。さらに、FSTはコンパイル時に事前計算されるため、起動コストがなくなります。この改善により、誤検知が大幅に減少し、検出効率が向上します。

続きを読む

GitHub Actionsポリシーのバイパス:一見安全なポリシーの簡単な回避方法

2025-06-11

GitHub Actionsは、リポジトリ、組織、またはエンタープライズ内で使用できるアクションと再利用可能なワークフローを制限するためのポリシーメカニズムを提供しています。しかし、このメカニズムは簡単にバイパスできます。ランナーのファイルシステムにアクションリポジトリをクローンし、同じアクションを実行するためにローカルパス参照を使用することで、ポリシーは簡単に回避されます。これは、一見安全なポリシーを無効にします。著者は、GitHubがこの脆弱性を修正し、開発者がポリシーが実際には存在しないセキュリティ境界を提供していると誤解するのを防ぐよう促しています。

続きを読む

Makefile効果:なぜ私たちは設定ファイルをコピー&ペーストするのか

2025-01-11

この記事では、ソフトウェアエンジニアリングにおいて広く見られる「Makefile効果」について論じています。これは、エンジニアがMakefileやCI/CD設定など既存の設定ファイルをゼロから書くのではなく、コピー&ペーストして修正する傾向があるというものです。著者は、これが必ずしも悪いことではないと主張しつつ、ツールが複雑すぎたり、適切な診断やデバッグサポートが不足していることを示唆していると指摘しています。そして、この効果を最小限に抑え、開発効率とセキュリティを向上させるための設計上の推奨事項を示しています。

続きを読む