@contrast/agent 4.29.2-alpha.1 → 4.30.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.
- package/LICENSE +11 -11
- package/README.md +86 -57
- package/agent-loader.js +14 -0
- package/bin/VERSION +1 -0
- package/bin/contrast-service-darwin-arm64 +0 -0
- package/bin/contrast-service-darwin-x64 +0 -0
- package/bin/contrast-service-linux-arm64 +0 -0
- package/bin/contrast-service-linux-x64 +0 -0
- package/bin/contrast-service-win32-x64.exe +0 -0
- package/bootstrap.js +14 -0
- package/changelog.config.js +56 -0
- package/cli-rewriter.js +14 -0
- package/cli.js +14 -0
- package/config-diagnostics.js +14 -0
- package/esm.mjs +14 -0
- package/lib/agent-emitter.js +14 -0
- package/lib/agent.js +14 -0
- package/lib/app-info.js +14 -0
- package/lib/assess/deadzones/index.js +14 -0
- package/lib/assess/deadzones/rewrite.js +14 -0
- package/lib/assess/express/index.js +14 -0
- package/lib/assess/express/route-coverage.js +14 -0
- package/lib/assess/express/sinks/index.js +14 -0
- package/lib/assess/express/sinks/xss.js +14 -0
- package/lib/assess/express/sources.js +14 -0
- package/lib/assess/fastify/index.js +14 -0
- package/lib/assess/fastify/route-coverage.js +14 -0
- package/lib/assess/fastify/sinks/index.js +13 -1
- package/lib/assess/fastify/sinks/response-scanning.js +14 -0
- package/lib/assess/fastify/sinks/unvalidated-redirect.js +14 -0
- package/lib/assess/fastify/sinks/xss.js +14 -0
- package/lib/assess/fastify/sources.js +14 -0
- package/lib/assess/hapi/index.js +14 -0
- package/lib/assess/hapi/route-coverage.js +14 -0
- package/lib/assess/hapi/sinks/index.js +14 -0
- package/lib/assess/hapi/sinks/response-scanning.js +14 -0
- package/lib/assess/hapi/sinks/session.js +14 -0
- package/lib/assess/hapi/sinks/unvalidated-redirect.js +14 -0
- package/lib/assess/hapi/sinks/xss.js +14 -0
- package/lib/assess/hapi/sources.js +14 -0
- package/lib/assess/index.js +14 -0
- package/lib/assess/koa/index.js +14 -0
- package/lib/assess/koa/route-coverage.js +14 -0
- package/lib/assess/koa/sinks/index.js +14 -0
- package/lib/assess/koa/sinks/response-scanning.js +14 -0
- package/lib/assess/koa/sinks/unvalidated-redirect.js +14 -0
- package/lib/assess/koa/sinks/xss.js +14 -0
- package/lib/assess/koa/sources.js +14 -0
- package/lib/assess/loopback4/index.js +14 -0
- package/lib/assess/loopback4/route-coverage.js +14 -0
- package/lib/assess/loopback4/sinks/index.js +14 -0
- package/lib/assess/loopback4/sinks/response-scanning.js +14 -0
- package/lib/assess/loopback4/sinks/xss.js +14 -0
- package/lib/assess/loopback4/sources.js +14 -0
- package/lib/assess/membrane/debraner.js +14 -0
- package/lib/assess/membrane/deserialization-membrane.js +14 -0
- package/lib/assess/membrane/index.js +14 -0
- package/lib/assess/membrane/source-membrane.js +14 -0
- package/lib/assess/models/base-event.js +14 -0
- package/lib/assess/models/call-context.js +14 -0
- package/lib/assess/models/index.js +14 -0
- package/lib/assess/models/propagation-event.js +14 -0
- package/lib/assess/models/signature.js +14 -0
- package/lib/assess/models/sink-event.js +14 -0
- package/lib/assess/models/source-event.js +14 -0
- package/lib/assess/models/tag-range/index.js +14 -0
- package/lib/assess/models/tag-range/relationships.js +14 -0
- package/lib/assess/models/tag-range/util.js +14 -0
- package/lib/assess/policy/index.js +14 -0
- package/lib/assess/policy/init.js +14 -0
- package/lib/assess/policy/util.js +14 -0
- package/lib/assess/propagators/JSON/parse.js +14 -0
- package/lib/assess/propagators/JSON/stringify.js +14 -0
- package/lib/assess/propagators/ajv/conditionals.js +14 -0
- package/lib/assess/propagators/ajv/evaluator-shim.js +14 -0
- package/lib/assess/propagators/ajv/index.js +14 -0
- package/lib/assess/propagators/ajv/json-schema-type-evaluators.js +14 -0
- package/lib/assess/propagators/ajv/object-walk.js +14 -0
- package/lib/assess/propagators/ajv/refs.js +14 -0
- package/lib/assess/propagators/ajv/schema-context.js +14 -0
- package/lib/assess/propagators/array-prototype-join.js +14 -0
- package/lib/assess/propagators/common.js +14 -0
- package/lib/assess/propagators/dustjs/escape-html.js +14 -0
- package/lib/assess/propagators/dustjs/escape-js.js +14 -0
- package/lib/assess/propagators/ejs-template-generate-source.js +14 -0
- package/lib/assess/propagators/encode-uri/encode-uri-component.js +14 -0
- package/lib/assess/propagators/encode-uri/encode-uri.js +14 -0
- package/lib/assess/propagators/fastify-static/allowed-path.js +14 -0
- package/lib/assess/propagators/handlebars-compile.js +14 -0
- package/lib/assess/propagators/handlebars-escape-expresssion.js +14 -0
- package/lib/assess/propagators/index.js +14 -0
- package/lib/assess/propagators/joi/any.js +14 -0
- package/lib/assess/propagators/joi/boolean.js +14 -0
- package/lib/assess/propagators/joi/expression.js +14 -0
- package/lib/assess/propagators/joi/index.js +14 -0
- package/lib/assess/propagators/joi/keys.js +14 -0
- package/lib/assess/propagators/joi/number.js +14 -0
- package/lib/assess/propagators/joi/object.js +14 -0
- package/lib/assess/propagators/joi/string-base.js +14 -0
- package/lib/assess/propagators/joi/string-schema.js +14 -0
- package/lib/assess/propagators/joi/values.js +14 -0
- package/lib/assess/propagators/manager.js +14 -0
- package/lib/assess/propagators/mongoose/helpers.js +14 -0
- package/lib/assess/propagators/mongoose/index.js +14 -0
- package/lib/assess/propagators/mongoose/map.js +14 -0
- package/lib/assess/propagators/mongoose/mixed.js +14 -0
- package/lib/assess/propagators/mongoose/string.js +14 -0
- package/lib/assess/propagators/mustache/escape.js +14 -0
- package/lib/assess/propagators/number.js +14 -0
- package/lib/assess/propagators/object.js +14 -0
- package/lib/assess/propagators/path/basename.js +14 -0
- package/lib/assess/propagators/path/common.js +14 -0
- package/lib/assess/propagators/path/dirname.js +14 -0
- package/lib/assess/propagators/path/extname.js +14 -0
- package/lib/assess/propagators/path/format.js +14 -0
- package/lib/assess/propagators/path/join.js +14 -0
- package/lib/assess/propagators/path/normalize.js +14 -0
- package/lib/assess/propagators/path/parse.js +14 -0
- package/lib/assess/propagators/path/relative.js +14 -0
- package/lib/assess/propagators/path/resolve.js +14 -0
- package/lib/assess/propagators/path/to-namespaced-path.js +14 -0
- package/lib/assess/propagators/pug-compile.js +14 -0
- package/lib/assess/propagators/querystring/escape.js +14 -0
- package/lib/assess/propagators/querystring/parse.js +14 -0
- package/lib/assess/propagators/querystring/stringify.js +14 -0
- package/lib/assess/propagators/querystring/unescape.js +14 -0
- package/lib/assess/propagators/querystring/utils.js +14 -0
- package/lib/assess/propagators/sequelize/sql-string-escape.js +14 -0
- package/lib/assess/propagators/sequelize/sql-string-format-named-parameters.js +14 -0
- package/lib/assess/propagators/sequelize/sql-string-format.js +14 -0
- package/lib/assess/propagators/sequelize/utils.js +14 -0
- package/lib/assess/propagators/string-prototype-replace.js +14 -0
- package/lib/assess/propagators/string-prototype-split.js +14 -0
- package/lib/assess/propagators/string-prototype-trim.js +14 -0
- package/lib/assess/propagators/string.js +14 -0
- package/lib/assess/propagators/template-escape.js +14 -0
- package/lib/assess/propagators/templates.js +14 -0
- package/lib/assess/propagators/url/url-prototype-parse.js +14 -0
- package/lib/assess/propagators/url/url-url.js +14 -0
- package/lib/assess/propagators/url/utils.js +14 -0
- package/lib/assess/propagators/util/format.js +14 -0
- package/lib/assess/propagators/utils.js +14 -0
- package/lib/assess/propagators/v8/init-hooks.js +14 -0
- package/lib/assess/propagators/validator/init-hooks.js +14 -0
- package/lib/assess/propagators/validator/validator-methods.js +14 -0
- package/lib/assess/response-scanning/app-activity.js +14 -0
- package/lib/assess/response-scanning/autocomplete-missing.js +14 -0
- package/lib/assess/response-scanning/cache-controls-missing.js +14 -0
- package/lib/assess/response-scanning/clickjacking-control-missing.js +14 -0
- package/lib/assess/response-scanning/common.js +14 -0
- package/lib/assess/response-scanning/cookies/common.js +14 -0
- package/lib/assess/response-scanning/cookies/events.js +14 -0
- package/lib/assess/response-scanning/cookies/httponly.js +14 -0
- package/lib/assess/response-scanning/cookies/secure-flag-missing.js +14 -0
- package/lib/assess/response-scanning/headers/csp-header-insecure.js +14 -0
- package/lib/assess/response-scanning/headers/csp-header-missing.js +14 -0
- package/lib/assess/response-scanning/headers/csp-utils.js +14 -0
- package/lib/assess/response-scanning/headers/hsts-header-missing.js +14 -0
- package/lib/assess/response-scanning/headers/powered-by.js +14 -0
- package/lib/assess/response-scanning/headers/xcontenttype-header-missing.js +14 -0
- package/lib/assess/response-scanning/headers/xxssprotection-header-disabled.js +14 -0
- package/lib/assess/response-scanning/parameter-pollution.js +14 -0
- package/lib/assess/response-scanning/parseable-response-emitter.js +14 -0
- package/lib/assess/restify/index.js +14 -0
- package/lib/assess/restify/route-coverage.js +14 -0
- package/lib/assess/restify/session.js +14 -0
- package/lib/assess/restify/sinks/index.js +14 -0
- package/lib/assess/restify/sinks/response-scanning.js +14 -0
- package/lib/assess/restify/sinks/unvalidated-redirect.js +14 -0
- package/lib/assess/restify/sinks/xss.js +14 -0
- package/lib/assess/restify/sources.js +14 -0
- package/lib/assess/sinks/common.js +14 -0
- package/lib/assess/sinks/dustjs-linkedin-xss.js +14 -0
- package/lib/assess/sinks/dynamo.js +14 -0
- package/lib/assess/sinks/hapi-16-xss.js +14 -0
- package/lib/assess/sinks/index.js +14 -0
- package/lib/assess/sinks/libxmljs-xxe.js +14 -0
- package/lib/assess/sinks/mongodb.js +14 -0
- package/lib/assess/sinks/rethinkdb-nosql-injection.js +14 -0
- package/lib/assess/sinks/ssrf-url.js +14 -0
- package/lib/assess/sources/event-handler.js +16 -3
- package/lib/assess/sources/formidable.js +14 -0
- package/lib/assess/sources/index.js +14 -0
- package/lib/assess/spdy/index.js +14 -0
- package/lib/assess/spdy/sinks/index.js +14 -0
- package/lib/assess/spdy/sinks/xss.js +14 -0
- package/lib/assess/static/hardcoded.js +14 -0
- package/lib/assess/static/read-findings-from-cache.js +14 -0
- package/lib/assess/technologies/index.js +14 -0
- package/lib/assess/utils.js +14 -0
- package/lib/cli-rewriter/index.js +14 -0
- package/lib/constants.js +14 -0
- package/lib/contrast.js +14 -0
- package/lib/core/arch-components/dynamodb.js +14 -0
- package/lib/core/arch-components/dynamodbv3.js +14 -0
- package/lib/core/arch-components/index.js +14 -0
- package/lib/core/arch-components/mongodb.js +14 -0
- package/lib/core/arch-components/mysql.js +14 -0
- package/lib/core/arch-components/postgres.js +14 -0
- package/lib/core/arch-components/rethinkdb.js +14 -0
- package/lib/core/arch-components/sqlite3.js +14 -0
- package/lib/core/arch-components/util.js +14 -0
- package/lib/core/async-storage/context.js +14 -0
- package/lib/core/async-storage/hooks/bluebird.js +14 -0
- package/lib/core/async-storage/hooks/mongodb.js +14 -0
- package/lib/core/async-storage/hooks/mysql.js +14 -0
- package/lib/core/async-storage/hooks/redis.js +14 -0
- package/lib/core/async-storage/hooks/utils.js +14 -0
- package/lib/core/async-storage/index.js +14 -0
- package/lib/core/async-storage/scopes/index.js +14 -0
- package/lib/core/common/formidable.js +14 -0
- package/lib/core/common/index.js +14 -0
- package/lib/core/config/options.js +14 -0
- package/lib/core/config/util.js +14 -0
- package/lib/core/exclusions/exclusion-factory.js +14 -0
- package/lib/core/exclusions/exclusion.js +14 -0
- package/lib/core/exclusions/input.js +14 -0
- package/lib/core/exclusions/url.js +14 -0
- package/lib/core/express/index.js +14 -0
- package/lib/core/express/utils.js +14 -0
- package/lib/core/fastify/index.js +14 -0
- package/lib/core/fastify/utils.js +14 -0
- package/lib/core/hapi/index.js +14 -0
- package/lib/core/hapi/utils.js +14 -0
- package/lib/core/index.js +14 -0
- package/lib/core/koa/index.js +14 -0
- package/lib/core/koa/utils.js +14 -0
- package/lib/core/logger/daily-rotate-file.js +14 -0
- package/lib/core/logger/dataflow-monitor.js +14 -0
- package/lib/core/logger/debug-logger.js +14 -0
- package/lib/core/logger/index.js +14 -0
- package/lib/core/logger/perf-logger.js +14 -0
- package/lib/core/logger/umbrella-logger.js +14 -0
- package/lib/core/loopback4/index.js +14 -0
- package/lib/core/metrics/index.js +14 -0
- package/lib/core/restify/index.js +14 -0
- package/lib/core/restify/utils.js +14 -0
- package/lib/core/rewrite/assignment-expression.js +14 -0
- package/lib/core/rewrite/binary-expression.js +14 -0
- package/lib/core/rewrite/call-expression.js +14 -0
- package/lib/core/rewrite/callees.js +14 -0
- package/lib/core/rewrite/catch-clause.js +14 -0
- package/lib/core/rewrite/function-wrap.js +14 -0
- package/lib/core/rewrite/import-declaration.js +14 -0
- package/lib/core/rewrite/index.js +14 -0
- package/lib/core/rewrite/injections.js +14 -0
- package/lib/core/rewrite/is-contrast-method.js +14 -0
- package/lib/core/rewrite/log.js +14 -0
- package/lib/core/rewrite/member-expression.js +14 -0
- package/lib/core/rewrite/object-property.js +14 -0
- package/lib/core/rewrite/prepend-globals.js +14 -0
- package/lib/core/rewrite/rewrite-log.js +14 -0
- package/lib/core/rewrite/switch-statement.js +14 -0
- package/lib/core/rewrite/template-literal.js +14 -0
- package/lib/core/stacktrace.js +14 -0
- package/lib/coverage.js +14 -0
- package/lib/feature-set.js +14 -0
- package/lib/generator-function.js +14 -0
- package/lib/hooks/array.js +14 -0
- package/lib/hooks/cluster.js +14 -0
- package/lib/hooks/dataflow-monitor.js +14 -0
- package/lib/hooks/encoding.js +14 -0
- package/lib/hooks/express-fileupload.js +14 -0
- package/lib/hooks/express-session.js +14 -0
- package/lib/hooks/fn-to-string.js +14 -0
- package/lib/hooks/frameworks/base.js +14 -0
- package/lib/hooks/frameworks/common.js +14 -0
- package/lib/hooks/frameworks/hapi16.js +14 -0
- package/lib/hooks/frameworks/http.js +14 -0
- package/lib/hooks/frameworks/http2.js +14 -0
- package/lib/hooks/frameworks/index.js +14 -0
- package/lib/hooks/frameworks/spdy.js +14 -0
- package/lib/hooks/hapi-16-reply.js +14 -0
- package/lib/hooks/hapi-16-session.js +14 -0
- package/lib/hooks/http.js +18 -7
- package/lib/hooks/module/extensions.js +14 -0
- package/lib/hooks/module/helpers.js +14 -0
- package/lib/hooks/module/index.js +14 -0
- package/lib/hooks/newrelic.js +14 -0
- package/lib/hooks/object-is.js +14 -0
- package/lib/hooks/object-to-primitive.js +14 -0
- package/lib/hooks/patcher.js +14 -0
- package/lib/hooks/require.js +14 -0
- package/lib/hooks/stealthy-require.js +14 -0
- package/lib/instrumentation.js +14 -0
- package/lib/libraries.js +14 -0
- package/lib/library-usage.js +14 -0
- package/lib/list-installed.js +14 -0
- package/lib/protect/analysis/aho-corasick.js +14 -0
- package/lib/protect/analysis/dfsa-analyzer.js +14 -0
- package/lib/protect/errors/handler-async-errors.js +14 -0
- package/lib/protect/errors/handler.js +14 -0
- package/lib/protect/errors/security-exception.js +14 -0
- package/lib/protect/express/index.js +14 -0
- package/lib/protect/express/sinks.js +14 -0
- package/lib/protect/express/sources.js +14 -0
- package/lib/protect/express/utils.js +14 -0
- package/lib/protect/fastify/index.js +14 -0
- package/lib/protect/fastify/sinks.js +14 -0
- package/lib/protect/fastify/sources.js +14 -0
- package/lib/protect/hapi/error-handler.js +14 -0
- package/lib/protect/hapi/index.js +14 -0
- package/lib/protect/hapi/sinks.js +14 -0
- package/lib/protect/hapi/sources.js +14 -0
- package/lib/protect/index.js +14 -0
- package/lib/protect/input-analysis.js +14 -0
- package/lib/protect/koa/index.js +14 -0
- package/lib/protect/koa/sinks.js +14 -0
- package/lib/protect/koa/sources.js +14 -0
- package/lib/protect/listeners.js +14 -0
- package/lib/protect/loopback4/index.js +14 -0
- package/lib/protect/loopback4/sources.js +14 -0
- package/lib/protect/models/application-context.js +14 -0
- package/lib/protect/models/sink-event.js +14 -0
- package/lib/protect/models/source-event.js +14 -0
- package/lib/protect/restify/index.js +14 -0
- package/lib/protect/restify/sinks.js +14 -0
- package/lib/protect/restify/sources.js +14 -0
- package/lib/protect/rules/assessment.js +14 -0
- package/lib/protect/rules/attack-patterns.js +14 -0
- package/lib/protect/rules/base-scanner/index.js +14 -0
- package/lib/protect/rules/base-scanner/java-script-scanner.js +14 -0
- package/lib/protect/rules/base-scanner/postgresqlscanner.js +14 -0
- package/lib/protect/rules/base-scanner/scan-state.js +14 -0
- package/lib/protect/rules/base-scanner/substring-finder.js +14 -0
- package/lib/protect/rules/base-scanner/token-sequence.js +14 -0
- package/lib/protect/rules/bot-blocker/bot-blocker-rule.js +14 -0
- package/lib/protect/rules/bot-blocker/index.js +14 -0
- package/lib/protect/rules/cmd-injection/cmdinjection-rule.js +14 -0
- package/lib/protect/rules/cmd-injection-command-backdoors/backdoor-detector.js +14 -0
- package/lib/protect/rules/cmd-injection-command-backdoors/cmd-injection-command-backdoors-rule.js +14 -0
- package/lib/protect/rules/cmd-injection-semantic-chained-commands/chained-command-scanner.js +14 -0
- package/lib/protect/rules/cmd-injection-semantic-chained-commands/cmd-injection-semantic-chained-commands-rule.js +14 -0
- package/lib/protect/rules/cmd-injection-semantic-dangerous-paths/cmd-injection-semantic-dangerous-paths-rule.js +14 -0
- package/lib/protect/rules/cmd-injection-semantic-dangerous-paths/dangerous-paths-scanner.js +14 -0
- package/lib/protect/rules/common.js +14 -0
- package/lib/protect/rules/index.js +14 -0
- package/lib/protect/rules/ip-denylist/ip-denylist-rule.js +14 -0
- package/lib/protect/rules/method-tampering/evaluator.js +14 -0
- package/lib/protect/rules/method-tampering/method-tampering-rule.js +14 -0
- package/lib/protect/rules/nosqli/nosql-injection-rule.js +14 -0
- package/lib/protect/rules/nosqli/nosql-scanner/index.js +14 -0
- package/lib/protect/rules/nosqli/nosql-scanner/mongodbscanner.js +14 -0
- package/lib/protect/rules/nosqli/nosql-scanner/rethinkdbscanner.js +14 -0
- package/lib/protect/rules/path-traversal/path-traversal-rule.js +14 -0
- package/lib/protect/rules/rule-factory.js +14 -0
- package/lib/protect/rules/signatures/cmd-injection/custom-searchers/chained-command-searcher.js +14 -0
- package/lib/protect/rules/signatures/cmd-injection/custom-searchers/index.js +14 -0
- package/lib/protect/rules/signatures/cmd-injection/index.js +14 -0
- package/lib/protect/rules/signatures/evaluator.js +14 -0
- package/lib/protect/rules/signatures/index.js +14 -0
- package/lib/protect/rules/signatures/nosql-injection/custom-searchers/index.js +14 -0
- package/lib/protect/rules/signatures/nosql-injection/custom-searchers/nosql-comment-searcher.js +14 -0
- package/lib/protect/rules/signatures/nosql-injection/custom-searchers/simple-or-searcher.js +14 -0
- package/lib/protect/rules/signatures/nosql-injection/index.js +14 -0
- package/lib/protect/rules/signatures/path-traversal/index.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/behavior-url-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/function-definition-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/immediate-function-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/index.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/link-and-src-target-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/location-set-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/map-access-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/native-function-execution-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/no-alnum-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/redefined-function-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/style-url-injection-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/custom-searchers/variable-assignment-searcher.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/helpers/function-call.js +14 -0
- package/lib/protect/rules/signatures/reflected-xss/index.js +14 -0
- package/lib/protect/rules/signatures/signature.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/custom-searchers/if-else-drop-searcher.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/custom-searchers/index.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/custom-searchers/simple-or-searcher.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/custom-searchers/sql-comment-searcher.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/custom-searchers/time-function-searcher.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/custom-searchers/tsql-exec-searcher.js +14 -0
- package/lib/protect/rules/signatures/sql-injection/index.js +14 -0
- package/lib/protect/rules/signatures/ssjs-injection/index.js +14 -0
- package/lib/protect/rules/signatures/unsafe-file-upload/index.js +14 -0
- package/lib/protect/rules/signatures/untrusted-deserialization/index.js +14 -0
- package/lib/protect/rules/sqli/generic-complicated.js +14 -0
- package/lib/protect/rules/sqli/sql-injection-rule.js +14 -0
- package/lib/protect/rules/sqli/sql-scanner/index.js +14 -0
- package/lib/protect/rules/sqli/sql-scanner/mysql-scanner.js +14 -0
- package/lib/protect/rules/ssjs-injection/evaluator.js +14 -0
- package/lib/protect/rules/ssjs-injection/ssjsinjection-rule.js +14 -0
- package/lib/protect/rules/unsafe-file-upload/unsafe-file-upload-rule.js +14 -0
- package/lib/protect/rules/untrusted-deserialization/untrusted-deserialization-rule.js +14 -0
- package/lib/protect/rules/virtual-patch/index.js +14 -0
- package/lib/protect/rules/virtual-patch/utils.js +14 -0
- package/lib/protect/rules/virtual-patch/virtual-patch-rule.js +14 -0
- package/lib/protect/rules/xss/helpers/function-call.js +14 -0
- package/lib/protect/rules/xss/reflected-xss-rule.js +14 -0
- package/lib/protect/rules/xxe/xxerule.js +14 -0
- package/lib/protect/sample-aggregator.js +14 -0
- package/lib/protect/samples.js +14 -0
- package/lib/protect/service.js +14 -0
- package/lib/protect/sinks/child-process.js +14 -0
- package/lib/protect/sinks/eval.js +14 -0
- package/lib/protect/sinks/fs.js +14 -0
- package/lib/protect/sinks/function.js +14 -0
- package/lib/protect/sinks/index.js +14 -0
- package/lib/protect/sinks/libxmljs.js +14 -0
- package/lib/protect/sinks/mongodb.js +14 -0
- package/lib/protect/sinks/mysql.js +14 -0
- package/lib/protect/sinks/node-serialize.js +14 -0
- package/lib/protect/sinks/postgres.js +14 -0
- package/lib/protect/sinks/rethinkdb.js +14 -0
- package/lib/protect/sinks/sequelize.js +14 -0
- package/lib/protect/sinks/sqlite3.js +14 -0
- package/lib/protect/sinks/vm.js +14 -0
- package/lib/protect/sources/busboy.js +14 -0
- package/lib/protect/sources/formidable.js +14 -0
- package/lib/protect/sources/index.js +14 -0
- package/lib/protect/validators/authorization.js +14 -0
- package/lib/protect/validators/common.js +14 -0
- package/lib/protect/validators/connection.js +14 -0
- package/lib/protect/validators/content-length.js +14 -0
- package/lib/protect/validators/host.js +14 -0
- package/lib/protect/validators/if-none-match.js +14 -0
- package/lib/protect/validators/index.js +14 -0
- package/lib/protect/validators/origin.js +14 -0
- package/lib/reporter/app-activity-queue.js +14 -0
- package/lib/reporter/grpc-client.js +14 -0
- package/lib/reporter/messages/speedracer/activity.js +14 -0
- package/lib/reporter/messages/speedracer/application-create.js +14 -0
- package/lib/reporter/messages/speedracer/application-update.js +14 -0
- package/lib/reporter/messages/speedracer/base.js +14 -0
- package/lib/reporter/messages/speedracer/index.js +14 -0
- package/lib/reporter/messages/speedracer/observed-route.js +14 -0
- package/lib/reporter/messages/speedracer/poll.js +14 -0
- package/lib/reporter/messages/speedracer/request.js +14 -0
- package/lib/reporter/messages/speedracer/startup.js +14 -0
- package/lib/reporter/messaging-router.js +14 -0
- package/lib/reporter/models/app-activity/app-activity.js +14 -0
- package/lib/reporter/models/app-activity/attacker-activity.js +14 -0
- package/lib/reporter/models/app-activity/defend.js +14 -0
- package/lib/reporter/models/app-activity/inventory.js +14 -0
- package/lib/reporter/models/app-activity/protection-rule-activity.js +14 -0
- package/lib/reporter/models/app-activity/rule-events.js +14 -0
- package/lib/reporter/models/app-activity/sample.js +14 -0
- package/lib/reporter/models/app-activity/source.js +14 -0
- package/lib/reporter/models/app-activity/user-input.js +14 -0
- package/lib/reporter/models/app-create.js +14 -0
- package/lib/reporter/models/app-update/index.js +14 -0
- package/lib/reporter/models/app-update/library-manifest.js +14 -0
- package/lib/reporter/models/app-update/library-usage.js +14 -0
- package/lib/reporter/models/app-update/library.js +14 -0
- package/lib/reporter/models/event-tag.js +14 -0
- package/lib/reporter/models/finding/event.js +14 -0
- package/lib/reporter/models/finding/finding.js +14 -0
- package/lib/reporter/models/frameworks/express-request.js +14 -0
- package/lib/reporter/models/frameworks/fastify-request.js +14 -0
- package/lib/reporter/models/frameworks/hapi-request.js +14 -0
- package/lib/reporter/models/frameworks/index.js +14 -0
- package/lib/reporter/models/frameworks/koa-request.js +14 -0
- package/lib/reporter/models/frameworks/restify-request.js +14 -0
- package/lib/reporter/models/observed-route.js +14 -0
- package/lib/reporter/models/request.js +14 -0
- package/lib/reporter/models/route-coverage.js +14 -0
- package/lib/reporter/models/startup.js +14 -0
- package/lib/reporter/models/trace-event-source.js +14 -0
- package/lib/reporter/models/utils/request-factory.js +14 -0
- package/lib/reporter/models/utils/user-input-factory.js +14 -0
- package/lib/reporter/models/utils/user-input-kit.js +14 -0
- package/lib/reporter/mq-client.js +14 -0
- package/lib/reporter/server-activity-queue.js +14 -0
- package/lib/reporter/socket-client.js +14 -0
- package/lib/reporter/speedracer/base-connection-state.js +14 -0
- package/lib/reporter/speedracer/constants.js +14 -0
- package/lib/reporter/speedracer/failure-connection-state.js +14 -0
- package/lib/reporter/speedracer/index.js +14 -0
- package/lib/reporter/speedracer/success-connection-state.js +14 -0
- package/lib/reporter/speedracer/unknown-connection-state.js +14 -0
- package/lib/reporter/translations/enums.js +14 -0
- package/lib/reporter/translations/helpers.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/activity.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/address.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/agent-startup.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/application-create.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/application-update.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/architecture-component.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/attack-result.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/bot-blocker-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/cmd-injection-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/cmd-injection-semantic-analysis-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/finding.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/http-method-tampering-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/http-request.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/index.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/ip-denylist-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/library-usage-update.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/no-sql-injection-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/observed-route.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/pair.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/path-traversal-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/poll.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/rasp-rule-sample.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/raw-request.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/route-coverage.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/simple-pair.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/sql-injection-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/ssjs-injection-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/stack-trace-element.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/action.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/index.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/parent-object-id.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/trace-event-object.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/trace-event-signature.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/trace-event-source.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/trace-stack.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/trace-taint-range.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/trace-event/type.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/untrusted-deserialization-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/user-input.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/virtual-patch-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/xss-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/dtm/xxe-details.js +14 -0
- package/lib/reporter/translations/to-protobuf/index.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/application-settings.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/assess-features.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/auth.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/bot-blocker.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/custom-rule-feature.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/defend-features.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/exclusions.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/index.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/input-analysis-result.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/inventory-features.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/ip-filter.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/log-enhancer.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/protection-rule.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/reaction.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/rule-definition.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/sampling.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/server-features.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/syslog.js +14 -0
- package/lib/reporter/translations/to-protobuf/settings/virtual-patch.js +14 -0
- package/lib/reporter/ts-reporter.js +14 -0
- package/lib/telemetry.js +14 -0
- package/lib/tracker.js +14 -0
- package/lib/util/base64.js +14 -0
- package/lib/util/bitset.js +14 -0
- package/lib/util/block-request.js +14 -0
- package/lib/util/callback-resolver.js +14 -0
- package/lib/util/clean-stack.js +14 -0
- package/lib/util/clean-string/brackets.js +14 -0
- package/lib/util/clean-string/clean-string-base.js +14 -0
- package/lib/util/clean-string/comments.js +14 -0
- package/lib/util/clean-string/concatenations.js +14 -0
- package/lib/util/clean-string/jsclean-string.js +14 -0
- package/lib/util/clean-string/placeholders.js +14 -0
- package/lib/util/clean-string/util.js +14 -0
- package/lib/util/colors.js +14 -0
- package/lib/util/config-diagnostics-utils.js +14 -0
- package/lib/util/file-finder.js +14 -0
- package/lib/util/get-file-type.js +14 -0
- package/lib/util/heap-dump.js +14 -0
- package/lib/util/html-util.js +14 -0
- package/lib/util/ip-analyzer.js +14 -0
- package/lib/util/is-agent-path.js +14 -0
- package/lib/util/is-contrast-error.js +14 -0
- package/lib/util/is-piped-to-dev.js +14 -0
- package/lib/util/is-string.js +14 -0
- package/lib/util/partial.js +14 -0
- package/lib/util/pkg-name.js +14 -0
- package/lib/util/request-util.js +14 -0
- package/lib/util/resolve-obj.js +14 -0
- package/lib/util/route-info.js +14 -0
- package/lib/util/some.js +14 -0
- package/lib/util/source-map.js +14 -0
- package/lib/util/static-rules.js +14 -0
- package/lib/util/trace-util.js +14 -0
- package/lib/util/traverse.js +14 -0
- package/lib/util/user-input-evaluator.js +14 -0
- package/lib/util/xml-analyzer/external-entity-finder.js +14 -0
- package/package.json +1 -1
- package/perf-logs.js +14 -0
- package/system-diagnostics.js +14 -0
package/LICENSE
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
Copyright:
|
|
2
|
-
Contact: support@contrastsecurity.com
|
|
3
|
-
License: Commercial
|
|
1
|
+
Copyright: 2023 Contrast Security, Inc
|
|
2
|
+
Contact: support@contrastsecurity.com
|
|
3
|
+
License: Commercial
|
|
4
4
|
|
|
5
|
-
NOTICE: This Software and the patented inventions embodied within may only be
|
|
6
|
-
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
7
|
-
made available through public repositories, use of this Software is subject to
|
|
8
|
-
the applicable End User Licensing Agreement found at
|
|
9
|
-
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
10
|
-
between Contrast Security and the End User. The Software may not be reverse
|
|
11
|
-
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
12
|
-
way not consistent with the End User License Agreement.
|
|
5
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
6
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
7
|
+
made available through public repositories, use of this Software is subject to
|
|
8
|
+
the applicable End User Licensing Agreement found at
|
|
9
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
10
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
11
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
12
|
+
way not consistent with the End User License Agreement.
|
package/README.md
CHANGED
|
@@ -1,82 +1,111 @@
|
|
|
1
|
-
# Node.js
|
|
2
|
-

