31 |
32 |
33 |
34 |
35 | PHP Version Audit
36 | : Three Years and Running
37 |
38 |
39 | 41 | Quick Stats 42 |
-
43 |
- Updates: 2027 44 |
- CVEs: 34 45 |
- Releases: 102
46 |
-
47 |
- Major: 1 48 |
- Minor: 2 49 |
- Patch: 99 50 |
52 | - Median hours: 5 hours (vs. 260 from CVE database - 98% faster) 53 |
57 | A little over three years ago, I released the first version of PHP Version Audit. In case you've never 58 | heard of it before, it is just a simple utility to check a given version of PHP against known CVEs or 59 | support end dates. The coolest part of it (in my opinion) is that it self-updates by parsing the PHP 60 | changelog twice a day, discovering any new releases and CVEs that have been patched. What makes it stand 61 | out from other CVE tools is that the source being the Changelog means that the CVE alert is available long 62 | before the NVE CVE database has been updated with the information. Now that it has been up and running for 63 | three years, I thought it would be fun to look at some stats of the project. 64 |
65 | 66 |67 | In the past three years, there have been 2,027 updates to the 68 | rules that 69 | drive PHP Version Audit. The vast majority of the updates being automatic on a cron schedule. Those 70 | automatic updates have parsed 34 CVEs from the changelog - across 71 | 102 version releases. PHP Version Audit has discovered CVE announcements on median 72 | of 5 hours after the Changelog update. The NVE CVE database gets updated with the CVEs on median of 73 | 260 hours - or almost 11 days after the Changelog update, making PHP Version Audit 98% faster than 74 | other tools that source from the CVE Database. I think that is pretty cool! 75 |
76 | 77 |CVE Database update after php release announcement
78 | 79 |PHP Version Audit update after php release announcement
84 | 85 |91 | PHP Version Audit was designed from the beginning to be self-updating. For the most part, that design 92 | has worked out great. However, there are always some hiccups or breakages that require fixing. Below is a 93 | graph showing the update frequency over the lifespan of the project. The longest the self-updating feature 94 | was broken was 7 days. I've made it where PHP Version Audit will throw a 'Stale' exception if its last update 95 | is over 2 weeks, so I'm happy to say I'm well within the grace period. While things did a have bit of a rocky 96 | start, it is pretty rare to go un-updated for longer then 24 hours. 97 |
98 | 99 |Update Frequency
100 |105 | That is all for the stats! Thank you for reading. Earlier this year I released 106 | Node Version Audit, as it 107 | continues running it will be interesting to see how the stats compare with PHP in a few years. 108 | By the way, the only stat I don't know is if anyone 109 | is actually using this thing? 110 | I switched jobs recently and no longer use PHP, so while I enjoy keeping this project going, I no longer get to use it. 111 | It would be nice to know if someone out there is actually using it! 112 |
113 | 114 | 117 |