Add AWS Certificate Manager, DigiCert, Identrust, Lets Encrypt, Sectigo detection

main
Elbert Alias 4 years ago
parent 84803bb91c
commit d2b11ffcbb

@ -586,7 +586,7 @@
],
"icon": "aircall.png",
"script": "^https?://cdn\\.aircall\\.io/",
"description": "Aircall is a cloud-based phone system for customer support and sales teams."
"description": "Aircall is a cloud-based phone system for customer support and sales teams.",
"website": "http://aircall.io"
},
"Airee": {
@ -742,6 +742,47 @@
"implies": "Amazon Web Services",
"website": "https://aws.amazon.com/elasticloadbalancing/"
},
"AWS Certificate Manager": {
"cats": [
70
],
"certIssuer": "Amazon",
"icon": "aws.svg",
"implies": "Amazon Web Services",
"website": "https://aws.amazon.com/certificate-manager/"
},
"Let's Encrypt": {
"cats": [
70
],
"certIssuer": "Let's Encrypt",
"icon": "Lets Encrypt.svg",
"website": "https://letsencrypt.org/"
},
"Sectigo": {
"cats": [
70
],
"certIssuer": "Sectigo",
"icon": "Sectigo.svg",
"website": "https://sectigo.com/"
},
"DigiCert": {
"cats": [
70
],
"certIssuer": "DigiCert",
"icon": "DigiCert.svg",
"website": "https://www.digicert.com/"
},
"Identrust": {
"cats": [
70
],
"certIssuer": "TrustID",
"icon": "Identrust.svg",
"website": "https://www.identrust.com/"
},
"Amazon Cloudfront": {
"cats": [
31
@ -824,7 +865,7 @@
62
],
"icon": "aws.svg",
"description": "Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality."
"description": "Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.",
"website": "https://aws.amazon.com/"
},
"Amber": {
@ -923,7 +964,7 @@
"ng.coreTokens": "",
"ng.probe": ""
},
"description": "Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google."
"description": "Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google.",
"website": "https://angular.io"
},
"Angular Material": {
@ -15656,6 +15697,10 @@
"69": {
"name": "Social login",
"priority": 6
},
"70": {
"name": "SSL/TLS certificate authority",
"priority": 6
}
}
}

@ -317,7 +317,13 @@ class Site {
} else {
responseReceived = true
this.onDetect(analyze({ headers }))
const certIssuer = response.securityDetails()
? response.securityDetails().issuer()
: ''
console.log(certIssuer)
this.onDetect(analyze({ headers, certIssuer }))
await this.emit('response', { page, response })
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility"},
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login"},
"categoryName70": { "message": "SSL/TLS certificate authority"}
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility"},
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login"},
"categoryName70": { "message": "SSL/TLS certificate authority"}
}

