Skip to content

Commit 92cc8a2

Browse files
author
Jon Penwood
authored
Merge pull request #6 from polarityio/develop
Added Phone entity type, fixed summary tags, and switch around IP queries so passive dns shows up first
2 parents a519cbc + 95a5e77 commit 92cc8a2

File tree

6 files changed

+451
-235
lines changed

6 files changed

+451
-235
lines changed

components/block.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ polarity.export = PolarityComponent.extend({
66
errorMsg: '',
77
initialActiveTabMap: {
88
IPv4: 'passivednsip',
9-
IPv6: 'deviceGeov6',
9+
IPv6: 'passivednsip',
1010
md5: 'sample',
1111
domain: 'passivedns',
12-
email: 'whoisemail'
12+
email: 'whoisemail',
13+
custom: 'whoisemail'
1314
},
1415
init() {
1516
this.set('activeTab', this.get('initialActiveTabMap')[this.get('entityType')]);

config/config.js

Lines changed: 124 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,124 +1,130 @@
11
module.exports = {
2-
/**
3-
* Name of the integration which is displayed in the Polarity integrations user interface
4-
*
5-
* @type String
6-
* @required
7-
*/
8-
name: 'HYAS Insight',
9-
/**
10-
* The acronym that appears in the notification window when information from this integration
11-
* is displayed. Note that the acronym is included as part of each "tag" in the summary information
12-
* for the integration. As a result, it is best to keep it to 4 or less characters. The casing used
13-
* here will be carried forward into the notification window.
14-
*
15-
* @type String
16-
* @required
17-
*/
18-
acronym: 'HYAS',
19-
/**
20-
* Description for this integration which is displayed in the Polarity integrations user interface
21-
*
22-
* @type String
23-
* @optional
24-
*/
25-
description:
26-
"Searches Hyas Insight for information on hashes, ips and domains",
27-
entityTypes: ['IPv4', 'IPv6', 'MD5', 'domain', 'email'],
28-
defaultColor: "light-pink",
29-
/**
30-
* Provide custom component logic and template for rendering the integration details block. If you do not
31-
* provide a custom template and/or component then the integration will display data as a table of key value
32-
* pairs.
33-
*
34-
* @type Object
35-
* @optional
36-
*/
37-
styles: ['./styles/hyas.less'],
38-
block: {
39-
component: {
40-
file: './components/block.js'
41-
},
42-
template: {
43-
file: './templates/block.hbs'
44-
}
2+
/**
3+
* Name of the integration which is displayed in the Polarity integrations user interface
4+
*
5+
* @type String
6+
* @required
7+
*/
8+
name: 'HYAS Insight',
9+
/**
10+
* The acronym that appears in the notification window when information from this integration
11+
* is displayed. Note that the acronym is included as part of each "tag" in the summary information
12+
* for the integration. As a result, it is best to keep it to 4 or less characters. The casing used
13+
* here will be carried forward into the notification window.
14+
*
15+
* @type String
16+
* @required
17+
*/
18+
acronym: 'HYAS',
19+
/**
20+
* Description for this integration which is displayed in the Polarity integrations user interface
21+
*
22+
* @type String
23+
* @optional
24+
*/
25+
description: 'Searches Hyas Insight for information on hashes, ips and domains',
26+
entityTypes: ['IPv4', 'IPv6', 'MD5', 'domain', 'email'],
27+
customTypes: [
28+
{
29+
key: 'phone',
30+
regex: /(((\+\d{1,2}|1)[\s.-]?)?\(?\d{3}[)-.\W]\s?\d{3}[-.\W]\d{4}?)|(\d{7,14})/
31+
}
32+
],
33+
defaultColor: 'light-pink',
34+
/**
35+
* Provide custom component logic and template for rendering the integration details block. If you do not
36+
* provide a custom template and/or component then the integration will display data as a table of key value
37+
* pairs.
38+
*
39+
* @type Object
40+
* @optional
41+
*/
42+
styles: ['./styles/hyas.less'],
43+
block: {
44+
component: {
45+
file: './components/block.js'
4546
},
46-
summary: {
47-
component: {
48-
file: './components/summary.js'
49-
},
50-
template: {
51-
file: './templates/summary.hbs'
52-
}
47+
template: {
48+
file: './templates/block.hbs'
49+
}
50+
},
51+
summary: {
52+
component: {
53+
file: './components/summary.js'
5354
},
54-
request: {
55-
// Provide the path to your certFile. Leave an empty string to ignore this option.
56-
// Relative paths are relative to the integration's root directory
57-
cert: '',
58-
// Provide the path to your private key. Leave an empty string to ignore this option.
59-
// Relative paths are relative to the integration's root directory
60-
key: '',
61-
// Provide the key passphrase if required. Leave an empty string to ignore this option.
62-
// Relative paths are relative to the integration's root directory
63-
passphrase: '',
64-
// Provide the Certificate Authority. Leave an empty string to ignore this option.
65-
// Relative paths are relative to the integration's root directory
66-
ca: '',
67-
// An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for
68-
// the url parameter (by embedding the auth info in the uri)
69-
proxy: '',
70-
71-
rejectUnauthorized: true
55+
template: {
56+
file: './templates/summary.hbs'
57+
}
58+
},
59+
request: {
60+
// Provide the path to your certFile. Leave an empty string to ignore this option.
61+
// Relative paths are relative to the integration's root directory
62+
cert: '',
63+
// Provide the path to your private key. Leave an empty string to ignore this option.
64+
// Relative paths are relative to the integration's root directory
65+
key: '',
66+
// Provide the key passphrase if required. Leave an empty string to ignore this option.
67+
// Relative paths are relative to the integration's root directory
68+
passphrase: '',
69+
// Provide the Certificate Authority. Leave an empty string to ignore this option.
70+
// Relative paths are relative to the integration's root directory
71+
ca: '',
72+
// An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for
73+
// the url parameter (by embedding the auth info in the uri)
74+
proxy: '',
75+
76+
rejectUnauthorized: true
77+
},
78+
logging: {
79+
level: 'info' //trace, debug, info, warn, error, fatal
80+
},
81+
onDemandOnly: true,
82+
/**
83+
* Options that are displayed to the user/admin in the Polarity integration user-interface. Should be structured
84+
* as an array of option objects.
85+
*
86+
* @type Array
87+
* @optional
88+
*/
89+
options: [
90+
{
91+
key: 'apiKey',
92+
name: 'API Key',
93+
description: 'HYAS Api Key',
94+
default: '',
95+
type: 'password',
96+
userCanEdit: true,
97+
adminOnly: false
7298
},
73-
logging: {
74-
level: 'info' //trace, debug, info, warn, error, fatal
99+
{
100+
key: 'blocklist',
101+
name: 'Block list Domains and IPs',
102+
description: 'List of domains and IPs that you never want to send to Hyas',
103+
default: '',
104+
type: 'text',
105+
userCanEdit: false,
106+
adminOnly: false
75107
},
76-
onDemandOnly: true,
77-
/**
78-
* Options that are displayed to the user/admin in the Polarity integration user-interface. Should be structured
79-
* as an array of option objects.
80-
*
81-
* @type Array
82-
* @optional
83-
*/
84-
options: [
85-
{
86-
key: 'apiKey',
87-
name: 'API Key',
88-
description: 'HYAS Api Key',
89-
default: '',
90-
type: 'password',
91-
userCanEdit: true,
92-
adminOnly: false
93-
},
94-
{
95-
key: 'blocklist',
96-
name: 'Block list Domains and IPs',
97-
description: 'List of domains and IPs that you never want to send to Hyas',
98-
default: '',
99-
type: 'text',
100-
userCanEdit: false,
101-
adminOnly: false
102-
},
103-
{
104-
key: 'domainBlocklistRegex',
105-
name: 'Domain Block List Regex',
106-
description:
107-
'Domains that match the given regex will not be looked up (if blank, no domains will be block listed)',
108-
default: '',
109-
type: 'text',
110-
userCanEdit: false,
111-
adminOnly: false
112-
},
113-
{
114-
key: 'ipBlocklistRegex',
115-
name: 'IP Block List Regex',
116-
description: 'IPs that match the given regex will not be looked up (if blank, no IPs will be block listed)',
117-
default: '',
118-
type: 'text',
119-
userCanEdit: false,
120-
adminOnly: false
121-
}
122-
]
123-
};
108+
{
109+
key: 'domainBlocklistRegex',
110+
name: 'Domain Block List Regex',
111+
description:
112+
'Domains that match the given regex will not be looked up (if blank, no domains will be block listed)',
113+
default: '',
114+
type: 'text',
115+
userCanEdit: false,
116+
adminOnly: false
117+
},
118+
{
119+
key: 'ipBlocklistRegex',
120+
name: 'IP Block List Regex',
121+
description:
122+
'IPs that match the given regex will not be looked up (if blank, no IPs will be block listed)',
123+
default: '',
124+
type: 'text',
125+
userCanEdit: false,
126+
adminOnly: false
127+
}
128+
]
129+
};
124130

0 commit comments

Comments
 (0)