|
|
1
|
+
# Contrast Security Node.js Agent
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
This package will enable instrumentation of your Node.js application for
|
|
4
|
+
security anaylsis and runtime protection by [Contrast Security](https://www.contrastsecurity.com).
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
Unlike legacy application security testing solutions, Contrast produces accurate
|
|
7
|
+
results without dependence on application security experts. Accuracy comes from
|
|
8
|
+
Contrast's patented Deep Security Instrumentation technology, which integrates
|
|
9
|
+
the most effective elements of Interactive (IAST), Static (SAST), and Dynamic
|
|
10
|
+
(DAST) application security testing technology, software composition analysis
|
|
11
|
+
(SCA), and configuration analysis, and delivers them directly to applications.
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
Contrast produces a continuous stream of accurate vulnerability and compliance
|
|
14
|
+
risk information whenever and wherever software is run. Development, QA and
|
|
15
|
+
Security teams get results as they develop and test software, enabling them to
|
|
16
|
+
find and fix security flaws early in the software lifecycle, when they are
|
|
17
|
+
easiest and cheapest to remediate.
|
|
13
18
|
|
|
14
|
-
|
|
19
|
+
## Getting Started
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
Existing Contrast Node.js agent users should install and update the Contrast
|
|
22
|
+
Node.js agent from [npm](https://www.npmjs.com/). Auto-update for the Node.js
|
|
23
|
+
agent is no longer supported. The Contrast Node.js agent follows semantic
|
|
24
|
+
versioning (major.minor.patch).
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
git submodule update --init
|
|
22
|
-
```
|
|
26
|
+
An API key, provided by Contrast Security, is required for the agent to function.
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
Ensure you have installed the latest LTS (Long Term Support) version of [Node.js](http://nodejs.org/)
|
|
25
29
|
|
|
26
|
-
|
|
27
|
-
submodule. To do so
|
|
30
|
+
To install from npm using the command line (run from the app root directory):
|
|
28
31
|
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
git checkout main
|
|
32
|
-
git pull
|
|
33
|
-
cd ../../../
|
|
34
|
-
git add test/resources/contrast-protect-rules
|
|
35
|
-
git commit -m 'bumping contrast-protect-rules commit hash'
|
|
36
|
-
git push origin <ticket>
|
|
32
|
+
```sh
|
|
33
|
+
$ npm install @contrast/agent
|
|
37
34
|
```
|
|
38
35
|
|
|
39
|
-
##
|
|
40
|
-
Run the unit/integration suite in parallel
|
|
41
|
-
```
|
|
42
|
-
npm test
|
|
43
|
-
```
|
|
36
|
+
## Usage
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
38
|
+
### Using [CommonJS (CJS)](https://nodejs.org/docs/latest-v12.x/api/modules.html) Modules
|
|
39
|
+
|
|
40
|
+
CommonJS is the original Node.js module system. CJS modules are loaded with the
|
|
41
|
+
`const module = require('module')` syntax.
|
|
42
|
+
|
|
43
|
+
When instrumenting an application written with CJS modules, use the following
|
|
44
|
+
method to start the application.
|
|
49
45
|
|
|
50
|
-
Run serially so you can take advantage of `.only`
|
|
51
46
|
```
|
|
52
|
-
|
|
47
|
+
Usage: node -r @contrast/agent app-main.js [agent arguments] -- [app arguments]
|
|
48
|
+
|
|
49
|
+
Options:
|
|
50
|
+
|
|
51
|
+
-h, --help output usage information
|
|
52
|
+
-V, --version output the version number
|
|
53
|
+
-c, --configFile <path> path to agent config file
|
|
53
54
|
```
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
### Using [ECMAScript Modules (ESM)](https://nodejs.org/docs/latest-v12.x/api/esm.html#esm_ecmascript_modules)
|
|
57
|
+
|
|
58
|
+
> NOTE: ECMAScript instrumentation is experimental and Contrast requires at least Node version 14.15.0 for support.
|
|
59
|
+
|
|
60
|
+
ECMAScript modules are the _new_ official standard format to package JavaScript
|
|
61
|
+
code for reuse. ES Modules are loaded with the `import module from 'module'`
|
|
62
|
+
syntax.
|
|
63
|
+
|
|
64
|
+
When instrumenting an application that utilizes ECMAScript Modules, use the
|
|
65
|
+
following method to start the application. This is the appropriate method for
|
|
66
|
+
instrumenting an application that uses CJS, ESM, or a combination of both.
|
|
67
|
+
|
|
56
68
|
```
|
|
57
|
-
|
|
69
|
+
Usage: node --experimental-loader @contrast/agent/esm.mjs app-main.mjs [agent arguments] -- [app arguments]
|
|
70
|
+
|
|
71
|
+
Options:
|
|
72
|
+
|
|
73
|
+
-h, --help output usage information
|
|
74
|
+
-V, --version output the version number
|
|
75
|
+
-c, --configFile <path> path to agent config file
|
|
58
76
|
```
|
|
59
77
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
78
|
+
### Configuration
|
|
79
|
+
|
|
80
|
+
The agent expects that the `contrast_security.yaml` configuration file exists in
|
|
81
|
+
the application's root directory (where the `package.json` file usually resides).
|
|
82
|
+
|
|
83
|
+
If you need to specify a different location for the configuration file you can
|
|
84
|
+
use either the `-c` or `--configFile` command-line arguments or provide the
|
|
85
|
+
`CONTRAST_CONFIG_PATH` environment variable:
|
|
63
86
|
|
|
64
|
-
## Docker
|
|
65
|
-
To build the image run `./docker-image-builder.sh` from the project root.
|
|
66
|
-
You can optionally include a node version like so:
|
|
67
87
|
```
|
|
68
|
-
|
|
88
|
+
node -r @contrast/agent app-main.js -c /path/to/config.yml
|
|
89
|
+
node -r @contrast/agent app-main.js --configFile /path/to/config.yml
|
|
90
|
+
CONTRAST_CONFIG_PATH=/path/to/config.yml node -r @contrast/agent app-main.js
|
|
69
91
|
```
|
|
70
|
-
By default, the build script uses node 12
|
|
71
92
|
|
|
72
|
-
The
|
|
93
|
+
The minimum required `contrast_security.yaml` setup should look something like
|
|
94
|
+
this:
|
|
95
|
+
|
|
73
96
|
```
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
contrast/node-agent:latest
|
|
80
|
-
contrast/node-agent:develop
|
|
81
|
-
contrast/node-agent:735e5187b093d6bb4ba575f413149c913ec8ff84
|
|
97
|
+
api:
|
|
98
|
+
url: https://app.contrastsecurity.com
|
|
99
|
+
user_name: contrast_user
|
|
100
|
+
api_key: demo
|
|
101
|
+
service_key: demo
|
|
82
102
|
```
|
|
103
|
+
|
|
104
|
+
| Property | Description |
|
|
105
|
+
| :-------------- | :-------------------------------------------------------------------------- |
|
|
106
|
+
| api.api_key | Organization's API key |
|
|
107
|
+
| api.user_name | Contrast user account ID (In most cases, this is your login ID) |
|
|
108
|
+
| api.service_key | Contrast user account service key |
|
|
109
|
+
| api.url | Address of the Contrast installation you would like your agent to report to |
|
|
110
|
+
|
|
111
|
+
For detailed installation and configuration instructions, see the [Node.js Agent documentation](https://docs.contrastsecurity.com/en/install-node-js.html).
|
package/agent-loader.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
Copyright: 2023 Contrast Security, Inc
|
|
4
|
+
Contact: support@contrastsecurity.com
|
|
5
|
+
License: Commercial
|
|
6
|
+
|
|
7
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
8
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
9
|
+
made available through public repositories, use of this Software is subject to
|
|
10
|
+
the applicable End User Licensing Agreement found at
|
|
11
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
12
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
13
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
14
|
+
way not consistent with the End User License Agreement.
|
|
15
|
+
*/
|
|
2
16
|
const process = require('process');
|
|
3
17
|
|
|
4
18
|
function load() {
|
package/bin/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.28.23
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bootstrap.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const startTime = process.hrtime();
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
15
|
+
'use strict';
|
|
16
|
+
|
|
17
|
+
module.exports = {
|
|
18
|
+
jira: {
|
|
19
|
+
baseUrl: `https://${process.env.JIRA_HOST}`,
|
|
20
|
+
ticketIDPattern: /(NODE-?\s?[0-9]{4})/i,
|
|
21
|
+
excludeIssueTypes: ['Sub-task', 'Release'],
|
|
22
|
+
api: {
|
|
23
|
+
host: process.env.JIRA_HOST,
|
|
24
|
+
email: process.env.JIRA_EMAIL,
|
|
25
|
+
token: process.env.JIRA_TOKEN
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
hideEmptyBlocks: true,
|
|
29
|
+
template: `## <%= process.env.VERSION -%>
|
|
30
|
+
|
|
31
|
+
<% blockTickets = tickets.all.filter((t) => !t.reverted); -%>
|
|
32
|
+
<% if (blockTickets.length > 0 || !options.hideEmptyBlocks) { -%>
|
|
33
|
+
### Jira Tickets
|
|
34
|
+
---------------------
|
|
35
|
+
<% blockTickets.forEach(ticket => { -%>
|
|
36
|
+
* [<%= ticket.fields.issuetype.name %>] - <%- ticket.fields.summary %>
|
|
37
|
+
[<%= ticket.key %>](<%= jira.baseUrl + '/browse/' + ticket.key %>)
|
|
38
|
+
<% }); -%>
|
|
39
|
+
<% if (!blockTickets.length) {%> ~ None ~ <% } %>
|
|
40
|
+
<% } -%>
|
|
41
|
+
<% blockNoTickets = commits.noTickets; -%>
|
|
42
|
+
<% if (blockNoTickets.length > 0 || !options.hideEmptyBlocks) { -%>
|
|
43
|
+
|
|
44
|
+
### Other Commits
|
|
45
|
+
---------------------
|
|
46
|
+
<% blockNoTickets.forEach(commit => { -%>
|
|
47
|
+
* <%= commit.slackUser ? '@'+commit.slackUser.name : commit.authorName %> - <<%= commit.revision.substr(0, 7) %>> - <%= commit.summary %>
|
|
48
|
+
<% }); -%>
|
|
49
|
+
<% if (!blockNoTickets.length) {%> ~ None ~ <% } %>
|
|
50
|
+
<% } -%>
|
|
51
|
+
<% blockPendingByOwner = tickets.pendingByOwner; -%>
|
|
52
|
+
<% if (blockPendingByOwner.length > 0 || !options.hideEmptyBlocks) { -%>
|
|
53
|
+
<% } -%>
|
|
54
|
+
--------------------
|
|
55
|
+
`
|
|
56
|
+
};
|
package/cli-rewriter.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
Copyright: 2023 Contrast Security, Inc
|
|
4
|
+
Contact: support@contrastsecurity.com
|
|
5
|
+
License: Commercial
|
|
6
|
+
|
|
7
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
8
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
9
|
+
made available through public repositories, use of this Software is subject to
|
|
10
|
+
the applicable End User Licensing Agreement found at
|
|
11
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
12
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
13
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
14
|
+
way not consistent with the End User License Agreement.
|
|
15
|
+
*/
|
|
2
16
|
'use strict';
|
|
3
17
|
|
|
4
18
|
const {
|
package/cli.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
Copyright: 2023 Contrast Security, Inc
|
|
4
|
+
Contact: support@contrastsecurity.com
|
|
5
|
+
License: Commercial
|
|
6
|
+
|
|
7
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
8
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
9
|
+
made available through public repositories, use of this Software is subject to
|
|
10
|
+
the applicable End User Licensing Agreement found at
|
|
11
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
12
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
13
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
14
|
+
way not consistent with the End User License Agreement.
|
|
15
|
+
*/
|
|
2
16
|
|
|
3
17
|
const startTime = process.hrtime();
|
|
4
18
|
|
package/config-diagnostics.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
Copyright: 2023 Contrast Security, Inc
|
|
4
|
+
Contact: support@contrastsecurity.com
|
|
5
|
+
License: Commercial
|
|
6
|
+
|
|
7
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
8
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
9
|
+
made available through public repositories, use of this Software is subject to
|
|
10
|
+
the applicable End User Licensing Agreement found at
|
|
11
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
12
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
13
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
14
|
+
way not consistent with the End User License Agreement.
|
|
15
|
+
*/
|
|
2
16
|
'use strict';
|
|
3
17
|
|
|
4
18
|
const { exec } = require('child_process');
|
package/esm.mjs
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
import { fileURLToPath } from 'url';
|
|
2
16
|
import { createRequire } from 'module';
|
|
3
17
|
import { promises as fs } from 'fs';
|
package/lib/agent-emitter.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const EventEmitter = require('events');
|
package/lib/agent.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const contrastCluster = require('cluster');
|
package/lib/app-info.js
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
const os = require('os');
|
|
3
17
|
const fs = require('fs');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const path = require('path');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const path = require('path');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const AssessSinks = require('./sinks');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const agentEmitter = require('../../agent-emitter');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const ReflectedXss = require('./xss');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const agentEmitter = require('../../../agent-emitter');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const agentEmitter = require('../../agent-emitter');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const AssessSources = require('./sources');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
|
|
3
17
|
const patcher = require('../../hooks/patcher');
|
|
@@ -1,5 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
2
5
|
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
3
15
|
const XssSink = require('./xss');
|
|
4
16
|
const RedirectSink = require('./unvalidated-redirect');
|
|
5
17
|
const ResponseScanning = require('./response-scanning');
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Copyright: 2023 Contrast Security, Inc
|
|
3
|
+
Contact: support@contrastsecurity.com
|
|
4
|
+
License: Commercial
|
|
5
|
+
|
|
6
|
+
NOTICE: This Software and the patented inventions embodied within may only be
|
|
7
|
+
used as part of Contrast Security’s commercial offerings. Even though it is
|
|
8
|
+
made available through public repositories, use of this Software is subject to
|
|
9
|
+
the applicable End User Licensing Agreement found at
|
|
10
|
+
https://www.contrastsecurity.com/enduser-terms-0317a or as otherwise agreed
|
|
11
|
+
between Contrast Security and the End User. The Software may not be reverse
|
|
12
|
+
engineered, modified, repackaged, sold, redistributed or otherwise used in a
|
|
13
|
+
way not consistent with the End User License Agreement.
|
|
14
|
+
*/
|
|
1
15
|
'use strict';
|
|
2
16
|
const agentEmitter = require('../../../agent-emitter');
|
|
3
17
|
const {
|