{
    "files": [
        {
            "/repl.js": "/github/workspace/dist/repl.js"
        },
        {
            "/.eslintrc.js": "/github/workspace/dist/.eslintrc.js"
        },
        {
            "/index.js": "/github/workspace/dist/index.js"
        },
        {
            "/unit.jest.config.js": "/github/workspace/dist/unit.jest.config.js"
        },
        {
            "/int.jest.config.js": "/github/workspace/dist/int.jest.config.js"
        },
        {
            "/test/SQSConsumer.test.js": "/github/workspace/dist/test/SQSConsumer.test.js"
        },
        {
            "/test/message-processor/MessageProcessor.test.js": "/github/workspace/dist/test/message-processor/MessageProcessor.test.js"
        },
        {
            "/test/logger/Logger.test.js": "/github/workspace/dist/test/logger/Logger.test.js"
        },
        {
            "/integration-test/step-definitions/messages_go_to_dlq_in_case_of_error.steps.js": "/github/workspace/dist/integration-test/step-definitions/messages_go_to_dlq_in_case_of_error.steps.js"
        },
        {
            "/integration-test/step-definitions/processes_all_messages_if_there_is_no_error.steps.js": "/github/workspace/dist/integration-test/step-definitions/processes_all_messages_if_there_is_no_error.steps.js"
        },
        {
            "/src/SQSConsumer.js": "/github/workspace/dist/src/SQSConsumer.js"
        },
        {
            "/src/message-processor/MessageProcessor.js": "/github/workspace/dist/src/message-processor/MessageProcessor.js"
        },
        {
            "/src/logger/Logger.js": "/github/workspace/dist/src/logger/Logger.js"
        }
    ],
    "good_finding": {
        "Application Related": [
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "repl.js",
                "line": 2,
                "lines": "#!/usr/bin/env ts-node-script\n\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nconst index_1 = require(\"./index\");\nasync function testSQSConsumer() {\n        const tsSQSConsumer = new index_1.SQSConsumer({",
                "path": "/github/workspace/dist/repl.js",
                "sha2": "184e416c3c72c95b0205b2c913b51c58e07bf6813fbd4614e3e704f138b8a68f",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": ".eslintrc.js",
                "line": 1,
                "lines": "\"use strict\";\nmodule.exports = {\n        extends: [\n                'airbnb-typescript/base',\n                'plugin:jest/recommended',",
                "path": "/github/workspace/dist/.eslintrc.js",
                "sha2": "22c6ee7397a9d7b23d477617f09a6c3311b64e1d8c29898cab04564fba3af4b2",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "index.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function(mod) {\n    return (mod && mod.__esModule) ? mod : {\n        \"default\": mod\n    };\n};\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});",
                "path": "/github/workspace/dist/index.js",
                "sha2": "c91606406da4708f341f70ad103de88cdc25f68cd57d31d25c71f1487264ae36",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "unit.jest.config.js",
                "line": 1,
                "lines": "\"use strict\";\nmodule.exports = {\n        preset: 'ts-jest/presets/js-with-ts',\n        testEnvironment: 'node',\n        testPathIgnorePatterns: [",
                "path": "/github/workspace/dist/unit.jest.config.js",
                "sha2": "7ec44df49b38a7b50344b26f10b45ab8fe11d396b70c6b2caa003a8392ceba9b",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "int.jest.config.js",
                "line": 1,
                "lines": "\"use strict\";\nmodule.exports = {\n        preset: 'ts-jest/presets/js-with-ts',\n        testEnvironment: 'node',\n        testPathIgnorePatterns: [",
                "path": "/github/workspace/dist/int.jest.config.js",
                "sha2": "7ec44df49b38a7b50344b26f10b45ab8fe11d396b70c6b2caa003a8392ceba9b",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "SQSConsumer.test.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n            if (k2 === undefined) k2 = k;\n            Object.defineProperty(o, k2, {\n                enumerable: true,\n                get: function() {\n                    return m[k];\n                }\n            });\n        }) : (function(o, m, k, k2) {",
                "path": "/github/workspace/dist/test/SQSConsumer.test.js",
                "sha2": "da6f1804aa3c05ff9ac905a1cce428d0204bd3577e6fa7374058731afa04e0d5",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "MessageProcessor.test.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n            if (k2 === undefined) k2 = k;\n            Object.defineProperty(o, k2, {\n                enumerable: true,\n                get: function() {\n                    return m[k];\n                }\n            });\n        }) : (function(o, m, k, k2) {",
                "path": "/github/workspace/dist/test/message-processor/MessageProcessor.test.js",
                "sha2": "da6f1804aa3c05ff9ac905a1cce428d0204bd3577e6fa7374058731afa04e0d5",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "Logger.test.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n            if (k2 === undefined) k2 = k;\n            Object.defineProperty(o, k2, {\n                enumerable: true,\n                get: function() {\n                    return m[k];\n                }\n            });\n        }) : (function(o, m, k, k2) {",
                "path": "/github/workspace/dist/test/logger/Logger.test.js",
                "sha2": "da6f1804aa3c05ff9ac905a1cce428d0204bd3577e6fa7374058731afa04e0d5",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "messages_go_to_dlq_in_case_of_error.steps.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function(mod) {\n    return (mod && mod.__esModule) ? mod : {\n        \"default\": mod\n    };\n};\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});",
                "path": "/github/workspace/dist/integration-test/step-definitions/messages_go_to_dlq_in_case_of_error.steps.js",
                "sha2": "c91606406da4708f341f70ad103de88cdc25f68cd57d31d25c71f1487264ae36",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "processes_all_messages_if_there_is_no_error.steps.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function(mod) {\n    return (mod && mod.__esModule) ? mod : {\n        \"default\": mod\n    };\n};\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});",
                "path": "/github/workspace/dist/integration-test/step-definitions/processes_all_messages_if_there_is_no_error.steps.js",
                "sha2": "c91606406da4708f341f70ad103de88cdc25f68cd57d31d25c71f1487264ae36",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "SQSConsumer.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function(mod) {\n    return (mod && mod.__esModule) ? mod : {\n        \"default\": mod\n    };\n};\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});",
                "path": "/github/workspace/dist/src/SQSConsumer.js",
                "sha2": "c91606406da4708f341f70ad103de88cdc25f68cd57d31d25c71f1487264ae36",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "MessageProcessor.js",
                "line": 1,
                "lines": "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\nconst aws_sdk_1 = require(\"aws-sdk\");\nconst uuid_1 = require(\"uuid\");\nclass MessageProcessor {",
                "path": "/github/workspace/dist/src/message-processor/MessageProcessor.js",
                "sha2": "390f30431beb0b5671e9e6eb9a4d6b23a11cef7159e55a73fef16db9119f509f",
                "tag": "node",
                "title": "Use Strict"
            },
            {
                "description": "Strict Mode allows you to place a program, or a function, in a \"strict\" operating context. This strict context prevents certain actions from being taken and throws more exceptions.",
                "filename": "Logger.js",
                "line": 1,
                "lines": "\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function(mod) {\n    return (mod && mod.__esModule) ? mod : {\n        \"default\": mod\n    };\n};\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});",
                "path": "/github/workspace/dist/src/logger/Logger.js",
                "sha2": "c91606406da4708f341f70ad103de88cdc25f68cd57d31d25c71f1487264ae36",
                "tag": "node",
                "title": "Use Strict"
            }
        ]
    },
    "missing_sec_header": {
        "Web Security": [
            {
                "description": "Content Security Policy (CSP), a mechanism web applications can use to mitigate a broad class of content injection vulnerabilities, such as cross-site scripting (XSS). CSP Header was not found.",
                "tag": "web",
                "title": "Missing Security Header - Content-Security-Policy (CSP)"
            },
            {
                "description": "X-Frame-Options (XFO) header provides protection against Clickjacking attacks.",
                "tag": "web",
                "title": "Missing Security Header - X-Frame-Options (XFO)"
            },
            {
                "description": "Strict-Transport-Security (HSTS) header enforces secure (HTTP over SSL/TLS) connections to the server.",
                "tag": "web",
                "title": "Missing Security Header - Strict-Transport-Security (HSTS)"
            },
            {
                "description": "Public-Key-Pins (HPKP) ensures that certificate is Pinned.",
                "tag": "web",
                "title": "Missing Security Header - Public-Key-Pins (HPKP)"
            },
            {
                "description": "X-XSS-Protection header set to 1 enables the Cross-site scripting (XSS) filter built into most recent web browsers.",
                "tag": "web",
                "title": "Missing Security Header - X-XSS-Protection:1"
            },
            {
                "description": "X-Content-Type-Options header prevents Internet Explorer and Google Chrome from MIME-sniffing a response away from the declared content-type.",
                "tag": "web",
                "title": "Missing Security Header - X-Content-Type-Options"
            },
            {
                "description": "X-Download-Options header set to noopen prevents IE users from directly opening and executing downloads in your site's context.",
                "tag": "web",
                "title": "Missing Security Header - X-Download-Options: noopen"
            },
            {
                "description": "JavaScript can access Cookies if they are not marked httpOnly.",
                "tag": "web",
                "title": "Missing 'httpOnly' in Cookie"
            },
            {
                "description": "Remove the X-Powered-By header to prevent information gathering.",
                "tag": "web",
                "title": "Information Disclosure - X-Powered-By"
            }
        ]
    },
    "sec_issues": {},
    "total_count": {
        "good": 13,
        "mis": 9,
        "sec": 0
    },
    "vuln_count": {}
}