upload-safety 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"upload-allowlist.js","sourceRoot":"","sources":["../src/upload-allowlist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-allowlist.js","sourceRoot":"","sources":["../src/upload-allowlist.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Checks the structure of MP4, MOV, M4A and WebM files and removes their metadata (GPS,
2
+ * Checks the structure of MP4, MOV, M4A, WebM, Matroska and AVI files and removes their metadata (GPS,
3
3
  * titles, cover art, XMP) without moving a byte, so sample offsets and cluster positions stay
4
4
  * valid and a large video is not re-encoded. Boxes and elements are overwritten in place:
5
- * ISOBMFF boxes become `free` boxes with a zeroed payload, WebM elements become `Void`
6
- * elements of the same length.
5
+ * ISOBMFF boxes become `free` boxes with a zeroed payload, WebM and Matroska elements become
6
+ * `Void` elements of the same length and AVI chunks become zeroed `JUNK` chunks.
7
7
  *
8
8
  * Limitation: metadata stored as samples in a timed metadata track (GoPro GPMF, DJI, Apple
9
9
  * `mebx`) lives in `mdat` or in clusters, which are never touched, so it stays.
@@ -15,10 +15,19 @@
15
15
  */
16
16
  export declare function stripIsoMedia(content: Buffer, brands: readonly string[] | null): Buffer | null;
17
17
  /**
18
- * The WebM file with its Tags, Attachments and Title overwritten by `Void` elements of the same
19
- * length, the input itself when there was nothing to remove, or null when it is not a WebM
20
- * (`matroska` is refused) or its elements do not read. A cluster of unknown size, as live
18
+ * The WebM or Matroska file with its Tags, Attachments (in Matroska they can hold any file) and Title
19
+ * overwritten by `Void` elements of the same length, the input itself when there was nothing to remove,
20
+ * or null when its DocType is not allowed or its elements do not read. `webm` allows only WebM;
21
+ * `matroska` allows both, as a WebM file is a Matroska file. A cluster of unknown size, as live
21
22
  * recorders write, ends at the first element a cluster cannot hold.
22
23
  */
23
- export declare function stripWebm(content: Buffer): Buffer | null;
24
+ export declare function stripMatroska(content: Buffer, docType: 'webm' | 'matroska'): Buffer | null;
25
+ /**
26
+ * The AVI with its `INFO` lists and its `IDIT`, `ISMP`, `_PMX` (XMP), `strd` (vendor data) and `strn`
27
+ * chunks, and the contents of `JUNK` chunks, overwritten by zeroed `JUNK` chunks of the same size, the input
28
+ * itself when there was nothing to remove, or null when the chunks do not read, the first RIFF lacks `hdrl`
29
+ * with `avih` or `movi`, or bytes follow the last RIFF. OpenDML `AVIX` RIFFs after the first are read the
30
+ * same way. No byte moves, so the `idx1` offsets stay valid; `movi` and `idx1` are never touched.
31
+ */
32
+ export declare function stripAvi(content: Buffer): Buffer | null;
24
33
  //# sourceMappingURL=video-formats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"video-formats.d.ts","sourceRoot":"","sources":["../src/video-formats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6DH;;;;GAIG;AACH,wBAAgB,aAAa,CAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAI,MAAM,GAAG,IAAI,CAmChG;AA8GD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAE,OAAO,EAAE,MAAM,GAAI,MAAM,GAAG,IAAI,CA4D1D"}
1
+ {"version":3,"file":"video-formats.d.ts","sourceRoot":"","sources":["../src/video-formats.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA6DH;;;;GAIG;AACH,wBAAgB,aAAa,CAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAI,MAAM,GAAG,IAAI,CAmChG;AA+GD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAI,MAAM,GAAG,IAAI,CAgE5F;AAmED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAE,OAAO,EAAE,MAAM,GAAI,MAAM,GAAG,IAAI,CA+BzD"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Checks the structure of MP4, MOV, M4A and WebM files and removes their metadata (GPS,
2
+ * Checks the structure of MP4, MOV, M4A, WebM, Matroska and AVI files and removes their metadata (GPS,
3
3
  * titles, cover art, XMP) without moving a byte, so sample offsets and cluster positions stay
4
4
  * valid and a large video is not re-encoded. Boxes and elements are overwritten in place:
5
- * ISOBMFF boxes become `free` boxes with a zeroed payload, WebM elements become `Void`
6
- * elements of the same length.
5
+ * ISOBMFF boxes become `free` boxes with a zeroed payload, WebM and Matroska elements become
6
+ * `Void` elements of the same length and AVI chunks become zeroed `JUNK` chunks.
7
7
  *
8
8
  * Limitation: metadata stored as samples in a timed metadata track (GoPro GPMF, DJI, Apple
9
9
  * `mebx`) lives in `mdat` or in clusters, which are never touched, so it stays.
@@ -116,6 +116,7 @@ const CLUSTER = 0x1f43b675;
116
116
  const TITLE = 0x7ba9;
117
117
  const VOID = 0xec;
118
118
  const WEBM_DOC_TYPE = 'webm';
119
+ const MATROSKA_DOC_TYPE = 'matroska';
119
120
  /** The elements a cluster may hold; the first other ID ends a cluster of unknown size. */
120
121
  const CLUSTER_CHILDREN = new Set([0xe7, 0x5854, 0xa7, 0xab, 0xa3, 0xa0, 0xaf, VOID, 0xbf]);
121
122
  const MAX_VINT_LENGTH = 8;
@@ -198,19 +199,24 @@ function sizeBytes(value, width) {
198
199
  return bytes;
199
200
  }
200
201
  /**
201
- * The WebM file with its Tags, Attachments and Title overwritten by `Void` elements of the same
202
- * length, the input itself when there was nothing to remove, or null when it is not a WebM
203
- * (`matroska` is refused) or its elements do not read. A cluster of unknown size, as live
202
+ * The WebM or Matroska file with its Tags, Attachments (in Matroska they can hold any file) and Title
203
+ * overwritten by `Void` elements of the same length, the input itself when there was nothing to remove,
204
+ * or null when its DocType is not allowed or its elements do not read. `webm` allows only WebM;
205
+ * `matroska` allows both, as a WebM file is a Matroska file. A cluster of unknown size, as live
204
206
  * recorders write, ends at the first element a cluster cannot hold.
205
207
  */
206
- export function stripWebm(content) {
208
+ export function stripMatroska(content, docType) {
207
209
  const header = readElement(content, 0, content.length);
208
210
  if (!header || header.id !== EBML_HEADER || header.end === null) {
209
211
  return null;
210
212
  }
211
213
  const headerChildren = readChildren(content, header);
212
- const docType = headerChildren?.find((child) => child.id === DOC_TYPE);
213
- if (!docType || content.toString('latin1', docType.data, docType.end).replace(/\0+$/, '') !== WEBM_DOC_TYPE) {
214
+ const docTypeElement = headerChildren?.find((child) => child.id === DOC_TYPE);
215
+ if (!docTypeElement) {
216
+ return null;
217
+ }
218
+ const found = content.toString('latin1', docTypeElement.data, docTypeElement.end).replace(/\0+$/, '');
219
+ if (found !== WEBM_DOC_TYPE && !(docType === 'matroska' && found === MATROSKA_DOC_TYPE)) {
214
220
  return null;
215
221
  }
216
222
  const segment = readElement(content, header.end, content.length);
@@ -266,4 +272,102 @@ export function stripWebm(content) {
266
272
  }
267
273
  return stripped;
268
274
  }
275
+ const RIFF_HEADER_SIZE = 12;
276
+ const RIFF_CHUNK_HEADER_SIZE = 8;
277
+ const MAX_AVI_CHUNKS = 100_000;
278
+ const MAX_AVI_DEPTH = 8;
279
+ const AVI_FORM = 'AVI ';
280
+ const AVI_EXTENSION_FORM = 'AVIX';
281
+ const JUNK = 'JUNK';
282
+ const LIST = 'LIST';
283
+ /** Chunks that hold text, XMP or vendor data; the `INFO` list is handled apart because it is a list. */
284
+ const AVI_METADATA_CHUNKS = new Set(['IDIT', 'ISMP', '_PMX', 'strd', 'strn']);
285
+ /** Whether `[start, end)` of `bytes` is already a `JUNK` chunk of zeros, so blanking it changes nothing. */
286
+ function isBlankJunk(bytes, start, end) {
287
+ return bytes.toString('latin1', start, start + 4) === JUNK && !bytes.subarray(start + RIFF_CHUNK_HEADER_SIZE, end).some((byte) => byte !== 0);
288
+ }
289
+ /**
290
+ * Walks the RIFF chunks tiling `[start, end)` and records the ones to blank. Returns false when a chunk runs
291
+ * past its parent, bytes are left over, or the limits on chunks and depth are exceeded.
292
+ */
293
+ function walkAvi(bytes, start, end, depth, parent, firstRiff, state) {
294
+ if (depth > MAX_AVI_DEPTH) {
295
+ return false;
296
+ }
297
+ let offset = start;
298
+ while (offset < end) {
299
+ if (++state.chunks > MAX_AVI_CHUNKS || offset + RIFF_CHUNK_HEADER_SIZE > end) {
300
+ return false;
301
+ }
302
+ const type = bytes.toString('latin1', offset, offset + 4);
303
+ const size = bytes.readUInt32LE(offset + 4);
304
+ const dataStart = offset + RIFF_CHUNK_HEADER_SIZE;
305
+ if (size > end - dataStart) {
306
+ return false;
307
+ }
308
+ const next = Math.min(dataStart + size + (size & 1), end);
309
+ if (type === LIST) {
310
+ if (size < 4) {
311
+ return false;
312
+ }
313
+ const listType = bytes.toString('latin1', dataStart, dataStart + 4);
314
+ if (listType === 'INFO') {
315
+ state.blanks.push([offset, next]);
316
+ }
317
+ else if (listType === 'movi') {
318
+ state.hasMovie ||= firstRiff;
319
+ }
320
+ else if (!walkAvi(bytes, dataStart + 4, dataStart + size, depth + 1, listType, firstRiff, state)) {
321
+ return false;
322
+ }
323
+ }
324
+ else if (AVI_METADATA_CHUNKS.has(type) || type === JUNK) {
325
+ state.blanks.push([offset, next]);
326
+ }
327
+ else if (type === 'avih' && parent === 'hdrl') {
328
+ state.hasHeader ||= firstRiff;
329
+ }
330
+ offset = next;
331
+ }
332
+ return true;
333
+ }
334
+ /**
335
+ * The AVI with its `INFO` lists and its `IDIT`, `ISMP`, `_PMX` (XMP), `strd` (vendor data) and `strn`
336
+ * chunks, and the contents of `JUNK` chunks, overwritten by zeroed `JUNK` chunks of the same size, the input
337
+ * itself when there was nothing to remove, or null when the chunks do not read, the first RIFF lacks `hdrl`
338
+ * with `avih` or `movi`, or bytes follow the last RIFF. OpenDML `AVIX` RIFFs after the first are read the
339
+ * same way. No byte moves, so the `idx1` offsets stay valid; `movi` and `idx1` are never touched.
340
+ */
341
+ export function stripAvi(content) {
342
+ const state = { chunks: 0, hasHeader: false, hasMovie: false, blanks: [] };
343
+ let offset = 0;
344
+ for (let riffs = 0; offset < content.length; riffs++) {
345
+ if (offset + RIFF_HEADER_SIZE > content.length || content.toString('latin1', offset, offset + 4) !== 'RIFF') {
346
+ return null;
347
+ }
348
+ const form = content.toString('latin1', offset + 8, offset + 12);
349
+ if (form !== (riffs === 0 ? AVI_FORM : AVI_EXTENSION_FORM)) {
350
+ return null;
351
+ }
352
+ const size = content.readUInt32LE(offset + 4);
353
+ const end = offset + RIFF_CHUNK_HEADER_SIZE + size;
354
+ if (size < 4 || end > content.length || !walkAvi(content, offset + RIFF_HEADER_SIZE, end, 0, form, riffs === 0, state)) {
355
+ return null;
356
+ }
357
+ offset = Math.min(end + (size & 1), content.length);
358
+ }
359
+ if (!state.hasHeader || !state.hasMovie) {
360
+ return null;
361
+ }
362
+ const changes = state.blanks.filter(([start, end]) => !isBlankJunk(content, start, end));
363
+ if (changes.length === 0) {
364
+ return content;
365
+ }
366
+ const stripped = Buffer.from(content);
367
+ for (const [start, end] of changes) {
368
+ stripped.write(JUNK, start, 'latin1');
369
+ stripped.fill(0, start + RIFF_CHUNK_HEADER_SIZE, end);
370
+ }
371
+ return stripped;
372
+ }
269
373
  //# sourceMappingURL=video-formats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"video-formats.js","sourceRoot":"","sources":["../src/video-formats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video-formats.js","sourceRoot":"","sources":["../src/video-formats.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "upload-safety",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Server-side upload checks for Node: extension/MIME allowlist, magic bytes, refusal of macros, embedded objects, DDE, PDF scripts, CSV formulas and encrypted files, metadata stripping for photos, audio and video, and opt-in RTF and archive checks.",
5
5
  "keywords": [
6
6
  "upload",
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Checks the structure of WMA and WMV files (Microsoft ASF) and removes their metadata (title,
3
+ * author, WM/ tags, cover pictures) without moving a byte. The metadata objects are overwritten
4
+ * in place with Padding Objects of the same size and a zeroed payload.
5
+ *
6
+ * Refused: a Script Command Object makes Windows Media Player open URLs, and the DRM objects
7
+ * carry license acquisition URLs that it opens too (Trojan.Wimad); DRM content cannot be checked
8
+ * either.
9
+ *
10
+ * Limitation: markers, the file creation date and the codec data are kept.
11
+ */
12
+
13
+ /** Bounds far above real files that keep a crafted one cheap. */
14
+ const MAX_TOP_LEVEL_OBJECTS = 1000;
15
+ const MAX_HEADER_OBJECTS = 10_000;
16
+
17
+ const GUID_LENGTH = 16;
18
+ const OBJECT_HEADER = GUID_LENGTH + 8;
19
+ /** Header Object: object header, u32 number of objects, two reserved bytes. */
20
+ const HEADER_OBJECT_PREFIX = OBJECT_HEADER + 6;
21
+ /** Header Extension payload: reserved GUID, u16 reserved, u32 data size. */
22
+ const EXTENSION_PREFIX = GUID_LENGTH + 2 + 4;
23
+
24
+ /** Converts the textual GUID of the ASF specification to its on-disk byte order (first three groups little-endian). */
25
+ function guid( text: string ): Buffer {
26
+ const hex = text.replaceAll( '-', '' );
27
+ const bytes = Buffer.from( hex, 'hex' );
28
+ bytes.subarray( 0, 4 ).reverse();
29
+ bytes.subarray( 4, 6 ).reverse();
30
+ bytes.subarray( 6, 8 ).reverse();
31
+ return bytes;
32
+ }
33
+
34
+ const HEADER_OBJECT = guid( '75B22630-668E-11CF-A6D9-00AA0062CE6C' );
35
+ const DATA_OBJECT = guid( '75B22636-668E-11CF-A6D9-00AA0062CE6C' );
36
+ const FILE_PROPERTIES_OBJECT = guid( '8CABDCA1-A947-11CF-8EE4-00C00C205365' );
37
+ const STREAM_PROPERTIES_OBJECT = guid( 'B7DC0791-A9B7-11CF-8EE6-00C00C205365' );
38
+ const HEADER_EXTENSION_OBJECT = guid( '5FBF03B5-A92E-11CF-8EE3-00C00C205365' );
39
+ const CONTENT_DESCRIPTION_OBJECT = guid( '75B22633-668E-11CF-A6D9-00AA0062CE6C' );
40
+ const EXTENDED_CONTENT_DESCRIPTION_OBJECT = guid( 'D2D0A440-E307-11D2-97F0-00A0C95EA850' );
41
+ const METADATA_OBJECT = guid( 'C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA' );
42
+ const METADATA_LIBRARY_OBJECT = guid( '44231C94-9498-49D1-A141-1D134E457054' );
43
+ const PADDING_OBJECT = guid( '1806D474-CADF-4509-A4BA-9AABCB96AAE8' );
44
+ const SCRIPT_COMMAND_OBJECT = guid( '1EFB1A30-0B62-11D0-A39B-00A0C90348F6' );
45
+ const AUDIO_MEDIA = guid( 'F8699E40-5B4D-11CF-A8FD-00805F5C442B' );
46
+ const VIDEO_MEDIA = guid( 'BC19EFC0-5B4D-11CF-A8FD-00805F5C442B' );
47
+
48
+ const SIMPLE_INDEX_OBJECT = guid( '33000890-E5B1-11CF-89F4-00A0C90349CB' );
49
+ const INDEX_OBJECT = guid( 'D6E229D3-35DA-11D1-9034-00A0C90349BE' );
50
+ const MEDIA_OBJECT_INDEX_OBJECT = guid( 'FEB103F8-12AD-4C64-840F-2A1D2F7AD48C' );
51
+ const TIMECODE_INDEX_OBJECT = guid( '3CB73FD0-0C4A-4803-953D-EDF7B6228F0C' );
52
+
53
+ /** The only top-level objects after the Data Object. */
54
+ const INDEX_OBJECTS: readonly Buffer[] = [ SIMPLE_INDEX_OBJECT, INDEX_OBJECT, MEDIA_OBJECT_INDEX_OBJECT, TIMECODE_INDEX_OBJECT ];
55
+
56
+ const CONTENT_ENCRYPTION_OBJECT = guid( '2211B3FB-BD23-11D2-B4B7-00A0C955FC6E' );
57
+ const EXTENDED_CONTENT_ENCRYPTION_OBJECT = guid( '298AE614-2622-4C17-B935-DAE07EE9289C' );
58
+ const DIGITAL_SIGNATURE_OBJECT = guid( '2211B3FC-BD23-11D2-B4B7-00A0C955FC6E' );
59
+ const ADVANCED_CONTENT_ENCRYPTION_OBJECT = guid( '43058533-6981-49E6-9B74-AD12CB86D58C' );
60
+
61
+ const ENCRYPTION_OBJECTS: readonly Buffer[] = [
62
+ CONTENT_ENCRYPTION_OBJECT,
63
+ EXTENDED_CONTENT_ENCRYPTION_OBJECT,
64
+ DIGITAL_SIGNATURE_OBJECT,
65
+ ADVANCED_CONTENT_ENCRYPTION_OBJECT,
66
+ ];
67
+ const METADATA_OBJECTS: readonly Buffer[] = [
68
+ CONTENT_DESCRIPTION_OBJECT,
69
+ EXTENDED_CONTENT_DESCRIPTION_OBJECT,
70
+ METADATA_OBJECT,
71
+ METADATA_LIBRARY_OBJECT,
72
+ ];
73
+
74
+ export interface AsfInspection {
75
+ verdict: 'valid' | 'macros' | 'encrypted' | 'mismatch';
76
+ /** The cleaned file when the verdict is `valid` (the input itself when nothing changed), else null. */
77
+ bytes: Buffer | null;
78
+ }
79
+
80
+ interface AsfObject {
81
+ /** Where the object's header starts. */
82
+ start: number;
83
+ end: number;
84
+ }
85
+
86
+ const MISMATCH: AsfInspection = { verdict: 'mismatch', bytes: null };
87
+
88
+ const hasGuid = ( bytes: Buffer, offset: number, expected: Buffer ): boolean => bytes.compare( expected, 0, GUID_LENGTH, offset, offset + GUID_LENGTH ) === 0;
89
+ const isOneOf = ( bytes: Buffer, offset: number, guids: readonly Buffer[] ): boolean => guids.some( ( expected ) => hasGuid( bytes, offset, expected ) );
90
+
91
+ /** The objects that follow each other exactly over `[start, end)`, or null when one does not read or there are more than `max`. */
92
+ function readObjects( bytes: Buffer, start: number, end: number, max: number ): AsfObject[] | null {
93
+ const objects: AsfObject[] = [];
94
+ for ( let offset = start; offset < end; ) {
95
+ if ( objects.length === max || end - offset < OBJECT_HEADER ) {
96
+ return null;
97
+ }
98
+ const size = bytes.readBigUInt64LE( offset + GUID_LENGTH );
99
+ if ( size < BigInt( OBJECT_HEADER ) || size > BigInt( end - offset ) ) {
100
+ return null;
101
+ }
102
+ objects.push( { start: offset, end: offset + Number( size ) } );
103
+ offset += Number( size );
104
+ }
105
+ return objects;
106
+ }
107
+
108
+ /**
109
+ * Checks an ASF file as a WMA (`video` false) or WMV (`video` true) and blanks its metadata.
110
+ * Never throws.
111
+ */
112
+ export function inspectAsf( content: Buffer, video: boolean ): AsfInspection {
113
+ const top = readObjects( content, 0, content.length, MAX_TOP_LEVEL_OBJECTS );
114
+ if ( ! top || top.length < 2 || ! hasGuid( content, top[ 0 ].start, HEADER_OBJECT ) ) {
115
+ return MISMATCH;
116
+ }
117
+ const [ header, ...rest ] = top;
118
+ if ( header.end - header.start < HEADER_OBJECT_PREFIX || content.readUInt16BE( header.start + OBJECT_HEADER + 4 ) !== 0x0102 ) {
119
+ return MISMATCH;
120
+ }
121
+ if ( ! hasGuid( content, rest[ 0 ].start, DATA_OBJECT ) || ! rest.slice( 1 ).every( ( object ) => isOneOf( content, object.start, INDEX_OBJECTS ) ) ) {
122
+ return MISMATCH;
123
+ }
124
+
125
+ const children = readObjects( content, header.start + HEADER_OBJECT_PREFIX, header.end, MAX_HEADER_OBJECTS );
126
+ if ( ! children ) {
127
+ return MISMATCH;
128
+ }
129
+ const budget = { left: MAX_HEADER_OBJECTS - children.length };
130
+ const all: AsfObject[] = [];
131
+ for ( const child of children ) {
132
+ all.push( child );
133
+ if ( hasGuid( content, child.start, HEADER_EXTENSION_OBJECT ) ) {
134
+ const prefixEnd = child.start + OBJECT_HEADER + EXTENSION_PREFIX;
135
+ if ( prefixEnd > child.end || content.readUInt32LE( prefixEnd - 4 ) !== child.end - prefixEnd ) {
136
+ return MISMATCH;
137
+ }
138
+ const inner = readObjects( content, prefixEnd, child.end, Math.max( budget.left, 0 ) );
139
+ if ( ! inner ) {
140
+ return MISMATCH;
141
+ }
142
+ budget.left -= inner.length;
143
+ all.push( ...inner );
144
+ }
145
+ }
146
+
147
+ let hasFileProperties = false;
148
+ let hasAudio = false;
149
+ let hasVideo = false;
150
+ for ( const object of all ) {
151
+ if ( isOneOf( content, object.start, ENCRYPTION_OBJECTS ) ) {
152
+ return { verdict: 'encrypted', bytes: null };
153
+ }
154
+ if ( hasGuid( content, object.start, SCRIPT_COMMAND_OBJECT ) ) {
155
+ return { verdict: 'macros', bytes: null };
156
+ }
157
+ }
158
+ for ( const object of all ) {
159
+ if ( hasGuid( content, object.start, FILE_PROPERTIES_OBJECT ) ) {
160
+ hasFileProperties = true;
161
+ } else if ( hasGuid( content, object.start, STREAM_PROPERTIES_OBJECT ) ) {
162
+ if ( object.end - object.start < OBJECT_HEADER + GUID_LENGTH ) {
163
+ return MISMATCH;
164
+ }
165
+ const type = object.start + OBJECT_HEADER;
166
+ hasAudio ||= hasGuid( content, type, AUDIO_MEDIA );
167
+ hasVideo ||= hasGuid( content, type, VIDEO_MEDIA );
168
+ }
169
+ }
170
+ if ( ! hasFileProperties || ! ( video ? hasVideo : hasAudio && ! hasVideo ) ) {
171
+ return MISMATCH;
172
+ }
173
+
174
+ const metadata = all.filter( ( object ) => isOneOf( content, object.start, METADATA_OBJECTS ) );
175
+ if ( metadata.length === 0 ) {
176
+ return { verdict: 'valid', bytes: content };
177
+ }
178
+ const cleaned = Buffer.from( content );
179
+ for ( const object of metadata ) {
180
+ PADDING_OBJECT.copy( cleaned, object.start );
181
+ cleaned.fill( 0, object.start + OBJECT_HEADER, object.end );
182
+ }
183
+ return { verdict: 'valid', bytes: cleaned };
184
+ }