@ -83,5 +83,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -85,5 +85,6 @@
"categoryName66": { "message": "UI frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -83,5 +83,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -85,5 +85,6 @@
"categoryName66": { "message": "UI 프레임워크" },
"categoryName67": { "message": "쿠키 동의" },
"categoryName68": { "message": "접근성" },
"categoryName69": { "message": "소셜 로그인"}
"categoryName69": { "message": "소셜 로그인" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -83,5 +83,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -85,5 +85,6 @@
"categoryName66": { "message": "UI Фреймворк" },
"categoryName67": { "message": "Соответствие cookie" },
"categoryName68": { "message": "Доступность" },
"categoryName69": { "message": "Social login" }
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Каркаси" },
"categoryName67": { "message": "Відповідність файлам cookie" },
"categoryName68": { "message": "Доступність" },
"categoryName69": { "message": "Social login" }
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI Frameworks" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility"},
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login"},
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -85,5 +85,6 @@
"categoryName66": { "message": "用户界面UI框架" },
"categoryName67": { "message": "Cookie 合规" },
"categoryName68": { "message": "辅助功能"},
"categoryName69": { "message": "社交登录"}
"categoryName69": { "message": "社交登录"},
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -87,5 +87,6 @@
"categoryName66": { "message": "UI 框架" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibility" },
"categoryName69": { "message": "Social login"}
"categoryName69": { "message": "Social login" },
"categoryName70": { "message": "SSL/TLS certificate authority" }
}

@ -0,0 +1,4 @@
<svg width="101" height="101" viewBox="0 0 101 101" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M50.8 100.8C78.4142 100.8 100.8 78.4142 100.8 50.8C100.8 23.1858 78.4142 0.800003 50.8 0.800003C23.1858 0.800003 0.799988 23.1858 0.799988 50.8C0.799988 78.4142 23.1858 100.8 50.8 100.8Z" fill="#0174C3"/>
<path d="M78.4 54.7C77.4 44.4 70.4 37.4 65 30.1C67.3 26.7 72.4 27.8 76.2 28.6C71.4 25.3 65.7 23.2 59.6 22.7C48 22.6 38.9 29.2 30.3 36.7C25.2 34.8 28.7 29.3 28.8 25.5C24.4 31.6 23 38.3 23.1 45.3C23.3 51.5 25.9 57.6 29.4 63C31.9 65.8 34.4 68.7 36.9 71.6C34.4 75.8 29.5 73.9 25.7 73.2C31.7 77.6 38.4 79 45.4 78.9C51.6 78.7 57.6 76.1 63 72.5C65.8 70 68.7 67.5 71.6 65C74.1 67.9 74.6 72.7 73.1 76.2C77.5 70.1 79.1 62.7 78.4 54.7ZM70.2 55C68.1 57.7 65.4 60.9 65.4 60.9C62.8 63.9 60.4 65.4 59.4 66.2C55.8 69 51.4 70.5 47.1 70.7C47.1 70.7 46.6 70.7 46.1 70.6L46 70.5C43.9 68.4 41 65.4 41 65.4C39.4 63.5 38 62.6 35.9 59.6C33.3 55.9 31.6 51.6 31.4 47.2V45.7L36.5 41.2C42.4 36 48.7 31.5 56.7 31.4H57L60.9 36.5C64.7 41.7 69.7 46.5 70.3 53.8C70.2 53.8 70.3 54.9 70.2 55Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,4 @@
<svg width="246" height="246" viewBox="0 0 246 246" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 25.4307H54.435V221.871H0V25.4307Z" fill="#00519C"/>
<path d="M131.633 72.704H73V25H245.01V72.704H186.065V221.434H131.63L131.633 72.704Z" fill="#00519C"/>
</svg>

After

Width:  |  Height:  |  Size: 273 B

@ -0,0 +1,9 @@
<svg width="67" height="67" viewBox="0 0 67 67" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M47.489 35.962H39.449V31.834C39.449 28.537 36.766 25.855 33.469 25.855C30.172 25.855 27.49 28.538 27.49 31.834V35.962H19.45V31.834C19.45 24.104 25.739 17.814 33.47 17.814C41.201 17.814 47.49 24.103 47.49 31.834V35.962H47.489V35.962Z" fill="#F9A11D"/>
<path d="M50.732 35.962H16.207C14.733 35.962 13.527 37.168 13.527 38.642V64.182C13.527 65.656 14.733 66.862 16.207 66.862H50.732C52.206 66.862 53.412 65.656 53.412 64.182V38.642C53.412 37.168 52.206 35.962 50.732 35.962ZM35.219 52.731V56.192C35.219 57.158 34.435 57.941 33.47 57.941C32.505 57.941 31.721 57.157 31.721 56.192V52.732C30.645 52.121 29.918 50.968 29.918 49.642C29.918 47.68 31.509 46.09 33.47 46.09C35.432 46.09 37.022 47.681 37.022 49.642C37.022 50.967 36.295 52.12 35.219 52.731V52.731Z" fill="#2C3C69"/>
<path d="M12.707 32.154H4.37599C3.02499 32.154 1.92999 31.059 1.92999 29.708C1.92999 28.357 3.02499 27.262 4.37599 27.262H12.707C14.058 27.262 15.153 28.357 15.153 29.708C15.153 31.059 14.057 32.154 12.707 32.154Z" fill="#F9A11D"/>
<path d="M18.575 19.049C18.029 19.049 17.478 18.867 17.023 18.492L10.433 13.073C9.39001 12.215 9.23901 10.674 10.098 9.62997C10.956 8.58697 12.497 8.43597 13.541 9.29397L20.131 14.713C21.174 15.571 21.325 17.112 20.466 18.156C19.983 18.745 19.282 19.049 18.575 19.049V19.049Z" fill="#F9A11D"/>
<path d="M33.469 13.289C32.118 13.289 31.023 12.194 31.023 10.843V2.446C31.023 1.095 32.118 0 33.469 0C34.82 0 35.915 1.095 35.915 2.446V10.843C35.915 12.194 34.82 13.289 33.469 13.289Z" fill="#F9A11D"/>
<path d="M48.363 19.049C47.656 19.049 46.956 18.745 46.472 18.156C45.614 17.113 45.764 15.571 46.807 14.713L53.397 9.29397C54.441 8.43597 55.982 8.58697 56.84 9.62997C57.698 10.673 57.548 12.215 56.505 13.073L49.915 18.492C49.46 18.867 48.91 19.049 48.363 19.049V19.049Z" fill="#F9A11D"/>
<path d="M62.563 32.154H54.153C52.802 32.154 51.707 31.059 51.707 29.708C51.707 28.357 52.802 27.262 54.153 27.262H62.563C63.914 27.262 65.009 28.357 65.009 29.708C65.009 31.059 63.914 32.154 62.563 32.154V32.154Z" fill="#F9A11D"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,17 @@
<svg width="410" height="418" viewBox="0 0 410 418" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d)">
<path d="M348.9 19.8C354.6 11.3 349.4 0.5 339.5 0.5H249.7H209.7H180.3C146.8 0.5 120.1 9.4 100.4 27.2C80.7 44.9 69.4 70.3 66.4 103.5L58.8 190.3C56 223.5 62.9 248.9 79.5 266.6C96.2 284.4 121.3 293.3 154.8 293.3H191.2V293.1C198.4 292.1 202.3 287.7 203 280L206.7 237.4C207.4 229.7 201.7 223.4 193.9 223.4H173.7C160.6 223.4 151.4 220.5 146.1 214.8C140.9 209.1 138.9 199.4 140 185.8L146.8 108C148 94.4 151.7 84.8 157.9 79.1C164.1 73.4 173.8 70.5 187 70.5H203.6H230.2H294.4C307.1 70.5 319.4 63.8 326.7 52.8L348.9 19.8Z" fill="#00AF73"/>
<path d="M43.1 390.3C37.4 398.8 42.6 409.6 52.5 409.6H144.6H184.6H214C247.5 409.6 274.2 400.7 293.9 382.9C313.6 365.2 324.9 339.8 327.9 306.6L335.5 219.8C338.3 186.6 331.4 161.2 314.8 143.5C298.1 125.7 273 116.8 239.5 116.8H203.1V117C195.9 118 192 122.4 191.3 130.1L187.6 172.7C186.9 180.4 192.6 186.7 200.4 186.7H220.6C233.7 186.7 242.9 189.6 248.2 195.3C253.4 201 255.4 210.7 254.3 224.2L247.5 302C246.3 315.6 242.6 325.2 236.4 330.9C230.2 336.6 220.5 339.5 207.3 339.5H190.7H164.1H97.6C84.9 339.5 72.6 346.2 65.3 357.2L43.1 390.3Z" fill="#00AF73"/>
</g>
<defs>
<filter id="filter0_d" x="36.739" y="0.5" width="318.522" height="417.1" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="4"/>
<feGaussianBlur stdDeviation="2"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -180,7 +180,7 @@ const Wappalyzer = {
* Initialize analyzation.
* @param {*} param0
*/
analyze({ url, html, robots, meta, headers, cookies, scripts }) {
analyze({ url, html, robots, meta, headers, certIssuer, cookies, scripts }) {
const oo = Wappalyzer.analyzeOneToOne
const om = Wappalyzer.analyzeOneToMany
const mm = Wappalyzer.analyzeManyToMany
@ -194,6 +194,7 @@ const Wappalyzer = {
oo(technology, 'url', url),
oo(technology, 'html', html),
oo(technology, 'robots', robots),
oo(technology, 'certIssuer', certIssuer),
om(technology, 'scripts', scripts),
mm(technology, 'cookies', cookies),
mm(technology, 'meta', meta),
@ -223,6 +224,7 @@ const Wappalyzer = {
robots,
meta,
headers,
certIssuer,
cookies,
script,
js,
@ -241,6 +243,7 @@ const Wappalyzer = {
headers: transform(headers),
cookies: transform(cookies),
html: transform(html),
certIssuer: transform(certIssuer),
robots: transform(robots),
meta: transform(meta),
scripts: transform(script),