renma 0.8.1 → 0.10.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/dist/catalog-conflicts.d.ts +4 -0
  3. package/dist/catalog-conflicts.d.ts.map +1 -0
  4. package/dist/catalog-conflicts.js +86 -0
  5. package/dist/catalog-conflicts.js.map +1 -0
  6. package/dist/catalog-lifecycle.d.ts +4 -0
  7. package/dist/catalog-lifecycle.d.ts.map +1 -0
  8. package/dist/catalog-lifecycle.js +150 -0
  9. package/dist/catalog-lifecycle.js.map +1 -0
  10. package/dist/catalog.d.ts.map +1 -1
  11. package/dist/catalog.js +147 -0
  12. package/dist/catalog.js.map +1 -1
  13. package/dist/commands/ci-report.d.ts +5 -0
  14. package/dist/commands/ci-report.d.ts.map +1 -1
  15. package/dist/commands/ci-report.js +77 -2
  16. package/dist/commands/ci-report.js.map +1 -1
  17. package/dist/commands/diff.d.ts +4 -0
  18. package/dist/commands/diff.d.ts.map +1 -1
  19. package/dist/commands/diff.js +57 -8
  20. package/dist/commands/diff.js.map +1 -1
  21. package/dist/commands/readiness.d.ts +5 -1
  22. package/dist/commands/readiness.d.ts.map +1 -1
  23. package/dist/commands/readiness.js +66 -2
  24. package/dist/commands/readiness.js.map +1 -1
  25. package/dist/context-language-diagnostics.d.ts +2 -0
  26. package/dist/context-language-diagnostics.d.ts.map +1 -0
  27. package/dist/context-language-diagnostics.js +2 -0
  28. package/dist/context-language-diagnostics.js.map +1 -0
  29. package/dist/context-language.d.ts +20 -0
  30. package/dist/context-language.d.ts.map +1 -0
  31. package/dist/context-language.js +105 -0
  32. package/dist/context-language.js.map +1 -0
  33. package/dist/diagnostic-ids.d.ts +5 -0
  34. package/dist/diagnostic-ids.d.ts.map +1 -1
  35. package/dist/diagnostic-ids.js +5 -0
  36. package/dist/diagnostic-ids.js.map +1 -1
  37. package/dist/scanner.d.ts.map +1 -1
  38. package/dist/scanner.js +81 -0
  39. package/dist/scanner.js.map +1 -1
  40. package/dist/security-diagnostics.d.ts.map +1 -1
  41. package/dist/security-diagnostics.js +2 -266
  42. package/dist/security-diagnostics.js.map +1 -1
  43. package/dist/security-diff.d.ts +54 -0
  44. package/dist/security-diff.d.ts.map +1 -0
  45. package/dist/security-diff.js +78 -0
  46. package/dist/security-diff.js.map +1 -0
  47. package/dist/security-policy-inventory.d.ts +55 -0
  48. package/dist/security-policy-inventory.d.ts.map +1 -0
  49. package/dist/security-policy-inventory.js +172 -0
  50. package/dist/security-policy-inventory.js.map +1 -0
  51. package/dist/security-policy.d.ts +32 -0
  52. package/dist/security-policy.d.ts.map +1 -0
  53. package/dist/security-policy.js +237 -0
  54. package/dist/security-policy.js.map +1 -0
  55. package/dist/security-posture.d.ts +35 -0
  56. package/dist/security-posture.d.ts.map +1 -0
  57. package/dist/security-posture.js +108 -0
  58. package/dist/security-posture.js.map +1 -0
  59. package/dist/types.d.ts +2 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { DIAGNOSTIC_IDS } from "./diagnostic-ids.js";
