snuffleupagus

Security module for php7 - Killing bugclasses and virtual-patching the rest!

Github星跟蹤圖

Snuffleupagus is a PHP 7+ module designed to
drastically raise the cost of attacks against websites, by killing entire bug
classes. It also provides a powerful virtual-patching system, allowing
administrator to fix specific vulnerabilities and audit suspicious behaviours
without having to touch the PHP code.

Key Features

  • No noticeable performance impact
  • Powerful yet simple to write virtual-patching rules
  • Killing several classes of vulnerabilities
  • Several hardening features
    • Automatic secure and samesite flag for cookies
    • Bundled set of rules to detect post-compromissions behaviours
    • Global strict mode and type-juggling prevention
    • Whitelisting of stream wrappers
    • Preventing writeable files execution
    • Whitelist/blacklist for eval
    • Enforcing TLS certificate validation when using curl
    • Request dumping capability
  • A relatively sane code base:

Download

We've got a download
page
, where you can find
packages for your distribution, but you can of course just git clone this
repo, or check the releases on github.

Examples

We're providing various example rules,
that are looking like this:

# Harden the `chmod` function
sp.disable_function.function("chmod").param("mode").value_r("^[0-9]{2}[67]$").drop();

# Mitigate command injection in `system`
sp.disable_function.function("system").param("command").value_r("[$, ;&`\\n]").drop();

Upon violation of a rule, you should see lines like this in your logs:

[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.

Documentation

We've got a comprehensive website with
all the documentation that you could possibly wish for. You can of course
build it yourself.

Thanks

Many thanks to the Suhosin project for being a huge
source of inspiration, and to all our
contributors
.

主要指標

概覽
名稱與所有者jvoisin/snuffleupagus
主編程語言PHP
編程語言Makefile (語言數: 7)
平台
許可證GNU Lesser General Public License v3.0
所有者活动
創建於2017-09-20 08:06:45
推送於2025-06-25 17:39:11
最后一次提交2025-06-25 11:37:23
發布數20
最新版本名稱v0.11.0 (發布於 2024-09-06 14:35:50)
第一版名稱v0.1.0 (發布於 2017-12-21 16:29:03)
用户参与
星數811
關注者數36
派生數93
提交數1.1k
已啟用問題?
問題數282
打開的問題數15
拉請求數193
打開的拉請求數0
關閉的拉請求數35
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?