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 fe1849ec8..652e85644 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": { @@ -319,6 +321,7 @@ "cats": [ 18 ], + "cpe": "cpe:/a:adobe:coldfusion", "headers": { "Cookie": "CFTOKEN=" }, @@ -344,6 +347,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:adobe:experience_manager", "html": [ "
]+data-component-path=\"[^\"+]jcr:", @@ -362,6 +366,7 @@ "cats": [ 20 ], + "cpe": "cpe:/a:adobe:golive", "icon": "Adobe GoLive.png", "meta": { "generator": "Adobe GoLive(?:\\s([\\d.]+))?\\;version:\\1" @@ -382,6 +387,7 @@ "cats": [ 4 ], + "cpe": "cpe:/a:adobe:robohelp", "icon": "Adobe RoboHelp.svg", "js": { "gbWhLang": "", @@ -556,6 +562,7 @@ 18, 22 ], + "cpe": "cpe:/a:lightbend:akka_http", "headers": { "Server": "akka-http(?:/([\\d.]+))?\\;version:\\1" }, @@ -577,6 +584,7 @@ "cats": [ 54 ], + "cpe": "cpe:/a:semperfiwebdesign:all_in_one_seo_pack", "html": "", "]+(?:typolight|contao)\\.css" @@ -2246,6 +2287,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:contenido:contendio", "icon": "Contenido.png", "implies": "PHP", "meta": { @@ -2299,6 +2341,7 @@ "cats": [ 7 ], + "cpe": "cpe:/a:coppermine-gallery:coppermine_photo_gallery", "html": "", @@ -2813,6 +2870,7 @@ "cats": [ 59 ], + "cpe": "cpe:/a:dojotoolkit:dojo", "icon": "Dojo.png", "js": { "dojo": "", @@ -2848,6 +2906,7 @@ "cookies": { "DokuWiki": "" }, + "cpe": "cpe:/a:dokuwiki:dokuwiki", "html": [ "]+id=\"dokuwiki__>", "]+href=\"#dokuwiki__" @@ -2863,6 +2922,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:dotclear:dotclear", "headers": { "X-Dotclear-Static-Cache": "" }, @@ -2920,6 +2980,7 @@ "cats": [ 4 ], + "cpe": "cpe:/a:doxygen:doxygen", "html": "(?:|
]*x:publishsource=\"?Excel\"?)", "icon": "Microsoft Excel.svg", "meta": { @@ -6625,6 +6762,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": { @@ -6637,6 +6775,7 @@ "cats": [ 20 ], + "cpe": "cpe:/a:microsoft:publisher", "html": "(?:]*xmlns:w=\"urn:schemas-microsoft-com:office:publisher\"|\\;version:\\1" ], @@ -7291,6 +7445,7 @@ 22, 64 ], + "cpe": "cpe:/a:nginx:nginx", "headers": { "Server": "nginx(?:/([\\d.]+))?\\;version:\\1", "X-Fastcgi-Cache": "" @@ -7302,6 +7457,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:nodejs:node.js", "icon": "node.js.png", "website": "http://nodejs.org" }, @@ -7309,6 +7465,7 @@ "cats": [ 2 ], + "cpe": "cpe:/a:nodebb:nodebb", "headers": { "X-Powered-By": "^NodeBB$" }, @@ -7384,6 +7541,7 @@ 1, 6 ], + "cpe": "cpe:/a:odoo:odoo", "html": "]* href=[^>]+/web/css/(?:web\\.assets_common/|website\\.assets_frontend/)\\;confidence:25", "icon": "Odoo.png", "implies": [ @@ -7440,6 +7598,7 @@ "cats": [ 6 ], + "cpe": "cpe:/a:open-classifieds:open_classifieds", "icon": "Open Classifieds.png", "meta": { "author": "open-classifieds\\.com", @@ -7454,6 +7613,7 @@ "cookies": { "OJSSID": "" }, + "cpe": "cpe:/a:public_knowledge_project:open_journal_systems", "icon": "Open Journal Systems.png", "implies": "PHP", "meta": { @@ -7465,6 +7625,7 @@ "cats": [ 10 ], + "cpe": "cpe:/a:openwebanalytics:open_web_analytics", "html": "", "icon": "Open Web Analytics.png", "js": { @@ -7502,6 +7663,7 @@ "cookies": { "OCSESSID": "" }, + "cpe": "cpe:/a:opencart:opencart", "icon": "OpenCart.png", "implies": "PHP", "website": "http://www.opencart.com" @@ -7510,6 +7672,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:alkacon:opencms", "headers": { "Server": "OpenCms" }, @@ -7587,6 +7750,7 @@ "cats": [ 33 ], + "cpe": "cpe:/a:openssl:openssl", "headers": { "Server": "OpenSSL(?:/([\\d.]+[a-z]?))?\\;version:\\1" }, @@ -7617,6 +7781,7 @@ "cats": [ 36 ], + "cpe": "cpe:/a:openx:openx", "icon": "OpenX.png", "script": [ "https?://[^/]*\\.openx\\.net", @@ -7656,6 +7821,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:oracle:application_server", "headers": { "Server": "Oracle[- ]Application[- ]Server(?: Containers for J2EE)?(?:[- ](\\d[\\da-z./]+))?\\;version:\\1" }, @@ -7666,6 +7832,7 @@ "cats": [ 6 ], + "cpe": "cpe:/a:oracle:commerce_platform", "headers": { "X-ATG-Version": "(?:ATGPlatform/([\\d.]+))?\\;version:\\1" }, @@ -7698,6 +7865,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:oracle:http_server", "headers": { "Server": "Oracle-HTTP-Server(?:/([\\d.]+))?\\;version:\\1" }, @@ -7716,6 +7884,7 @@ "cats": [ 23 ], + "cpe": "cpe:/a:oracle:web_cache", "headers": { "Server": "Oracle(?:AS)?[- ]Web[- ]Cache(?:[- /]([\\da-z./]+))?\\;version:\\1" }, @@ -7806,6 +7975,7 @@ "cookies": { "PHPSESSID": "" }, + "cpe": "cpe:/a:php:php", "headers": { "Server": "php/?([\\d.]+)?\\;version:\\1", "X-Powered-By": "^php/?([\\d.]+)?\\;version:\\1" @@ -7818,6 +7988,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:php-fusion:php-fusion", "html": "Powered by ]+php-fusion", "headers": { "X-Powered-By": "PHP-Fusion (.+)$\\;version:\\1" @@ -7833,6 +8004,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:phpnuke:php-nuke", "html": "<[^>]+Powered by PHP-Nuke", "icon": "PHP-Nuke.png", "implies": "PHP", @@ -7869,6 +8041,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:pagekit:pagekit", "icon": "Pagekit.png", "meta": { "generator": "Pagekit" @@ -7972,6 +8145,7 @@ "cats": [ 41 ], + "cpe": "cpe:/a:paypal:paypal", "html": "]+_s-xclick", "icon": "PayPal.svg", "js": { @@ -8034,6 +8208,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:perl:perl", "headers": { "Server": "\\bPerl\\b(?: ?/?v?([\\d.]+))?\\;version:\\1" }, @@ -8085,6 +8260,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:phusionpassenger:phusion_passenger", "headers": { "Server": "Phusion Passenger ([\\d.]+)\\;version:\\1", "X-Powered-By": "Phusion Passenger ?([\\d.]+)?\\;version:\\1" @@ -8098,6 +8274,7 @@ 6, 18 ], + "cpe": "cpe:/a:pimcore:pimcore", "headers": { "X-Powered-By": "^pimcore$" }, @@ -8165,6 +8342,7 @@ "cookies": { "PLAY_SESSION": "" }, + "cpe": "cpe:/a:playframework:play_framework", "icon": "Play.svg", "implies": "Scala", "website": "https://www.playframework.com" @@ -8195,6 +8373,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:pligg:pligg_cms", "html": "]+id=\"xvotes-0", "icon": "Pligg.png", "js": { @@ -8209,6 +8388,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:plone:plone", "icon": "Plone.png", "implies": "Python", "meta": { @@ -8277,6 +8457,7 @@ "cats": [ 34 ], + "cpe": "cpe:/a:postgresql:postgresql", "icon": "PostgreSQL.png", "website": "http://www.postgresql.org/" }, @@ -8324,6 +8505,7 @@ "cookies": { "PrestaShop": "" }, + "cpe": "cpe:/a:prestashop:prestashop", "headers": { "Powered-By": "^Prestashop$" }, @@ -8477,6 +8659,7 @@ "cats": [ 19 ], + "cpe": "cpe:/a:pygments:pygments", "html": "]+pygments\\.css[\"']", "icon": "pygments.png", "website": "http://pygments.org" @@ -8499,6 +8682,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:python:python", "headers": { "Server": "(?:^|\\s)Python(?:/([\\d.]+))?\\;version:\\1" }, @@ -8530,6 +8714,7 @@ "cats": [ 1 ], + "cpe": "cpe:/a:opensolution:quick.cms", "html": "]+opensolution\\.org/\">CMS by", "icon": "Quick.CMS.png", "meta": { @@ -8596,6 +8781,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" @@ -8739,6 +8925,7 @@ "cats": [ 12 ], + "cpe": "cpe:/a:facebook:react", "html": "<[^>]+data-react", "icon": "React.png", "js": { @@ -8756,6 +8943,7 @@ "cats": [ 28 ], + "cpe": "cpe:/o:redhat:linux", "headers": { "Server": "Red Hat", "X-Powered-By": "Red Hat" @@ -8783,6 +8971,7 @@ "cookies": { "_redmine_session": "" }, + "cpe": "cpe:/a:redmine:redmine", "html": "Powered by ]+Redmine", "icon": "Redmine.png", "implies": "Ruby on Rails", @@ -8816,6 +9005,7 @@ "cats": [ 22 ], + "cpe": "cpe:/a:caucho:resin", "headers": { "Server": "^Resin(?:/(\\S*))?\\;version:\\1" }, @@ -12600,6 +12790,7 @@ "cats": [ 47 ], + "cpe": "cpe:/a:git-scm:git", "icon": "git.svg", "meta": { "generator": "\\bgit/([\\d.]+\\d)\\;version:\\1" @@ -12610,6 +12801,7 @@ "cats": [ 47 ], + "cpe": "cpe:/a:gitlist:gitlist", "html": "

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

Powered by vBulletin", "icon": "vBulletin.png", "implies": "PHP", @@ -13546,6 +13740,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, }); }