アップデート一覧に戻る
New releaseSep 1, 2026

snuffleupagus v0.14.0

php7およびphp8向けセキュリティモジュール - バグクラスを抹殺し、残りはバーチャルパッチで対処!

共有


Snuffleupagus' logo
Snuffleupagus

php7 および php8 用セキュリティモジュール - バグクラスを排除し、残りは仮想パッチで対応!

Testing PHP7 on various Linux distributions Testing PHP8 on various Linux distributions Coverity CII Best Practises readthedocs.org coveralls twitter Packaging status CodeQL

主な機能ダウンロード使用例ドキュメントライセンス謝辞

Snuffleupagus は、PHP 7+ および 8+ 用のモジュールで、バグクラス全体を排除することで、Webサイトに対する攻撃のコストを大幅に引き上げることを目的としています。また、強力な仮想パッチシステムを提供し、管理者が PHP コードに触れることなく、特定の脆弱性を修正し、不審な動作を監査できるようにします。

主な機能

  • 顕著なパフォーマンスへの影響なし
  • 強力でありながら記述が簡単な仮想パッチルール
  • 複数の脆弱性クラスの排除
    • Unserialize ベースのコード実行
    • mail ベースのコード実行
    • Cookie 窃取型 XSS
    • ファイルアップロードベースのコード実行
    • 脆弱な PRNG
    • XXE
    • フィルタベースのリモートコード実行および関連する不正行為
  • 複数の堅牢化機能
    • Cookie への自動 secure および samesite フラグ付与
    • 侵害後の挙動を検出するためのルールセット同梱
    • グローバルな 厳格モード および型ジャグリング防止
    • ストリームラッパーのホワイトリスト化
    • 書き込み可能なファイルの実行防止
    • eval のホワイトリスト/ブラックリスト
    • curl 使用時の TLS 証明書検証の強制
    • リクエストダンプ機能
  • 比較的健全なコードベース:

ダウンロード

ダウンロードページを用意しており、お使いのディストリビューション向けのパッケージが見つかりますが、もちろんこのリポジトリを git clone するか、github でリリースを確認することもできます。

使用例

さまざまなルール例を提供しています。以下のようなものです:

# `chmod` 関数を堅牢化
sp.disable_function.function("chmod").param("mode").value_r("^[0-9]{2}[67]$").drop();

# `system` でのコマンドインジェクションを緩和
sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();

ルールに違反すると、ログに次のような行が表示されます:

[snuffleupagus][0.0.0.0][disabled_function][drop] The execution has been aborted in /var/www/index.php:2, because the return value (0) of the function 'strpos' matched a rule.

ドキュメント

必要なドキュメントがすべて揃った包括的なウェブサイトを用意しています。もちろん、自分でビルドすることもできます。

謝辞

以下に感謝します:

カテゴリ