{
  "version": "1.171.0",
  "results": [
    {
      "check_id": "dockerfile.security.missing-user.missing-user",
      "path": "Dockerfile",
      "start": {
        "line": 6,
        "col": 1,
        "offset": 85
      },
      "end": {
        "line": 6,
        "col": 52,
        "offset": 136
      },
      "extra": {
        "message": "By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'.",
        "fix": "USER non-root\nCMD [\"python3\", \"./server.py\", \"--bind\", \"0.0.0.0\"]",
        "metadata": {
          "cwe": [
            "CWE-250: Execution with Unnecessary Privileges"
          ],
          "category": "security",
          "technology": [
            "dockerfile"
          ],
          "confidence": "MEDIUM",
          "owasp": [
            "A04:2021 - Insecure Design",
            "A06:2025 - Insecure Design"
          ],
          "references": [
            "https://owasp.org/Top10/A04_2021-Insecure_Design"
          ],
          "subcategory": [
            "audit"
          ],
          "likelihood": "LOW",
          "impact": "MEDIUM",
          "license": "Semgrep Rules License v1.0. For more details, visit semgrep.dev/legal/rules-license",
          "vulnerability_class": [
            "Improper Authorization"
          ],
          "source": "https://semgrep.dev/r/dockerfile.security.missing-user.missing-user",
          "shortlink": "https://sg.run/Gbvn"
        },
        "severity": "ERROR",
        "fingerprint": "requires login",
        "lines": "requires login",
        "validation_state": "NO_VALIDATOR",
        "engine_kind": "OSS"
      }
    }
  ],
  "errors": [],
  "paths": {
    "scanned": [
      ".gitignore",
      ".travis.yml",
      "Dockerfile",
      "LICENSE.md",
      "fake-files/csconfig",
      "fake-files/device.html",
      "fake-files/hostmanifest",
      "printer.py",
      "readme.md",
      "requirements.txt",
      "server.py",
      "test_printer.py",
      "uploads/.gitignore"
    ]
  },
  "time": {
    "rules": [],
    "rules_parse_time": 0.35315608978271484,
    "profiling_times": {
      "config_time": 1.4640841484069824,
      "core_time": 1.5017492771148682,
      "ignores_time": 0.0010838508605957031,
      "total_time": 2.9719648361206055
    },
    "parsing_time": {
      "total_time": 0.0,
      "per_file_time": {
        "mean": 0.0,
        "std_dev": 0.0
      },
      "very_slow_stats": {
        "time_ratio": 0.0,
        "count_ratio": 0.0
      },
      "very_slow_files": []
    },
    "scanning_time": {
      "total_time": 1.5358593463897705,
      "per_file_time": {
        "mean": 0.04799560457468033,
        "std_dev": 0.022389269090222926
      },
      "very_slow_stats": {
        "time_ratio": 0.0,
        "count_ratio": 0.0
      },
      "very_slow_files": []
    },
    "matching_time": {
      "total_time": 0.0,
      "per_file_and_rule_time": {
        "mean": 0.0,
        "std_dev": 0.0
      },
      "very_slow_stats": {
        "time_ratio": 0.0,
        "count_ratio": 0.0
      },
      "very_slow_rules_on_files": []
    },
    "tainting_time": {
      "total_time": 0.0,
      "per_def_and_rule_time": {
        "mean": 0.0,
        "std_dev": 0.0
      },
      "very_slow_stats": {
        "time_ratio": 0.0,
        "count_ratio": 0.0
      },
      "very_slow_rules_on_defs": []
    },
    "fixpoint_timeouts": [
      {
        "error_type": "Fixpoint timeout",
        "severity": "warn",
        "message": "Fixpoint timeout while performing taint analysis at server.py:106:8 [rules: 1, first: python.boto3.security.hardcoded-token.hardcoded-token]",
        "location": {
          "path": "server.py",
          "start": {
            "line": 106,
            "col": 9,
            "offset": 3854
          },
          "end": {
            "line": 106,
            "col": 15,
            "offset": 3860
          }
        }
      }
    ],
    "prefiltering": {
      "project_level_time": 0.0,
      "file_level_time": 0.0,
      "rules_with_project_prefilters_ratio": 0.0,
      "rules_with_file_prefilters_ratio": 0.9698924731182795,
      "rules_selected_ratio": 0.06164874551971326,
      "rules_matched_ratio": 0.06164874551971326
    },
    "targets": [],
    "total_bytes": 0,
    "max_memory_bytes": 912631552
  },
  "engine_requested": "OSS",
  "skipped_rules": [],
  "profiling_results": []
}