Skip to content

Funnypot

A framework-free PHP honeypot toolkit. Funnypot turns a scanner's own probes into believable, inert fake responses — so automated attackers waste effort on decoys while you collect high-signal intel on who's probing you and how.

It's built as a small family of composable packages: a pure-PHP engine, a decision layer, a reputation client, a batteries-included embedder, and drop-in adapters for Laravel and WordPress. Everything runs on plain PHP (the engine targets PHP 7.3+); no framework is required, and nothing an attacker sends is ever executed.

What this documentation covers

These docs cover the public, installable packages and the standalone honeypot app. They are written for someone adopting Funnypot in their own project — install steps, public API, and usage.

Which package do I want?

I want to… Use
Add honeypot deception to an existing PHP app or route funnypot (the embedder — batteries included)
Drop it into a Laravel app funnypot-laravel
Drop it into WordPress funnypot-wordpress
Use just the detection + fake-response engine directly funnypot-core
Turn observations into ban/allow decisions funnypot-policy
Query / report IP reputation funnypot-mainnet-client
Run a standalone multi-protocol honeypot box the honeypot app

New here? Start with Getting started.

Principles

  • Framework-free. The engine is plain PHP 7.3+ — no framework fingerprint, no heavy dependencies.
  • Inert by default. Funnypot never executes, relays, or authenticates anything an attacker sends; it only ever serves believable canned responses and records the attempt.
  • Composable. Take just the engine, or the whole batteries-included embedder, or a framework adapter — each package owns a distinct sub-namespace and depends only on tagged releases.

License

Each public package carries its own license in its repository. See the individual package pages.