Skip to content

PHP probe: observer-API extension + no-extension mode #78

Open

Description

@vsn411

Part of #51. A probe for PHP apps (Laravel, Symfony, WordPress, plain PHP-FPM), built on the shared contract in #73.

Two install levels:

  1. No extension, pure PHP: auto_prepend_file=/opt/secfoo/probe/php/prepend.php.
  2. Extension, for function hits: a small C extension using the PHP 8 observer API (zend_observer_fcall_register) that observes only the watched functions and methods (Build a vulnerable-function watchlist from advisories #52 notation Namespace\Class::method).

PHP-FPM model: requests are short and workers are recycled. Aggregate per worker in memory and flush to the sensor every N requests or seconds, plus at worker shutdown. Never write to the socket per call.

Must not: read arguments, superglobals or request bodies, or add a blocking call to the request path.

Done when: Laravel and Symfony sample apps on PHP-FPM pass the #73 conformance kit at both install levels, and the PR includes an overhead benchmark.

Activity

  1. added
    enhancementNew feature or request
    help wantedExtra attention is needed
    hackathonOpen for the Secfoo hackathon
    difficulty: hardLeaderboard: 10 points when the PR closing this is merged
    on Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    difficulty: hardLeaderboard: 10 points when the PR closing this is mergedenhancementNew feature or requesthackathonOpen for the Secfoo hackathonhelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions