openai/php2shell-checker
JavaScript
Captured source
source ↗openai/php2shell-checker
Language: JavaScript
License: Apache-2.0
Stars: 569
Forks: 44
Open issues: 7
Created: 2026-10-21T00:29:12Z
Pushed: 2026-10-21T18:05:56Z
Default branch: main
Fork: no
Archived: no
README:
PHP Version Checker
Check a website or local PHP binary to see if it's vulnerable to php2shell.
To install both skills, ask Codex:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
Use [phpcheck-server](skills/phpcheck-server/SKILL.md) when you have server access, or [phpcheck-url](skills/phpcheck-url/SKILL.md) when you only have a URL:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
Run directly
Check a website:
node phpcheck.js "https://example.com"
Check the local CLI PHP
node phpcheck.js --local
Results
| Result | Exit code | Meaning | | --- | --- | --- | | OK | 0 | Stable PHP patch version above the embedded cutoff for a listed major/minor branch. | | VULNERABLE | 1 | PHP version at or below the embedded cutoff for that branch. | | UNKNOWN | 3 | No PHP version or response, an unrecognized version/branch, or a newer prerelease build. |
Use --json for machine-readable output (patch_status is ok, vulnerable, or unknown). Invalid arguments exit with code 2.
Tests
node --test phpcheck.test.js
Tests run the CLI against local HTTP servers and a fake PHP executable. No PHP installation or external website is required.
Limitations
The checker only evaluates versions exposed in HTTP response headers or by php -v. It reads X-Powered-By and Server, sends HEAD, and falls back to GET only when HEAD returns 405 or 501. It does not follow redirects or inspect response bodies. Missing or hidden PHP headers return UNKNOWN.
OK is a version comparison based on the assumption that subsequent stable patches in each listed branch contain the fix. It does not independently verify a security fix. Check the versions against the official PHP security release. Headers can be hidden or changed, and distribution backports may not change the upstream version. UNKNOWN does not mean the target is patched!
Contributing
OpenAI is not accepting external code contributions to this project. Bug reports and non-code feedback are welcome through GitHub issues. See [CONTRIBUTING.md](CONTRIBUTING.md).
License
This project is licensed under the [Apache License 2.0](LICENSE).
Notability
Cannot access external URL to summarize discussion.