@contrast/common 1.36.0 → 1.37.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.
@@ -10,7 +10,7 @@ export declare enum Event {
10
10
  ASSESS_CRYPTO_ANALYSIS_FINDING = "assess-crypto-analysis-finding",
11
11
  LIBRARY = "library",
12
12
  LIBRARY_USAGE = "library-usage",
13
- PROTECT = "protect",
13
+ PROTECT_FINDING = "protect-finding",
14
14
  ROUTE_COVERAGE_OBSERVATION = "route-coverage-observation",
15
15
  SERVER_SETTINGS_UPDATE = "server-settings-update",// UI remote settings updates
16
16
  UNINSTALL = "uninstall",// disable all components/features
package/lib/constants.js CHANGED
@@ -30,7 +30,7 @@ var Event;
30
30
  Event["ASSESS_CRYPTO_ANALYSIS_FINDING"] = "assess-crypto-analysis-finding";
31
31
  Event["LIBRARY"] = "library";
32
32
  Event["LIBRARY_USAGE"] = "library-usage";
33
- Event["PROTECT"] = "protect";
33
+ Event["PROTECT_FINDING"] = "protect-finding";
34
34
  Event["ROUTE_COVERAGE_OBSERVATION"] = "route-coverage-observation";
35
35
  // state changes
36
36
  Event["SERVER_SETTINGS_UPDATE"] = "server-settings-update";
package/lib/types.d.ts CHANGED
@@ -150,9 +150,8 @@ export interface Result {
150
150
  mongoExpansionResult?: boolean;
151
151
  path?: string[];
152
152
  ruleId: Rule;
153
- score: number;
153
+ score?: number;
154
154
  value: string;
155
- sinkContext?: any;
156
155
  }
157
156
  export interface SemanticAnalysisResult extends Result {
158
157
  ruleId: SemanticAnalysisRules;
@@ -230,6 +229,7 @@ export interface SourceInfo {
230
229
  contentType?: string;
231
230
  ip: string;
232
231
  httpVersion: string;
232
+ getHeader(name: string): string | null;
233
233
  }
234
234
  /**
235
235
  * this is known as RequestStore even though, in the future, instrumentation
@@ -346,6 +346,20 @@ export interface RouteInfo {
346
346
  */
347
347
  normalizedUrl: string;
348
348
  }
349
+ export interface ProtectFindingEventArg {
350
+ store: RequestStore;
351
+ result: Result;
352
+ sinkContext?: {
353
+ name: string;
354
+ value: any;
355
+ stacktraceOpts?: {
356
+ constructorOpt: any;
357
+ prependFrames: any[];
358
+ };
359
+ stack?: any[];
360
+ };
361
+ findings?: any;
362
+ }
349
363
  /**
350
364
  * Agent event emitter for messaging to/from external systems. Use cases are
351
365
  * reporting agent findings and broadcasting settings updates.
@@ -358,7 +372,7 @@ export interface Messages extends EventEmitter {
358
372
  emit(event: Event.ASSESS_DATAFLOW_FINDING, msg: any): boolean;
359
373
  emit(event: Event.LIBRARY, msg: Library): boolean;
360
374
  emit(event: Event.LIBRARY_USAGE, msg: LibraryUsage): boolean;
361
- emit(event: Event.PROTECT, msg: RequestStore): boolean;
375
+ emit(event: Event.PROTECT_FINDING, msg: ProtectFindingEventArg): boolean;
362
376
  emit(event: Event.ROUTE_COVERAGE_DISCOVERY_FINISHED, routes: RouteInfo[]): boolean;
363
377
  emit(event: Event.ROUTE_COVERAGE_OBSERVATION, route: RouteInfo): boolean;
364
378
  emit(event: Event.SERVER_SETTINGS_UPDATE, msg: Record<string, any>): boolean;
@@ -369,7 +383,7 @@ export interface Messages extends EventEmitter {
369
383
  on(event: Event.ASSESS_DATAFLOW_FINDING, listenter: (msg: any) => void): this;
370
384
  on(event: Event.LIBRARY, listener: (msg: Library) => void): this;
371
385
  on(event: Event.LIBRARY_USAGE, listener: (msg: LibraryUsage) => void): this;
372
- on(event: Event.PROTECT, listener: (msg: RequestStore) => void): this;
386
+ on(event: Event.PROTECT_FINDING, listener: (msg: ProtectFindingEventArg) => void): this;
373
387
  on(event: Event.ROUTE_COVERAGE_DISCOVERY_FINISHED, listener: (routes: RouteInfo[]) => void): this;
374
388
  on(event: Event.ROUTE_COVERAGE_OBSERVATION, listener: (route: RouteInfo) => void): this;
375
389
  on(event: Event.SERVER_SETTINGS_UPDATE, listener: (msg: Record<string, any>) => void): this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrast/common",
3
- "version": "1.36.0",
3
+ "version": "1.37.0",
4
4
  "description": "Shared constants and utilities for all Contrast Agent modules",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Contrast Security <nodejs@contrastsecurity.com> (https://www.contrastsecurity.com)",