What's New

Polarity Server 3.8.x

New Features

Requesting user info

Integrations can now access the requesting user information from both the onMessage and onDetails hooks. This information includes the username and id. Read more about it on our new recipe page Accessing Username of Requestor

Polarity Server 3.4.x

New Features

onDetails

Integration's can now implement a second order lookup when the summary block is expanded. Please see the onDetails section for more information.

onMessage

Integration's can now send messages from the overlay window component to the server. This allows for interactive integrations (e.g., adding a button that triggers an action on the server). For more information on this feature please see the onMessage and sendIntegrationMessage sections of the documentation.

New Recipe

We added a simple recipe for adding user actions to your integration. You can find the recipe here

Polarity Server 2.7.x

New Features

Channel Aware Integrations

Users can now specify what entity types an integration should receive via the Polarity user interface. Previously, allowing a user to toggle on and off a specific entity type required setting a custom option. Please note that an integration will still only allow a user to turn entity types on and off if they are specified in the integration's config.js file as part of the entityTypes or customTypes properties.

Channel Information

Integrations now receive channel information for entity objects sent to the doLookup method. This allows integration authors to take action on an entity based on whether or not the entity is tagged in a specific channel.

* Entity Type

We have added a new * entity type that is short hand for specifying all the built-in entity types. See more in the entity types section of the configuration guide

Integration Config Validation

The integration config.js is now validated to help catch mistakes. If your integration's config.js file has invalid syntax in it you will now see an error describing the problem on the integration page when the integration is started.

Deprecations and Breaking Changes

SHA512 entity type is deprecated

The built-in SHA512 type is now deprecated along with the isSHA512 flag found on entity objects. You will no longer receive entities for this built-in type but config files will still pass validation if the type is specified. If you need to support SHA512 lookups please use a custom regex.

geo entity type is deprecated

The built-in geo entity type is now deprecated along with the isGeo, latitude and longitude flags. You will no longer receive entities for this built-in type but config files will still pass validation if the type is specified. If you need to support geo lookups please use a custom regex.

Polarity Server 2.4.1

New Features

Custom Type Support

Integrations can now define custom types using a regular expression to capture specific pattern matchable data. For example, if you have a specific hostname naming convention you can now capture those hostnames using a custom type.

For more information on defining custom types in your integration config please see the Configuration Guide.

Deprecations and Breaking Changes

Integration config must specify entityTypes or customTypes

Integration config files must now specify what types of data the integration should receive. Previously, by default, an integration would receive all data unless specific data types were specified. We have changed the default behavior to now be that an integration receives no data unless it explicitly defines what entity types (e.g., 'IPv4', 'hash', 'email') it should receive.

You must specify either the entityTypes property or the customTypes property for your integration to receive data.

This change was made to make it easier for Polarity administrators to know what data specific integrations are requesting from Polarity Clients.

For more information on defining entity types please see the Configuration Guide.

isHex flag is deprecated

The isHex flag will be removed from entity objects in future versions of Polarity. If you need to recognize hex types (outside of hashes) you should add this as a custom type.

isHTMLTag has been removed

The isHTMLTag flag has been removed from entity objects and is no longer supported as a pre-defined type. If you need to recognize HTML tags in your integration you should use the following custom type to achieve the same behavior:

customTypes:[
    {
        key: 'htmlTag',
        regex: /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
    }
]

isGeo has been removed

The isGeo flag has been removed from entity objects and is no longer supported as a pre-defined type. If you need to recognize Latitude Longitude or Addresses in your integration you should use the following custom types to achieve the same behavior:

customTypes:[
    {
        key: 'latLong',
        regex: /[-+]?([1-8]?\d(\.\d\d+)+|90(\.0+)+),\s*[-+]?(180(\.0+)+|((1[0-7]\d)|([1-9]?\d))(\.\d\d+)+)/
    },
    {
        key: 'address',
        regex: /\d{1,9} ([^\n\r0-9,]{2,100}, ([A-Za-z ]{1,20}\d{1,9}|\d{1,3}[A-Za-z ]{1-20})[, ]?[^\n\r0-9]{2,100}[, ]?|(N |S |E |W |north |south |east |west )?\d{1,9}[^\n\r0-9 ][^\n\r0-9]{2,100}|(N |S |E |W |north |south |east |west )?\d{1,9}[^\n\r0-9, ][^\n\r0-9,]{2,100},[A-Za-z ]{1,20}\d{1,9},?[^\n\r0-9,]{2,100},?|[^\n\r0-9,]{2,100},[A-Za-z ]{1,20}\d{1,9},?[^\n\r0-9]{2,100},?|[^\n\r0-9]{2,100})[, ](AL|AK|AS|AZ|AR|CA|CO|CT|DE|DC|FM|FL|GA|GU|HI|ID|IL|IN|IA|KS|KY|LA|ME|MH|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|MP|OH|OK|OR|PW|PA|PR|RI|SC|SD|TN|TX|UT|VT|VI|VA|WA|WV|WI|WY|Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New[ ]Hampshire|New[ ]Jersey|New[ ]Mexico|New[ ]York|North[ ]Carolina|North[ ]Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode[ ]Island|South[ ]Carolina|South[ ]Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West[ ]Virginia|Wisconsin|Wyoming)[, ]+\d{5}(?:-\d{4})?/
    }
]

Note that the latitude and longitude properties will no longer be provided as well. Please see the google maps integration for an example of working with with latitude longitude and property addresses.

Last updated