diff --git a/x-pack/plugins/security_solution/common/endpoint/schema/manifest.ts b/x-pack/plugins/security_solution/common/endpoint/schema/manifest.ts index 2f03895d91c74..1c8916dfdd5bb 100644 --- a/x-pack/plugins/security_solution/common/endpoint/schema/manifest.ts +++ b/x-pack/plugins/security_solution/common/endpoint/schema/manifest.ts @@ -19,10 +19,10 @@ import { export const manifestEntrySchema = t.exact( t.type({ relative_url: relativeUrl, - precompress_sha256: sha256, - precompress_size: size, - postcompress_sha256: sha256, - postcompress_size: size, + decoded_sha256: sha256, + decoded_size: size, + encoded_sha256: sha256, + encoded_size: size, compression_algorithm: compressionAlgorithm, encryption_algorithm: encryptionAlgorithm, }) diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/common.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/common.ts index b6a5bed9078ab..cf38147522083 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/common.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/common.ts @@ -6,12 +6,12 @@ export const ArtifactConstants = { GLOBAL_ALLOWLIST_NAME: 'endpoint-exceptionlist', - SAVED_OBJECT_TYPE: 'endpoint:user-artifact', + SAVED_OBJECT_TYPE: 'endpoint:user-artifact:v2', SUPPORTED_OPERATING_SYSTEMS: ['linux', 'macos', 'windows'], SCHEMA_VERSION: '1.0.0', }; export const ManifestConstants = { - SAVED_OBJECT_TYPE: 'endpoint:user-artifact-manifest', + SAVED_OBJECT_TYPE: 'endpoint:user-artifact-manifest:v2', SCHEMA_VERSION: '1.0.0', }; diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.test.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.test.ts index 738890fb4038f..80d7bd5658363 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.test.ts @@ -21,7 +21,7 @@ describe('buildEventTypeSignal', () => { test('it should convert the exception lists response to the proper endpoint format', async () => { const expectedEndpointExceptions = { - exceptions_list: [ + entries: [ { entries: [ { @@ -57,7 +57,7 @@ describe('buildEventTypeSignal', () => { ]; const expectedEndpointExceptions = { - exceptions_list: [ + entries: [ { field: 'server.domain', operator: 'included', @@ -100,7 +100,7 @@ describe('buildEventTypeSignal', () => { ]; const expectedEndpointExceptions = { - exceptions_list: [ + entries: [ { field: 'server.domain', operator: 'included', @@ -147,7 +147,7 @@ describe('buildEventTypeSignal', () => { ]; const expectedEndpointExceptions = { - exceptions_list: [ + entries: [ { field: 'server.domain', operator: 'included', @@ -182,7 +182,7 @@ describe('buildEventTypeSignal', () => { .mockReturnValueOnce(second) .mockReturnValueOnce(third); const resp = await getFullEndpointExceptionList(mockExceptionClient, 'linux', '1.0.0'); - expect(resp.exceptions_list.length).toEqual(6); + expect(resp.entries.length).toEqual(6); }); test('it should handle no exceptions', async () => { @@ -191,6 +191,6 @@ describe('buildEventTypeSignal', () => { exceptionsResponse.total = 0; mockExceptionClient.findExceptionListItem = jest.fn().mockReturnValueOnce(exceptionsResponse); const resp = await getFullEndpointExceptionList(mockExceptionClient, 'linux', '1.0.0'); - expect(resp.exceptions_list.length).toEqual(0); + expect(resp.entries.length).toEqual(0); }); }); diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts index 2abb72234fecd..53cda8f2d2299 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts @@ -14,7 +14,7 @@ import { InternalArtifactSchema, TranslatedEntry, WrappedTranslatedExceptionList, - wrappedExceptionList, + wrappedTranslatedExceptionList, TranslatedEntryNestedEntry, translatedEntryNestedEntry, translatedEntry as translatedEntryType, @@ -36,10 +36,10 @@ export async function buildArtifact( identifier: `${ArtifactConstants.GLOBAL_ALLOWLIST_NAME}-${os}-${schemaVersion}`, compressionAlgorithm: 'none', encryptionAlgorithm: 'none', - decompressedSha256: sha256, - compressedSha256: sha256, - decompressedSize: exceptionsBuffer.byteLength, - compressedSize: exceptionsBuffer.byteLength, + decodedSha256: sha256, + encodedSha256: sha256, + decodedSize: exceptionsBuffer.byteLength, + encodedSize: exceptionsBuffer.byteLength, created: Date.now(), body: exceptionsBuffer.toString('base64'), }; @@ -50,7 +50,7 @@ export async function getFullEndpointExceptionList( os: string, schemaVersion: string ): Promise { - const exceptions: WrappedTranslatedExceptionList = { exceptions_list: [] }; + const exceptions: WrappedTranslatedExceptionList = { entries: [] }; let numResponses = 0; let page = 1; @@ -68,7 +68,7 @@ export async function getFullEndpointExceptionList( if (response?.data !== undefined) { numResponses = response.data.length; - exceptions.exceptions_list = exceptions.exceptions_list.concat( + exceptions.entries = exceptions.entries.concat( translateToEndpointExceptions(response, schemaVersion) ); @@ -78,7 +78,7 @@ export async function getFullEndpointExceptionList( } } while (numResponses > 0); - const [validated, errors] = validate(exceptions, wrappedExceptionList); + const [validated, errors] = validate(exceptions, wrappedTranslatedExceptionList); if (errors != null) { throw new Error(errors); } diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest.test.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest.test.ts index da8a449e1b026..00a651c0b60fe 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest.test.ts @@ -57,30 +57,30 @@ describe('manifest', () => { 'endpoint-exceptionlist-linux-1.0.0': { compression_algorithm: 'none', encryption_algorithm: 'none', - precompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - postcompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - precompress_size: 268, - postcompress_size: 268, + decoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + encoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + decoded_size: 268, + encoded_size: 268, relative_url: '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', }, 'endpoint-exceptionlist-macos-1.0.0': { compression_algorithm: 'none', encryption_algorithm: 'none', - precompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - postcompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - precompress_size: 268, - postcompress_size: 268, + decoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + encoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + decoded_size: 268, + encoded_size: 268, relative_url: '/api/endpoint/artifacts/download/endpoint-exceptionlist-macos-1.0.0/70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', }, 'endpoint-exceptionlist-windows-1.0.0': { compression_algorithm: 'none', encryption_algorithm: 'none', - precompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - postcompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - precompress_size: 268, - postcompress_size: 268, + decoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + encoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + decoded_size: 268, + encoded_size: 268, relative_url: '/api/endpoint/artifacts/download/endpoint-exceptionlist-windows-1.0.0/70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', }, @@ -119,7 +119,7 @@ describe('manifest', () => { test('Manifest returns data for given artifact', async () => { const artifact = artifacts[0]; - const returned = manifest1.getArtifact(`${artifact.identifier}-${artifact.compressedSha256}`); + const returned = manifest1.getArtifact(`${artifact.identifier}-${artifact.encodedSha256}`); expect(returned).toEqual(artifact); }); diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.test.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.test.ts index c8cbdfc2fc5f4..41afd72efd366 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.test.ts @@ -33,17 +33,17 @@ describe('manifest_entry', () => { }); test('Correct sha256 is returned', () => { - expect(manifestEntry.getCompressedSha256()).toEqual( + expect(manifestEntry.getEncodedSha256()).toEqual( '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c' ); - expect(manifestEntry.getDecompressedSha256()).toEqual( + expect(manifestEntry.getDecodedSha256()).toEqual( '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c' ); }); test('Correct size is returned', () => { - expect(manifestEntry.getCompressedSize()).toEqual(268); - expect(manifestEntry.getDecompressedSize()).toEqual(268); + expect(manifestEntry.getEncodedSize()).toEqual(268); + expect(manifestEntry.getDecodedSize()).toEqual(268); }); test('Correct url is returned', () => { @@ -60,10 +60,10 @@ describe('manifest_entry', () => { expect(manifestEntry.getRecord()).toEqual({ compression_algorithm: 'none', encryption_algorithm: 'none', - precompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - postcompress_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', - precompress_size: 268, - postcompress_size: 268, + decoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + encoded_sha256: '70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', + decoded_size: 268, + encoded_size: 268, relative_url: '/api/endpoint/artifacts/download/endpoint-exceptionlist-windows-1.0.0/70d2e0ee5db0073b242df9af32e64447b932b73c3e66de3a922c61a4077b1a9c', }); diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.ts index 860c2d7d704b2..c23258c4c3ba4 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/manifest_entry.ts @@ -15,31 +15,31 @@ export class ManifestEntry { } public getDocId(): string { - return `${this.getIdentifier()}-${this.getCompressedSha256()}`; + return `${this.getIdentifier()}-${this.getEncodedSha256()}`; } public getIdentifier(): string { return this.artifact.identifier; } - public getCompressedSha256(): string { - return this.artifact.compressedSha256; + public getEncodedSha256(): string { + return this.artifact.encodedSha256; } - public getDecompressedSha256(): string { - return this.artifact.decompressedSha256; + public getDecodedSha256(): string { + return this.artifact.decodedSha256; } - public getCompressedSize(): number { - return this.artifact.compressedSize; + public getEncodedSize(): number { + return this.artifact.encodedSize; } - public getDecompressedSize(): number { - return this.artifact.decompressedSize; + public getDecodedSize(): number { + return this.artifact.decodedSize; } public getUrl(): string { - return `/api/endpoint/artifacts/download/${this.getIdentifier()}/${this.getCompressedSha256()}`; + return `/api/endpoint/artifacts/download/${this.getIdentifier()}/${this.getEncodedSha256()}`; } public getArtifact(): InternalArtifactSchema { @@ -50,10 +50,10 @@ export class ManifestEntry { return { compression_algorithm: 'none', encryption_algorithm: 'none', - precompress_sha256: this.getDecompressedSha256(), - precompress_size: this.getDecompressedSize(), - postcompress_sha256: this.getCompressedSha256(), - postcompress_size: this.getCompressedSize(), + decoded_sha256: this.getDecodedSha256(), + decoded_size: this.getDecodedSize(), + encoded_sha256: this.getEncodedSha256(), + encoded_size: this.getEncodedSize(), relative_url: this.getUrl(), }; } diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/saved_object_mappings.ts b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/saved_object_mappings.ts index 5e61b278e87e4..89e974a3d5fd3 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/saved_object_mappings.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/saved_object_mappings.ts @@ -24,18 +24,18 @@ export const exceptionsArtifactSavedObjectMappings: SavedObjectsType['mappings'] type: 'keyword', index: false, }, - compressedSha256: { + encodedSha256: { type: 'keyword', }, - compressedSize: { + encodedSize: { type: 'long', index: false, }, - decompressedSha256: { + decodedSha256: { type: 'keyword', index: false, }, - decompressedSize: { + decodedSize: { type: 'long', index: false, }, diff --git a/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts b/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts index d071896c537bf..cdb841a8d4c82 100644 --- a/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts +++ b/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/lists.ts @@ -72,9 +72,9 @@ export const translatedExceptionList = t.exact( ); export type TranslatedExceptionList = t.TypeOf; -export const wrappedExceptionList = t.exact( +export const wrappedTranslatedExceptionList = t.exact( t.type({ - exceptions_list: t.array(translatedEntry), + entries: t.array(translatedEntry), }) ); -export type WrappedTranslatedExceptionList = t.TypeOf; +export type WrappedTranslatedExceptionList = t.TypeOf; diff --git a/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/saved_objects.ts b/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/saved_objects.ts index fe032586dda56..e4cd7f48a2901 100644 --- a/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/saved_objects.ts +++ b/x-pack/plugins/security_solution/server/endpoint/schemas/artifacts/saved_objects.ts @@ -19,10 +19,10 @@ export const internalArtifactSchema = t.exact( identifier, compressionAlgorithm, encryptionAlgorithm, - decompressedSha256: sha256, - decompressedSize: size, - compressedSha256: sha256, - compressedSize: size, + decodedSha256: sha256, + decodedSize: size, + encodedSha256: sha256, + encodedSize: size, created, body, }) diff --git a/x-pack/plugins/security_solution/server/endpoint/services/artifacts/artifact_client.ts b/x-pack/plugins/security_solution/server/endpoint/services/artifacts/artifact_client.ts index 00ae802ba6f32..e899905602c8d 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/artifacts/artifact_client.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/artifacts/artifact_client.ts @@ -16,7 +16,7 @@ export class ArtifactClient { } public getArtifactId(artifact: InternalArtifactSchema) { - return `${artifact.identifier}-${artifact.compressedSha256}`; + return `${artifact.identifier}-${artifact.encodedSha256}`; } public async getArtifact(id: string): Promise> { diff --git a/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.test.ts b/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.test.ts index 900ad2c026956..e2f22a10c10e3 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/artifacts/manifest_manager/manifest_manager.test.ts @@ -21,7 +21,7 @@ describe('manifest_manager', () => { expect(manifestWrapper!.diffs).toEqual([ { id: - 'endpoint-exceptionlist-linux-1.0.0-d34a1f6659bd86fc2023d7477aa2e5d2055c9c0fb0a0f10fae76bf8b94bebe49', + 'endpoint-exceptionlist-linux-1.0.0-2a2ec06c957330deb42f41835d3029001432038106f823173fb9e7ea603decb5', type: 'add', }, ]); @@ -35,14 +35,14 @@ describe('manifest_manager', () => { expect(manifestWrapper!.diffs).toEqual([ { id: - 'endpoint-exceptionlist-linux-1.0.0-d34a1f6659bd86fc2023d7477aa2e5d2055c9c0fb0a0f10fae76bf8b94bebe49', + 'endpoint-exceptionlist-linux-1.0.0-2a2ec06c957330deb42f41835d3029001432038106f823173fb9e7ea603decb5', type: 'add', }, ]); const diff = manifestWrapper!.diffs[0]; const entry = JSON.parse(cache.get(diff!.id)!); expect(entry).toEqual({ - exceptions_list: [ + entries: [ { entries: [ { @@ -82,11 +82,11 @@ describe('manifest_manager', () => { [artifact.identifier]: { compression_algorithm: 'none', encryption_algorithm: 'none', - precompress_sha256: artifact.decompressedSha256, - postcompress_sha256: artifact.compressedSha256, - precompress_size: artifact.decompressedSize, - postcompress_size: artifact.compressedSize, - relative_url: `/api/endpoint/artifacts/download/${artifact.identifier}/${artifact.compressedSha256}`, + decoded_sha256: artifact.decodedSha256, + encoded_sha256: artifact.encodedSha256, + decoded_size: artifact.decodedSize, + encoded_size: artifact.encodedSize, + relative_url: `/api/endpoint/artifacts/download/${artifact.identifier}/${artifact.encodedSha256}`, }, }, }); diff --git a/x-pack/test/api_integration/apis/endpoint/artifacts/index.ts b/x-pack/test/api_integration/apis/endpoint/artifacts/index.ts index 3193a4456ba37..0a801ed237885 100644 --- a/x-pack/test/api_integration/apis/endpoint/artifacts/index.ts +++ b/x-pack/test/api_integration/apis/endpoint/artifacts/index.ts @@ -71,7 +71,7 @@ export default function (providerContext: FtrProviderContext) { it('should download an artifact with correct hash', async () => { await supertestWithoutAuth .get( - '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/d162f0302cbf419038ade7ea978e0a7ade7aad317fedefe455ff38dfa28b7cff' + '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a' ) .set('kbn-xsrf', 'xxx') .set('authorization', `ApiKey ${agentAccessAPIKey}`) @@ -80,7 +80,7 @@ export default function (providerContext: FtrProviderContext) { .expect((response) => { const artifactJson = JSON.parse(response.text); expect(artifactJson).to.eql({ - exceptions_list: [ + entries: [ { field: 'actingProcess.file.signer', operator: 'included', @@ -113,7 +113,7 @@ export default function (providerContext: FtrProviderContext) { it('should download an artifact with correct hash from cache', async () => { await supertestWithoutAuth .get( - '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/d162f0302cbf419038ade7ea978e0a7ade7aad317fedefe455ff38dfa28b7cff' + '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a' ) .set('kbn-xsrf', 'xxx') .set('authorization', `ApiKey ${agentAccessAPIKey}`) @@ -125,7 +125,7 @@ export default function (providerContext: FtrProviderContext) { .then(async () => { await supertestWithoutAuth .get( - '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/d162f0302cbf419038ade7ea978e0a7ade7aad317fedefe455ff38dfa28b7cff' + '/api/endpoint/artifacts/download/endpoint-exceptionlist-linux-1.0.0/f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a' ) .set('kbn-xsrf', 'xxx') .set('authorization', `ApiKey ${agentAccessAPIKey}`) @@ -134,7 +134,7 @@ export default function (providerContext: FtrProviderContext) { .expect((response) => { const artifactJson = JSON.parse(response.text); expect(artifactJson).to.eql({ - exceptions_list: [ + entries: [ { field: 'actingProcess.file.signer', operator: 'included', diff --git a/x-pack/test/functional/es_archives/endpoint/artifacts/api_feature/data.json b/x-pack/test/functional/es_archives/endpoint/artifacts/api_feature/data.json index abc7c463ec96d..565e1d619dda4 100644 --- a/x-pack/test/functional/es_archives/endpoint/artifacts/api_feature/data.json +++ b/x-pack/test/functional/es_archives/endpoint/artifacts/api_feature/data.json @@ -1,23 +1,23 @@ { "type": "doc", "value": { - "id": "endpoint:user-artifact:endpoint-exceptionlist-linux-1.0.0-d162f0302cbf419038ade7ea978e0a7ade7aad317fedefe455ff38dfa28b7cff", + "id": "endpoint:user-artifact:v2:endpoint-exceptionlist-linux-1.0.0-f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a", "index": ".kibana", "source": { "references": [ ], - "endpoint:user-artifact": { - "body": "eyJleGNlcHRpb25zX2xpc3QiOlt7ImZpZWxkIjoiYWN0aW5nUHJvY2Vzcy5maWxlLnNpZ25lciIsIm9wZXJhdG9yIjoiaW5jbHVkZWQiLCJ0eXBlIjoiZXhhY3RfY2FzZWQiLCJ2YWx1ZSI6IkVsYXN0aWMsIE4uVi4ifSx7ImVudHJpZXMiOlt7ImZpZWxkIjoic2lnbmVyIiwib3BlcmF0b3IiOiJpbmNsdWRlZCIsInR5cGUiOiJleGFjdF9jYXNlZCIsInZhbHVlIjoiRXZpbCJ9LHsiZmllbGQiOiJ0cnVzdGVkIiwib3BlcmF0b3IiOiJpbmNsdWRlZCIsInR5cGUiOiJleGFjdF9jYXNlZCIsInZhbHVlIjoidHJ1ZSJ9XSwiZmllbGQiOiJmaWxlLnNpZ25hdHVyZSIsInR5cGUiOiJuZXN0ZWQifV19", + "endpoint:user-artifact:v2": { + "body": "eyJlbnRyaWVzIjpbeyJmaWVsZCI6ImFjdGluZ1Byb2Nlc3MuZmlsZS5zaWduZXIiLCJvcGVyYXRvciI6ImluY2x1ZGVkIiwidHlwZSI6ImV4YWN0X2Nhc2VkIiwidmFsdWUiOiJFbGFzdGljLCBOLlYuIn0seyJlbnRyaWVzIjpbeyJmaWVsZCI6InNpZ25lciIsIm9wZXJhdG9yIjoiaW5jbHVkZWQiLCJ0eXBlIjoiZXhhY3RfY2FzZWQiLCJ2YWx1ZSI6IkV2aWwifSx7ImZpZWxkIjoidHJ1c3RlZCIsIm9wZXJhdG9yIjoiaW5jbHVkZWQiLCJ0eXBlIjoiZXhhY3RfY2FzZWQiLCJ2YWx1ZSI6InRydWUifV0sImZpZWxkIjoiZmlsZS5zaWduYXR1cmUiLCJ0eXBlIjoibmVzdGVkIn1dfQ==", "created": 1593016187465, "compressionAlgorithm": "none", "encryptionAlgorithm": "none", "identifier": "endpoint-exceptionlist-linux-1.0.0", - "compressedSha256": "d162f0302cbf419038ade7ea978e0a7ade7aad317fedefe455ff38dfa28b7cff", - "compressedSize": 336, - "decompressedSha256": "d162f0302cbf419038ade7ea978e0a7ade7aad317fedefe455ff38dfa28b7cff", - "decompressedSize": 336 + "encodedSha256": "f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a", + "encodedSize": 328, + "decodedSha256": "f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a", + "decodedSize": 328 }, - "type": "endpoint:user-artifact", + "type": "endpoint:user-artifact:v2", "updated_at": "2020-06-24T16:29:47.584Z" } } @@ -26,20 +26,20 @@ { "type": "doc", "value": { - "id": "endpoint:user-artifact-manifest:endpoint-manifest-1.0.0", + "id": "endpoint:user-artifact-manifest:v2:endpoint-manifest-1.0.0", "index": ".kibana", "source": { "references": [ ], - "endpoint:user-artifact-manifest": { + "endpoint:user-artifact-manifest:v2": { "created": 1593183699663, "ids": [ - "endpoint-exceptionlist-linux-1.0.0-a4e4586e895fcb46dd25a25358b446f9a425279452afa3ef9a98bca39c39122d", - "endpoint-exceptionlist-macos-1.0.0-a4e4586e895fcb46dd25a25358b446f9a425279452afa3ef9a98bca39c39122d", - "endpoint-exceptionlist-windows-1.0.0-a4e4586e895fcb46dd25a25358b446f9a425279452afa3ef9a98bca39c39122d" + "endpoint-exceptionlist-linux-1.0.0-f59266b06ffb1d7250edb9dbabd946e00e98afa950f955d8ea9d8ffef0eb142a", + "endpoint-exceptionlist-macos-1.0.0-d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658", + "endpoint-exceptionlist-windows-1.0.0-d801aa1fb7ddcc330a5e3173372ea6af4a3d08ec58074478e85aa5603e926658" ] }, - "type": "endpoint:user-artifact-manifest", + "type": "endpoint:user-artifact-manifest:v2", "updated_at": "2020-06-26T15:01:39.704Z" } }