11 lines
704 B
TypeScript
11 lines
704 B
TypeScript
import { readFile, writeFile } from 'node:fs/promises';
|
|
import { resolve } from 'node:path';
|
|
import { convertEnterpriseStix } from '../src/features/mitre-graph/mitre-stix.ts';
|
|
|
|
const input = process.argv[2];
|
|
if (!input) throw new Error('Usage: node --experimental-strip-types scripts/update-mitre-asset.mts <official Enterprise ATT&CK STIX JSON>');
|
|
const graph = convertEnterpriseStix(JSON.parse(await readFile(input, 'utf8')));
|
|
const output = resolve(`src/assets/data/mitre-enterprise-v${graph.version}.json`);
|
|
await writeFile(output, JSON.stringify(graph) + '\n');
|
|
console.log(`${output}: ${graph.tacticOrder.length} tactics, ${graph.techniques.length} techniques, ${graph.entities.length} entities`);
|