2
+ import { applySecurityConfig, effectiveAllowedDataClass, effectiveAllowedDataList, isSecurityPolicyLine, parseSecurityPolicy, securityProfileChain, } from "./security-policy.js";
2
3
  const RULES = {
3
4
  missingPolicyMetadata: {
4
5
  id: DIAGNOSTIC_IDS.SEC_MISSING_POLICY_METADATA,
@@ -455,45 +456,6 @@ const RULES = {
455
456
  riskClass: "suspicious",
456
457
  },
457
458
  };
458
- const BOOLEAN_POLICY_FIELDS = new Map([
459
- ["network_allowed", "networkAllowed"],
460
- ["networkAllowed", "networkAllowed"],
461
- ["external_upload_allowed", "externalUploadAllowed"],
462
- ["externalUploadAllowed", "externalUploadAllowed"],
463
- ["secrets_allowed", "secretsAllowed"],
464
- ["secretsAllowed", "secretsAllowed"],
465
- ["human_approval_required", "humanApprovalRequired"],
466
- ["humanApprovalRequired", "humanApprovalRequired"],
467
- ["requires_human_approval", "humanApprovalRequired"],
468
- ["requiresHumanApproval", "humanApprovalRequired"],
469
- ]);
470
- const DESTINATION_POLICY_FIELDS = new Set([
471
- "approved_network_destinations",
472
- "approvedNetworkDestinations",
473
- "allowed_network_destinations",
474
- "allowedNetworkDestinations",
475
- ]);
476
- const UPLOAD_DESTINATION_POLICY_FIELDS = new Set([
477
- "approved_upload_destinations",
478
- "approvedUploadDestinations",
479
- "approved_upload_domains",
480
- "approvedUploadDomains",
481
- ]);
482
- const ALLOWED_DATA_POLICY_FIELDS = new Set(["allowed_data", "allowedData"]);
483
- const FORBIDDEN_INPUT_POLICY_FIELDS = new Set([
484
- "forbidden_inputs",
485
- "forbiddenInputs",
486
- ]);
487
- const SECURITY_PROFILE_POLICY_FIELDS = new Set([
488
- "security_profile",
489
- "securityProfile",
490
- ]);
491
- const FUTURE_BLOCK_LIST_POLICY_FIELDS = new Set([
492
- "allowed_tools",
493
- "allowedTools",
494
- "allowed_clients",
495
- "allowedClients",
496
- ]);
497
459
  const FORBIDDEN_INPUT_ACTION_PATTERN = /\b(copy|print|cat|echo|paste|upload|send|share|attach|include|dump|export|log|summari[sz]e|read|collect|provide|load|use)\b/i;
498
460
  const SAFE_FORBIDDEN_INPUT_PATTERN = /\b(do\s+not|don't|never|avoid|exclude|without|redact|remove|omit|strip|skip)\b.{0,80}\b(secret|secrets|credential|credentials|token|password|private key|private keys|\.env|env files?|customer data)\b/i;
499
461
  const BODY_NETWORK_DISALLOWED_RE = /\b(no|without|avoid|exclude|disallow|forbid|forbidden|block|do\s+not|don't|never)\b.{0,80}\b(network|internet|external|remote|http|https|api|webhook|download|fetch|curl|wget)\b/i;
@@ -940,206 +902,6 @@ function predictableTempDetections(line, lineNumber) {
940
902
  },
941
903
  ];
942
904
  }
943
- function parseBlockList(lines, startIndex, scanEnd) {
944
- const values = [];
945
- let index = startIndex + 1;
946
- for (; index < scanEnd; index += 1) {
947
- const line = lines[index] ?? "";
948
- if (line.trim().length === 0)
949
- break;
950
- const match = line.match(/^\s*-\s*(.*?)\s*$/);
951
- if (!match)
952
- break;
953
- values.push(...parseList(match[1] ?? ""));
954
- }
955
- return { values, nextIndex: index };
956
- }
957
- function policyListValues(value, blockList) {
958
- return value.length > 0 ? parseList(value) : blockList.values;
959
- }
960
- function consumesBlockList(value, blockList) {
961
- return value.length === 0 && blockList.values.length > 0;
962
- }
963
- function parseSecurityPolicy(content) {
964
- const policy = {
965
- allowedData: [],
966
- forbiddenInputs: [],
967
- approvedNetworkDestinations: [],
968
- approvedUploadDestinations: [],
969
- disallowedCommands: [],
970
- declared: new Set(),
971
- lineByField: new Map(),
972
- };
973
- const lines = content.split(/\r?\n/);
974
- const frontmatterEnd = lines[0]?.trim() === "---"
975
- ? lines.findIndex((line, index) => index > 0 && line.trim() === "---")
976
- : -1;
977
- const scanEnd = frontmatterEnd > 0 ? frontmatterEnd : Math.min(lines.length, 80);
978
- for (let index = 0; index < scanEnd; index += 1) {
979
- const line = lines[index] ?? "";
980
- const match = line.match(/^\s*([A-Za-z_][A-Za-z0-9_]*):\s*(.*?)\s*$/);
981
- if (!match) {
982
- continue;
983
- }
984
- const rawKey = match[1] ?? "";
985
- const rawValue = match[2] ?? "";
986
- const key = rawKey.trim();
987
- const value = rawValue.trim();
988
- const blockList = value.length === 0
989
- ? parseBlockList(lines, index, scanEnd)
990
- : { values: [], nextIndex: index + 1 };
991
- const booleanField = BOOLEAN_POLICY_FIELDS.get(key);
992
- if (booleanField !== undefined) {
993
- const parsed = parseBoolean(value);
994
- if (parsed !== undefined) {
995
- policy[booleanField] = parsed;
996
- policy.declared.add(booleanField);
997
- policy.lineByField.set(booleanField, index + 1);
998
- }
999
- continue;
1000
- }
1001
- if (DESTINATION_POLICY_FIELDS.has(key)) {
1002
- const destinations = policyListValues(value, blockList);
1003
- policy.approvedNetworkDestinations.push(...destinations);
1004
- policy.declared.add("approvedNetworkDestinations");
1005
- policy.lineByField.set("approvedNetworkDestinations", index + 1);
1006
- if (consumesBlockList(value, blockList))
1007
- index = blockList.nextIndex - 1;
1008
- continue;
1009
- }
1010
- if (UPLOAD_DESTINATION_POLICY_FIELDS.has(key)) {
1011
- const destinations = policyListValues(value, blockList);
1012
- policy.approvedUploadDestinations.push(...destinations);
1013
- policy.declared.add("approvedUploadDestinations");
1014
- policy.lineByField.set("approvedUploadDestinations", index + 1);
1015
- if (consumesBlockList(value, blockList))
1016
- index = blockList.nextIndex - 1;
1017
- continue;
1018
- }
1019
- if (ALLOWED_DATA_POLICY_FIELDS.has(key)) {
1020
- const values = policyListValues(value, blockList);
1021
- policy.allowedData.push(...values);
1022
- policy.declared.add("allowedData");
1023
- policy.lineByField.set("allowedData", index + 1);
1024
- if (consumesBlockList(value, blockList))
1025
- index = blockList.nextIndex - 1;
1026
- continue;
1027
- }
1028
- if (FORBIDDEN_INPUT_POLICY_FIELDS.has(key)) {
1029
- policy.forbiddenInputs.push(...policyListValues(value, blockList));
1030
- policy.declared.add("forbiddenInputs");
1031
- policy.lineByField.set("forbiddenInputs", index + 1);
1032
- if (consumesBlockList(value, blockList))
1033
- index = blockList.nextIndex - 1;
1034
- continue;
1035
- }
1036
- if (FUTURE_BLOCK_LIST_POLICY_FIELDS.has(key)) {
1037
- if (consumesBlockList(value, blockList))
1038
- index = blockList.nextIndex - 1;
1039
- continue;
1040
- }
1041
- if (SECURITY_PROFILE_POLICY_FIELDS.has(key)) {
1042
- policy.securityProfile = value;
1043
- policy.declared.add("securityProfile");
1044
- policy.lineByField.set("securityProfile", index + 1);
1045
- }
1046
- }
1047
- return policy;
1048
- }
1049
- function applySecurityConfig(policy, config) {
1050
- if (config === undefined)
1051
- return policy;
1052
- const declared = new Set(policy.declared);
1053
- const lineByField = new Map(policy.lineByField);
1054
- const resolved = {
1055
- ...policy,
1056
- allowedData: [...policy.allowedData],
1057
- forbiddenInputs: [...policy.forbiddenInputs],
1058
- approvedNetworkDestinations: [...policy.approvedNetworkDestinations],
1059
- approvedUploadDestinations: [...policy.approvedUploadDestinations],
1060
- disallowedCommands: [...policy.disallowedCommands],
1061
- declared,
1062
- lineByField,
1063
- };
1064
- const chain = securityProfileChain(policy.securityProfile, config);
1065
- for (const item of chain.profiles) {
1066
- const profile = item.profile;
1067
- if (!declared.has("networkAllowed") &&
1068
- profile.networkAllowed !== undefined) {
1069
- resolved.networkAllowed = profile.networkAllowed;
1070
- }
1071
- if (!declared.has("externalUploadAllowed") &&
1072
- profile.externalUploadAllowed !== undefined) {
1073
- resolved.externalUploadAllowed = profile.externalUploadAllowed;
1074
- }
1075
- if (!declared.has("secretsAllowed") &&
1076
- profile.secretsAllowed !== undefined) {
1077
- resolved.secretsAllowed = profile.secretsAllowed;
1078
- }
1079
- if (!declared.has("humanApprovalRequired") &&
1080
- profile.humanApprovalRequired !== undefined) {
1081
- resolved.humanApprovalRequired = profile.humanApprovalRequired;
1082
- }
1083
- if (!declared.has("allowedData") &&
1084
- profile.allowedDataClass !== undefined) {
1085
- resolved.allowedDataClass = profile.allowedDataClass;
1086
- }
1087
- if (!declared.has("allowedData")) {
1088
- resolved.allowedData.push(...profile.allowedData);
1089
- }
1090
- if (!declared.has("forbiddenInputs")) {
1091
- resolved.forbiddenInputs.push(...profile.forbiddenInputs);
1092
- }
1093
- resolved.approvedNetworkDestinations.push(...profile.approvedDomains);
1094
- resolved.approvedUploadDestinations.push(...profile.approvedUploadDomains);
1095
- resolved.disallowedCommands.push(...profile.disallowedCommands);
1096
- }
1097
- resolved.approvedNetworkDestinations.push(...config.approvedDomains);
1098
- resolved.approvedUploadDestinations.push(...config.approvedUploadDomains);
1099
- resolved.disallowedCommands.push(...config.disallowedCommands);
1100
- resolved.allowedData = uniqueStrings(resolved.allowedData);
1101
- resolved.forbiddenInputs = uniqueStrings(resolved.forbiddenInputs);
1102
- resolved.approvedNetworkDestinations = uniqueStrings(resolved.approvedNetworkDestinations);
1103
- resolved.approvedUploadDestinations = uniqueStrings(resolved.approvedUploadDestinations);
1104
- resolved.disallowedCommands = uniqueStrings(resolved.disallowedCommands);
1105
- return resolved;
1106
- }
1107
- function securityProfileChain(name, config) {
1108
- if (name === undefined)
1109
- return { profiles: [] };
1110
- if (config === undefined)
1111
- return { profiles: [], missingProfile: name };
1112
- const profiles = [];
1113
- const seen = new Set();
1114
- const path = [];
1115
- let current = name;
1116
- while (current !== undefined) {
1117
- if (seen.has(current)) {
1118
- return {
1119
- profiles: [],
1120
- cycle: [...path.slice(path.indexOf(current)), current],
1121
- };
1122
- }
1123
- seen.add(current);
1124
- path.push(current);
1125
- const profile = config.profiles?.[current];
1126
- if (profile === undefined) {
1127
- return { profiles: [], missingProfile: current };
1128
- }
1129
- profiles.push({ name: current, profile });
1130
- current = profile.securityProfile;
1131
- }
1132
- return { profiles: profiles.reverse() };
1133
- }
1134
- function uniqueStrings(values) {
1135
- return [...new Set(values)];
1136
- }
1137
- function effectiveAllowedDataClass(policy) {
1138
- return policy.allowedDataClass ?? policy.allowedData[0];
1139
- }
1140
- function effectiveAllowedDataList(policy) {
1141
- return policy.allowedData;
1142
- }
1143
905
  function securityPolicyResolutionDetections(parsedPolicy, resolvedPolicy, config, content) {
1144
906
  const detections = [];
1145
907
  if (parsedPolicy.securityProfile === undefined) {
@@ -1273,24 +1035,6 @@ function forbiddenInputDetection(content, forbiddenInput) {
1273
1035
  function lineSnippet(content, line) {
1274
1036
  return content.split(/\r?\n/)[line - 1]?.trim();
1275
1037
  }
1276
- function parseBoolean(value) {
1277
- const normalized = value.toLowerCase();
1278
- if (["true", "yes", "allowed", "allow", "1"].includes(normalized)) {
1279
- return true;
1280
- }
1281
- if (["false", "no", "denied", "deny", "0"].includes(normalized)) {
1282
- return false;
1283
- }
1284
- return undefined;
1285
- }
1286
- function parseList(value) {
1287
- return value
1288
- .replace(/^\[/, "")
1289
- .replace(/\]$/, "")
1290
- .split(",")
1291
- .map((item) => item.trim().replace(/^["']|["']$/g, ""))
1292
- .filter((item) => item.length > 0);
1293
- }
1294
1038
  function unapprovedNetworkDestinations(line, policy) {
1295
1039
  return unapprovedDestinations(line, policy.approvedNetworkDestinations);
1296
1040
  }
@@ -1375,15 +1119,7 @@ function escapeRegExp(value) {
1375
1119
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1376
1120
  }
1377
1121
  function isPolicyLine(line) {
1378
- const key = line.match(/^\s*([A-Za-z_][A-Za-z0-9_]*):/)?.[1];
1379
- return (key !== undefined &&
1380
- (BOOLEAN_POLICY_FIELDS.has(key) ||
1381
- DESTINATION_POLICY_FIELDS.has(key) ||
1382
- UPLOAD_DESTINATION_POLICY_FIELDS.has(key) ||
1383
- ALLOWED_DATA_POLICY_FIELDS.has(key) ||
1384
- FORBIDDEN_INPUT_POLICY_FIELDS.has(key) ||
1385
- SECURITY_PROFILE_POLICY_FIELDS.has(key) ||
1386
- FUTURE_BLOCK_LIST_POLICY_FIELDS.has(key)));
1122
+ return isSecurityPolicyLine(line);
1387
1123
  }
1388
1124
  function isCommandLike(line) {
1389
1125
  return /\b(npm|pnpm|yarn|pip3?|brew|docker|curl|wget|sudo|chmod|chown|git|gh|aws|gcloud|az|kubectl|echo|cat|cp|mv|rm|touch|mkdir)\b/i.test(line);
@@ -1 +1 @@
1
- {"version":3,"file":"security-diagnostics.js","sourceRoot":"","sources":["../src/security-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-diagnostics.js","sourceRoot":"","sources":["../src/security-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { type SecurityPostureSummary } from "./security-posture.js";
2
+ import { type PolicyBooleanCounts, type SecurityPolicyInventorySummary } from "./security-policy-inventory.js";
3
+ export interface SecurityPostureDelta {
4
+ added: SecurityPostureSummary;
5
+ resolved: SecurityPostureSummary;
6
+ }
7
+ export interface PolicyBooleanDelta {
8
+ true: number;
9
+ false: number;
10
+ unspecified: number;
11
+ }
12
+ export interface SecurityPolicyInventoryDelta {
13
+ totalPolicyAssets: number;
14
+ assetsWithPolicyMetadata: number;
15
+ assetsMissingPolicyMetadata: number;
16
+ networkAllowed: PolicyBooleanDelta;
17
+ externalUploadAllowed: PolicyBooleanDelta;
18
+ secretsAllowed: PolicyBooleanDelta;
19
+ humanApprovalRequired: PolicyBooleanDelta;
20
+ approvedNetworkDestinationCount: number;
21
+ approvedUploadDestinationCount: number;
22
+ forbiddenInputCount: number;
23
+ disallowedCommandCount: number;
24
+ securityProfiles: {
25
+ referenced: number;
26
+ resolved: number;
27
+ missing: number;
28
+ cyclic: number;
29
+ none: number;
30
+ };
31
+ }
32
+ export interface SecurityDiffSummary {
33
+ posture: SecurityPostureDelta;
34
+ policyInventory: SecurityPolicyInventoryDelta;
35
+ }
36
+ export declare function buildSecurityDiffSummary(input: {
37
+ addedFindings: Array<{
38
+ id: string;
39
+ severity: string;
40
+ riskClass?: string | undefined;
41
+ }>;
42
+ removedFindings: Array<{
43
+ id: string;
44
+ severity: string;
45
+ riskClass?: string | undefined;
46
+ }>;
47
+ fromPolicyInventory?: SecurityPolicyInventorySummary | undefined;
48
+ toPolicyInventory?: SecurityPolicyInventorySummary | undefined;
49
+ }): SecurityDiffSummary;
50
+ export declare function deltaNumber(to: number, from: number): number;
51
+ export declare function deltaPolicyBoolean(to: PolicyBooleanCounts, from: PolicyBooleanCounts): PolicyBooleanDelta;
52
+ export declare function deltaProfileCounts(to: SecurityPolicyInventorySummary["securityProfiles"], from: SecurityPolicyInventorySummary["securityProfiles"]): SecurityPolicyInventoryDelta["securityProfiles"];
53
+ export declare function zeroSecurityPolicyInventoryDelta(): SecurityPolicyInventoryDelta;
54
+ //# sourceMappingURL=security-diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-diff.d.ts","sourceRoot":"","sources":["../src/security-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACpC,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B,EAAE,MAAM,CAAC;IACpC,cAAc,EAAE,kBAAkB,CAAC;IACnC,qBAAqB,EAAE,kBAAkB,CAAC;IAC1C,cAAc,EAAE,kBAAkB,CAAC;IACnC,qBAAqB,EAAE,kBAAkB,CAAC;IAC1C,+BAA+B,EAAE,MAAM,CAAC;IACxC,8BAA8B,EAAE,MAAM,CAAC;IACvC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gBAAgB,EAAE;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,eAAe,EAAE,4BAA4B,CAAC;CAC/C;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,aAAa,EAAE,KAAK,CAAC;QACnB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC,CAAC;IACH,eAAe,EAAE,KAAK,CAAC;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAChC,CAAC,CAAC;IACH,mBAAmB,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;IACjE,iBAAiB,CAAC,EAAE,8BAA8B,GAAG,SAAS,CAAC;CAChE,GAAG,mBAAmB,CAgBtB;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,mBAAmB,EACvB,IAAI,EAAE,mBAAmB,GACxB,kBAAkB,CAMpB;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,8BAA8B,CAAC,kBAAkB,CAAC,EACtD,IAAI,EAAE,8BAA8B,CAAC,kBAAkB,CAAC,GACvD,4BAA4B,CAAC,kBAAkB,CAAC,CAQlD;AAED,wBAAgB,gCAAgC,IAAI,4BAA4B,CAqB/E"}
@@ -0,0 +1,78 @@
1
+ import { summarizeSecurityPosture, } from "./security-posture.js";
2
+ import { zeroSecurityPolicyInventorySummary, } from "./security-policy-inventory.js";
3
+ export function buildSecurityDiffSummary(input) {
4
+ const fromPolicyInventory = input.fromPolicyInventory ?? zeroSecurityPolicyInventorySummary();
5
+ const toPolicyInventory = input.toPolicyInventory ?? zeroSecurityPolicyInventorySummary();
6
+ return {
7
+ posture: {
8
+ added: summarizeSecurityPosture(input.addedFindings),
9
+ resolved: summarizeSecurityPosture(input.removedFindings),
10
+ },
11
+ policyInventory: deltaSecurityPolicyInventory(toPolicyInventory, fromPolicyInventory),
12
+ };
13
+ }
14
+ export function deltaNumber(to, from) {
15
+ return to - from;
16
+ }
17
+ export function deltaPolicyBoolean(to, from) {
18
+ return {
19
+ true: deltaNumber(to.true, from.true),
20
+ false: deltaNumber(to.false, from.false),
21
+ unspecified: deltaNumber(to.unspecified, from.unspecified),
22
+ };
23
+ }
24
+ export function deltaProfileCounts(to, from) {
25
+ return {
26
+ referenced: deltaNumber(to.referenced, from.referenced),
27
+ resolved: deltaNumber(to.resolved, from.resolved),
28
+ missing: deltaNumber(to.missing, from.missing),
29
+ cyclic: deltaNumber(to.cyclic, from.cyclic),
30
+ none: deltaNumber(to.none, from.none),
31
+ };
32
+ }
33
+ export function zeroSecurityPolicyInventoryDelta() {
34
+ return {
35
+ totalPolicyAssets: 0,
36
+ assetsWithPolicyMetadata: 0,
37
+ assetsMissingPolicyMetadata: 0,
38
+ networkAllowed: zeroPolicyBooleanDelta(),
39
+ externalUploadAllowed: zeroPolicyBooleanDelta(),
40
+ secretsAllowed: zeroPolicyBooleanDelta(),
41
+ humanApprovalRequired: zeroPolicyBooleanDelta(),
42
+ approvedNetworkDestinationCount: 0,
43
+ approvedUploadDestinationCount: 0,
44
+ forbiddenInputCount: 0,
45
+ disallowedCommandCount: 0,
46
+ securityProfiles: {
47
+ referenced: 0,
48
+ resolved: 0,
49
+ missing: 0,
50
+ cyclic: 0,
51
+ none: 0,
52
+ },
53
+ };
54
+ }
55
+ function deltaSecurityPolicyInventory(to, from) {
56
+ return {
57
+ totalPolicyAssets: deltaNumber(to.totalPolicyAssets, from.totalPolicyAssets),
58
+ assetsWithPolicyMetadata: deltaNumber(to.assetsWithPolicyMetadata, from.assetsWithPolicyMetadata),
59
+ assetsMissingPolicyMetadata: deltaNumber(to.assetsMissingPolicyMetadata, from.assetsMissingPolicyMetadata),
60
+ networkAllowed: deltaPolicyBoolean(to.networkAllowed, from.networkAllowed),
61
+ externalUploadAllowed: deltaPolicyBoolean(to.externalUploadAllowed, from.externalUploadAllowed),
62
+ secretsAllowed: deltaPolicyBoolean(to.secretsAllowed, from.secretsAllowed),
63
+ humanApprovalRequired: deltaPolicyBoolean(to.humanApprovalRequired, from.humanApprovalRequired),
64
+ approvedNetworkDestinationCount: deltaNumber(to.approvedNetworkDestinationCount, from.approvedNetworkDestinationCount),
65
+ approvedUploadDestinationCount: deltaNumber(to.approvedUploadDestinationCount, from.approvedUploadDestinationCount),
66
+ forbiddenInputCount: deltaNumber(to.forbiddenInputCount, from.forbiddenInputCount),
67
+ disallowedCommandCount: deltaNumber(to.disallowedCommandCount, from.disallowedCommandCount),
68
+ securityProfiles: deltaProfileCounts(to.securityProfiles, from.securityProfiles),
69
+ };
70
+ }
71
+ function zeroPolicyBooleanDelta() {
72
+ return {
73
+ true: 0,
74
+ false: 0,
75
+ unspecified: 0,
76
+ };
77
+ }
78
+ //# sourceMappingURL=security-diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-diff.js","sourceRoot":"","sources":["../src/security-diff.ts"],"names":[],"mappings":"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"}