From 5dc6578b7f5b63772867218fb0e8b964ac1e2c39 Mon Sep 17 00:00:00 2001 From: Syed Faheel Ahmad Date: Wed, 17 Jul 2019 19:48:24 +0530 Subject: [PATCH] Add Common Platform Enumeration (CPE) info --- schema.json | 3 + src/apps.json | 195 ++++++++++++++++++++++++++++++++++++++ src/drivers/npm/driver.js | 1 + 3 files changed, 199 insertions(+) diff --git a/schema.json b/schema.json index 1d4ddb67d..45b52ac12 100644 --- a/schema.json +++ b/schema.json @@ -38,6 +38,9 @@ }, "required": true }, + "cpe": { + "type": "string" + }, "cookies": { "type": "object", "additionalProperties": { diff --git a/src/apps.json b/src/apps.json index 504c4c5af..111a4fb14 100644 --- a/src/apps.json +++ b/src/apps.json @@ -68,6 +68,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:aol:aolserver", "headers": { "Server": "AOLserver/?([\\d.]+)?\\;version:\\1" }, @@ -100,6 +101,7 @@ "cats": [ 10 ], + "cpe": "cpe:/a:laurent_destailleur:awstats", "icon": "AWStats.png", "implies": "Perl", "meta": { @@ -291,6 +293,7 @@ "cats": [ 18 ], + "cpe": "cpe:/a:adobe:coldfusion", "headers": { "Cookie": "CFTOKEN=" }, @@ -316,6 +319,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:adobe:experience_manager", "html": [ "
]+data-component-path=\"[^\"+]jcr:", @@ -334,6 +338,7 @@ "cats": [ 20 ], + "cpe": "cpe:/a:adobe:golive", "icon": "Adobe GoLive.png", "meta": { "generator": "Adobe GoLive(?:\\s([\\d.]+))?\\;version:\\1" @@ -354,6 +359,7 @@ "cats": [ 4 ], + "cpe": "cpe:/a:adobe:robohelp", "icon": "Adobe RoboHelp.svg", "js": { "gbWhLang": "", @@ -519,6 +525,7 @@ 18, 22 ], + "cpe": "cpe:/a:lightbend:akka_http", "headers": { "Server": "akka-http(?:/([\\d.]+))?\\;version:\\1" }, @@ -540,6 +547,7 @@ "cats": [ 54 ], + "cpe": "cpe:/a:semperfiwebdesign:all_in_one_seo_pack", "html": "", "]+(?:typolight|contao)\\.css" @@ -2184,6 +2225,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:contenido:contendio", "icon": "Contenido.png", "implies": "PHP", "meta": { @@ -2237,6 +2279,7 @@ "cats": [ 7 ], + "cpe": "cpe:/a:coppermine-gallery:coppermine_photo_gallery", "html": "", @@ -2749,6 +2806,7 @@ "cats": [ 59 ], + "cpe": "cpe:/a:dojotoolkit:dojo", "icon": "Dojo.png", "js": { "dojo": "", @@ -2784,6 +2842,7 @@ "cookies": { "DokuWiki": "" }, + "cpe": "cpe:/a:dokuwiki:dokuwiki", "html": [ "]+id=\"dokuwiki__>", "]+href=\"#dokuwiki__" @@ -2799,6 +2858,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:dotclear:dotclear", "headers": { "X-Dotclear-Static-Cache": "" }, @@ -2856,6 +2916,7 @@ "cats": [ 4 ], + "cpe": "cpe:/a:doxygen:doxygen", "html": "(?:|
]*x:publishsource=\"?Excel\"?)", "icon": "Microsoft Excel.svg", "meta": { @@ -6516,6 +6653,7 @@ "cats": [ 20 ], + "cpe": "cpe:/a:microsoft:powerpoint", "html": "(?:]*xmlns:w=\"urn:schemas-microsoft-com:office:powerpoint\"||[^<]+[^!]+\\d+(?:[^!]+([\\d.]+))?)\\;version:\\1", "icon": "Microsoft PowerPoint.svg", "meta": { @@ -6528,6 +6666,7 @@ "cats": [ 20 ], + "cpe": "cpe:/a:microsoft:publisher", "html": "(?:]*xmlns:w=\"urn:schemas-microsoft-com:office:publisher\"|\\;version:\\1" ], @@ -7182,6 +7336,7 @@ 22, 64 ], + "cpe": "cpe:/a:nginx:nginx", "headers": { "Server": "nginx(?:/([\\d.]+))?\\;version:\\1", "X-Fastcgi-Cache": "" @@ -7193,6 +7348,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:nodejs:node.js", "icon": "node.js.png", "website": "http://nodejs.org" }, @@ -7200,6 +7356,7 @@ "cats": [ 2 ], + "cpe": "cpe:/a:nodebb:nodebb", "headers": { "X-Powered-By": "^NodeBB$" }, @@ -7275,6 +7432,7 @@ 1, 6 ], + "cpe": "cpe:/a:odoo:odoo", "html": "]* href=[^>]+/web/css/(?:web\\.assets_common/|website\\.assets_frontend/)\\;confidence:25", "icon": "Odoo.png", "implies": [ @@ -7331,6 +7489,7 @@ "cats": [ 6 ], + "cpe": "cpe:/a:open-classifieds:open_classifieds", "icon": "Open Classifieds.png", "meta": { "author": "open-classifieds\\.com", @@ -7345,6 +7504,7 @@ "cookies": { "OJSSID": "" }, + "cpe": "cpe:/a:public_knowledge_project:open_journal_systems", "icon": "Open Journal Systems.png", "implies": "PHP", "meta": { @@ -7356,6 +7516,7 @@ "cats": [ 10 ], + "cpe": "cpe:/a:openwebanalytics:open_web_analytics", "html": "", "icon": "Open Web Analytics.png", "js": { @@ -7384,6 +7545,7 @@ "cookies": { "OCSESSID": "" }, + "cpe": "cpe:/a:opencart:opencart", "icon": "OpenCart.png", "implies": "PHP", "website": "http://www.opencart.com" @@ -7392,6 +7554,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:alkacon:opencms", "headers": { "Server": "OpenCms" }, @@ -7469,6 +7632,7 @@ "cats": [ 33 ], + "cpe": "cpe:/a:openssl:openssl", "headers": { "Server": "OpenSSL(?:/([\\d.]+[a-z]?))?\\;version:\\1" }, @@ -7499,6 +7663,7 @@ "cats": [ 36 ], + "cpe": "cpe:/a:openx:openx", "icon": "OpenX.png", "script": [ "https?://[^/]*\\.openx\\.net", @@ -7538,6 +7703,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:oracle:application_server", "headers": { "Server": "Oracle[- ]Application[- ]Server(?: Containers for J2EE)?(?:[- ](\\d[\\da-z./]+))?\\;version:\\1" }, @@ -7548,6 +7714,7 @@ "cats": [ 6 ], + "cpe": "cpe:/a:oracle:commerce_platform", "headers": { "X-ATG-Version": "(?:ATGPlatform/([\\d.]+))?\\;version:\\1" }, @@ -7580,6 +7747,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:oracle:http_server", "headers": { "Server": "Oracle-HTTP-Server(?:/([\\d.]+))?\\;version:\\1" }, @@ -7598,6 +7766,7 @@ "cats": [ 23 ], + "cpe": "cpe:/a:oracle:web_cache", "headers": { "Server": "Oracle(?:AS)?[- ]Web[- ]Cache(?:[- /]([\\da-z./]+))?\\;version:\\1" }, @@ -7670,6 +7839,7 @@ "cookies": { "PHPSESSID": "" }, + "cpe": "cpe:/a:php:php", "headers": { "Server": "php/?([\\d.]+)?\\;version:\\1", "X-Powered-By": "^php/?([\\d.]+)?\\;version:\\1" @@ -7682,6 +7852,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:php-fusion:php-fusion", "html": "Powered by ]+php-fusion", "headers": { "X-Powered-By": "PHP-Fusion (.+)$\\;version:\\1" @@ -7697,6 +7868,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:phpnuke:php-nuke", "html": "<[^>]+Powered by PHP-Nuke", "icon": "PHP-Nuke.png", "implies": "PHP", @@ -7733,6 +7905,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:pagekit:pagekit", "icon": "Pagekit.png", "meta": { "generator": "Pagekit" @@ -7836,6 +8009,7 @@ "cats": [ 41 ], + "cpe": "cpe:/a:paypal:paypal", "html": "]+_s-xclick", "icon": "PayPal.svg", "js": { @@ -7898,6 +8072,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:perl:perl", "headers": { "Server": "\\bPerl\\b(?: ?/?v?([\\d.]+))?\\;version:\\1" }, @@ -7949,6 +8124,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:phusionpassenger:phusion_passenger", "headers": { "Server": "Phusion Passenger ([\\d.]+)\\;version:\\1", "X-Powered-By": "Phusion Passenger ?([\\d.]+)?\\;version:\\1" @@ -7962,6 +8138,7 @@ 6, 18 ], + "cpe": "cpe:/a:pimcore:pimcore", "headers": { "X-Powered-By": "^pimcore$" }, @@ -8029,6 +8206,7 @@ "cookies": { "PLAY_SESSION": "" }, + "cpe": "cpe:/a:playframework:play_framework", "icon": "Play.svg", "implies": "Scala", "website": "https://www.playframework.com" @@ -8059,6 +8237,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:pligg:pligg_cms", "html": "]+id=\"xvotes-0", "icon": "Pligg.png", "js": { @@ -8073,6 +8252,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:plone:plone", "icon": "Plone.png", "implies": "Python", "meta": { @@ -8141,6 +8321,7 @@ "cats": [ 34 ], + "cpe": "cpe:/a:postgresql:postgresql", "icon": "PostgreSQL.png", "website": "http://www.postgresql.org/" }, @@ -8188,6 +8369,7 @@ "cookies": { "PrestaShop": "" }, + "cpe": "cpe:/a:prestashop:prestashop", "headers": { "Powered-By": "^Prestashop$" }, @@ -8341,6 +8523,7 @@ "cats": [ 19 ], + "cpe": "cpe:/a:pygments:pygments", "html": "]+pygments\\.css[\"']", "icon": "pygments.png", "website": "http://pygments.org" @@ -8363,6 +8546,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:python:python", "headers": { "Server": "(?:^|\\s)Python(?:/([\\d.]+))?\\;version:\\1" }, @@ -8394,6 +8578,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:opensolution:quick.cms", "html": "]+opensolution\\.org/\">CMS by", "icon": "Quick.CMS.png", "meta": { @@ -8460,6 +8645,7 @@ "cats": [ 4 ], + "cpe": "cpe:/a:dave_thomas:rdoc", "html": [ "]+href=\"[^\"]*rdoc-style\\.css", "Generated by ]+href=\"https?://rdoc\\.rubyforge\\.org[^>]+>RDoc ([\\d.]*\\d)\\;version:\\1" @@ -8603,6 +8789,7 @@ "cats": [ 12 ], + "cpe": "cpe:/a:facebook:react", "html": "<[^>]+data-react", "icon": "React.png", "js": { @@ -8620,6 +8807,7 @@ "cats": [ 28 ], + "cpe": "cpe:/o:redhat:linux", "headers": { "Server": "Red Hat", "X-Powered-By": "Red Hat" @@ -8647,6 +8835,7 @@ "cookies": { "_redmine_session": "" }, + "cpe": "cpe:/a:redmine:redmine", "html": "Powered by ]+Redmine", "icon": "Redmine.png", "implies": "Ruby on Rails", @@ -8680,6 +8869,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:caucho:resin", "headers": { "Server": "^Resin(?:/(\\S*))?\\;version:\\1" }, @@ -12389,6 +12579,7 @@ "cats": [ 47 ], + "cpe": "cpe:/a:git-scm:git", "icon": "git.svg", "meta": { "generator": "\\bgit/([\\d.]+\\d)\\;version:\\1" @@ -12399,6 +12590,7 @@ "cats": [ 47 ], + "cpe": "cpe:/a:gitlist:gitlist", "html": "

Powered by ]+>GitList ([\\d.]+)\\;version:\\1", "implies": [ "PHP", @@ -13215,6 +13407,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:acme:thttpd", "headers": { "Server": "\\bthttpd(?:/([\\d.]+))?\\;version:\\1" }, @@ -13280,6 +13473,7 @@ "cats": [ 2 ], + "cpe": "cpe:/a:vbulletin:vbulletin", "html": "

Powered by vBulletin", "icon": "vBulletin.png", "implies": "PHP", @@ -13335,6 +13529,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:webedition:webedition_cms", "icon": "webEdition.png", "meta": { "DC.title": "webEdition", diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index fb8f77611..18bb2a4e7 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -167,6 +167,7 @@ class Driver { version: app.version || null, icon: app.props.icon || 'default.svg', website: app.props.website, + cpe: app.props.cpe || null, categories, }); }