The following issues were found

selfdrive/car/toyota/radar_interface.py
3 issues
No name 'can' in module 'opendbc'
Error

Line: 2 Column: 1

              #!/usr/bin/env python3
from opendbc.can.parser import CANParser
from cereal import car
from selfdrive.car.toyota.values import NO_DSU_CAR, DBC, TSS2_CAR
from selfdrive.car.interfaces import RadarInterfaceBase

def _create_radar_can_parser(car_fingerprint):
  if car_fingerprint in TSS2_CAR:
    RADAR_A_MSGS = list(range(0x180, 0x190))

            

Reported by Pylint.

Unable to import 'opendbc.can.parser'
Error

Line: 2 Column: 1

              #!/usr/bin/env python3
from opendbc.can.parser import CANParser
from cereal import car
from selfdrive.car.toyota.values import NO_DSU_CAR, DBC, TSS2_CAR
from selfdrive.car.interfaces import RadarInterfaceBase

def _create_radar_can_parser(car_fingerprint):
  if car_fingerprint in TSS2_CAR:
    RADAR_A_MSGS = list(range(0x180, 0x190))

            

Reported by Pylint.

No name 'car' in module 'cereal'
Error

Line: 3 Column: 1

              #!/usr/bin/env python3
from opendbc.can.parser import CANParser
from cereal import car
from selfdrive.car.toyota.values import NO_DSU_CAR, DBC, TSS2_CAR
from selfdrive.car.interfaces import RadarInterfaceBase

def _create_radar_can_parser(car_fingerprint):
  if car_fingerprint in TSS2_CAR:
    RADAR_A_MSGS = list(range(0x180, 0x190))

            

Reported by Pylint.

selfdrive/car/volkswagen/carcontroller.py
3 issues
No name 'car' in module 'cereal'
Error

Line: 1 Column: 1

              from cereal import car
from selfdrive.car import apply_std_steer_torque_limits
from selfdrive.car.volkswagen import volkswagencan
from selfdrive.car.volkswagen.values import DBC_FILES, CANBUS, MQB_LDW_MESSAGES, BUTTON_STATES, CarControllerParams as P
from opendbc.can.packer import CANPacker

VisualAlert = car.CarControl.HUDControl.VisualAlert

class CarController():

            

Reported by Pylint.

No name 'can' in module 'opendbc'
Error

Line: 5 Column: 1

              from selfdrive.car import apply_std_steer_torque_limits
from selfdrive.car.volkswagen import volkswagencan
from selfdrive.car.volkswagen.values import DBC_FILES, CANBUS, MQB_LDW_MESSAGES, BUTTON_STATES, CarControllerParams as P
from opendbc.can.packer import CANPacker

VisualAlert = car.CarControl.HUDControl.VisualAlert

class CarController():
  def __init__(self, dbc_name, CP, VM):

            

Reported by Pylint.

Unable to import 'opendbc.can.packer'
Error

Line: 5 Column: 1

              from selfdrive.car import apply_std_steer_torque_limits
from selfdrive.car.volkswagen import volkswagencan
from selfdrive.car.volkswagen.values import DBC_FILES, CANBUS, MQB_LDW_MESSAGES, BUTTON_STATES, CarControllerParams as P
from opendbc.can.packer import CANPacker

VisualAlert = car.CarControl.HUDControl.VisualAlert

class CarController():
  def __init__(self, dbc_name, CP, VM):

            

Reported by Pylint.

selfdrive/car/gm/carcontroller.py
3 issues
No name 'car' in module 'cereal'
Error

Line: 1 Column: 1

              from cereal import car
from common.realtime import DT_CTRL
from common.numpy_fast import interp
from selfdrive.config import Conversions as CV
from selfdrive.car import apply_std_steer_torque_limits
from selfdrive.car.gm import gmcan
from selfdrive.car.gm.values import DBC, CanBus, CarControllerParams
from opendbc.can.packer import CANPacker


            

Reported by Pylint.

Unable to import 'opendbc.can.packer'
Error

Line: 8 Column: 1

              from selfdrive.car import apply_std_steer_torque_limits
from selfdrive.car.gm import gmcan
from selfdrive.car.gm.values import DBC, CanBus, CarControllerParams
from opendbc.can.packer import CANPacker

VisualAlert = car.CarControl.HUDControl.VisualAlert


class CarController():

            

Reported by Pylint.

No name 'can' in module 'opendbc'
Error

Line: 8 Column: 1

              from selfdrive.car import apply_std_steer_torque_limits
from selfdrive.car.gm import gmcan
from selfdrive.car.gm.values import DBC, CanBus, CarControllerParams
from opendbc.can.packer import CANPacker

VisualAlert = car.CarControl.HUDControl.VisualAlert


class CarController():

            

Reported by Pylint.

installer/updater/updater.cc
3 issues
Subtracting pointers that point to different objects
Error

Line: 234 CWE codes: 570

                  vg = nvgCreateGLES3(NVG_ANTIALIAS | NVG_STENCIL_STROKES | NVG_DEBUG);
    assert(vg);

    font_regular = nvgCreateFontMem(vg, "opensans_regular", (unsigned char*)bin_opensans_regular, (bin_opensans_regular_end - bin_opensans_regular), 0);
    assert(font_regular >= 0);

    font_semibold = nvgCreateFontMem(vg, "opensans_semibold", (unsigned char*)bin_opensans_semibold, (bin_opensans_semibold_end - bin_opensans_semibold), 0);
    assert(font_semibold >= 0);


            

Reported by Cppcheck.

Subtracting pointers that point to different objects
Error

Line: 237 CWE codes: 570

                  font_regular = nvgCreateFontMem(vg, "opensans_regular", (unsigned char*)bin_opensans_regular, (bin_opensans_regular_end - bin_opensans_regular), 0);
    assert(font_regular >= 0);

    font_semibold = nvgCreateFontMem(vg, "opensans_semibold", (unsigned char*)bin_opensans_semibold, (bin_opensans_semibold_end - bin_opensans_semibold), 0);
    assert(font_semibold >= 0);

    font_bold = nvgCreateFontMem(vg, "opensans_bold", (unsigned char*)bin_opensans_bold, (bin_opensans_bold_end - bin_opensans_bold), 0);
    assert(font_bold >= 0);


            

Reported by Cppcheck.

Subtracting pointers that point to different objects
Error

Line: 240 CWE codes: 570

                  font_semibold = nvgCreateFontMem(vg, "opensans_semibold", (unsigned char*)bin_opensans_semibold, (bin_opensans_semibold_end - bin_opensans_semibold), 0);
    assert(font_semibold >= 0);

    font_bold = nvgCreateFontMem(vg, "opensans_bold", (unsigned char*)bin_opensans_bold, (bin_opensans_bold_end - bin_opensans_bold), 0);
    assert(font_bold >= 0);

    b_w = 640;
    balt_x = 200;
    b_x = fb_w-b_w-200;

            

Reported by Cppcheck.

selfdrive/logmessaged.py
3 issues
Unable to import 'zmq'
Error

Line: 2 Column: 1

              #!/usr/bin/env python3
import zmq
from typing import NoReturn

import cereal.messaging as messaging
from common.logging_extra import SwagLogFileFormatter
from selfdrive.swaglog import get_file_handler



            

Reported by Pylint.

Unable to import 'cereal.messaging'
Error

Line: 5 Column: 1

              import zmq
from typing import NoReturn

import cereal.messaging as messaging
from common.logging_extra import SwagLogFileFormatter
from selfdrive.swaglog import get_file_handler


def main() -> NoReturn:

            

Reported by Pylint.

No name 'messaging' in module 'cereal'
Error

Line: 5 Column: 1

              import zmq
from typing import NoReturn

import cereal.messaging as messaging
from common.logging_extra import SwagLogFileFormatter
from selfdrive.swaglog import get_file_handler


def main() -> NoReturn:

            

Reported by Pylint.

tools/replay/ui.py
3 issues
No name 'messaging' in module 'cereal'
Error

Line: 12 Column: 1

              import numpy as np
import pygame  # pylint: disable=import-error

import cereal.messaging as messaging
from common.basedir import BASEDIR
from selfdrive.config import UIParams as UP
from tools.replay.lib.ui_helpers import (_BB_TO_FULL_FRAME, _FULL_FRAME_SIZE,
                                         _INTRINSICS, BLACK, GREEN,
                                         YELLOW, Calibration,

            

Reported by Pylint.

Unable to import 'cereal.messaging'
Error

Line: 12 Column: 1

              import numpy as np
import pygame  # pylint: disable=import-error

import cereal.messaging as messaging
from common.basedir import BASEDIR
from selfdrive.config import UIParams as UP
from tools.replay.lib.ui_helpers import (_BB_TO_FULL_FRAME, _FULL_FRAME_SIZE,
                                         _INTRINSICS, BLACK, GREEN,
                                         YELLOW, Calibration,

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 30
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              def ui_thread(addr, frame_address):
  pygame.init()
  pygame.font.init()
  assert pygame_modules_have_loaded()

  disp_info = pygame.display.Info()
  max_height = disp_info.current_h

  hor_mode = os.getenv("HORIZONTAL") is not None

            

Reported by Bandit.

selfdrive/controls/lib/longitudinal_planner.py
3 issues
No name 'messaging' in module 'cereal'
Error

Line: 6 Column: 1

              import numpy as np
from common.numpy_fast import interp

import cereal.messaging as messaging
from cereal import log
from common.realtime import DT_MDL
from common.realtime import sec_since_boot
from selfdrive.modeld.constants import T_IDXS
from selfdrive.config import Conversions as CV

            

Reported by Pylint.

Unable to import 'cereal.messaging'
Error

Line: 6 Column: 1

              import numpy as np
from common.numpy_fast import interp

import cereal.messaging as messaging
from cereal import log
from common.realtime import DT_MDL
from common.realtime import sec_since_boot
from selfdrive.modeld.constants import T_IDXS
from selfdrive.config import Conversions as CV

            

Reported by Pylint.

No name 'log' in module 'cereal'
Error

Line: 7 Column: 1

              from common.numpy_fast import interp

import cereal.messaging as messaging
from cereal import log
from common.realtime import DT_MDL
from common.realtime import sec_since_boot
from selfdrive.modeld.constants import T_IDXS
from selfdrive.config import Conversions as CV
from selfdrive.controls.lib.fcw import FCWChecker

            

Reported by Pylint.

tools/replay/camera.py
3 issues
No name 'messaging' in module 'cereal'
Error

Line: 13 Column: 1

              import numpy as np
import cv2  # pylint: disable=import-error
import sys
import cereal.messaging as messaging

_BB_OFFSET = 0, 0
_BB_TO_FULL_FRAME = np.asarray([[1., 0., _BB_OFFSET[0]], [0., 1., _BB_OFFSET[1]],
                                [0., 0., 1.]])
_FULL_FRAME_TO_BB = np.linalg.inv(_BB_TO_FULL_FRAME)

            

Reported by Pylint.

Unable to import 'cereal.messaging'
Error

Line: 13 Column: 1

              import numpy as np
import cv2  # pylint: disable=import-error
import sys
import cereal.messaging as messaging

_BB_OFFSET = 0, 0
_BB_TO_FULL_FRAME = np.asarray([[1., 0., _BB_OFFSET[0]], [0., 1., _BB_OFFSET[1]],
                                [0., 0., 1.]])
_FULL_FRAME_TO_BB = np.linalg.inv(_BB_TO_FULL_FRAME)

            

Reported by Pylint.

Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
Security

Line: 29
Suggestion: https://bandit.readthedocs.io/en/latest/plugins/b101_assert_used.html

              def ui_thread(addr, frame_address):
  pygame.init()
  pygame.font.init()
  assert pygame_modules_have_loaded()

  size = (int(_FULL_FRAME_SIZE[0] * SCALE), int(_FULL_FRAME_SIZE[1] * SCALE))
  print(size)
  pygame.display.set_caption("comma one debug UI")
  screen = pygame.display.set_mode(size, pygame.DOUBLEBUF)

            

Reported by Bandit.

selfdrive/controls/plannerd.py
3 issues
No name 'car' in module 'cereal'
Error

Line: 2 Column: 1

              #!/usr/bin/env python3
from cereal import car
from common.params import Params
from common.realtime import Priority, config_realtime_process
from selfdrive.swaglog import cloudlog
from selfdrive.controls.lib.longitudinal_planner import Planner
from selfdrive.controls.lib.lateral_planner import LateralPlanner
from selfdrive.hardware import TICI
import cereal.messaging as messaging

            

Reported by Pylint.

No name 'messaging' in module 'cereal'
Error

Line: 9 Column: 1

              from selfdrive.controls.lib.longitudinal_planner import Planner
from selfdrive.controls.lib.lateral_planner import LateralPlanner
from selfdrive.hardware import TICI
import cereal.messaging as messaging


def plannerd_thread(sm=None, pm=None):
  config_realtime_process(5 if TICI else 2, Priority.CTRL_LOW)


            

Reported by Pylint.

Unable to import 'cereal.messaging'
Error

Line: 9 Column: 1

              from selfdrive.controls.lib.longitudinal_planner import Planner
from selfdrive.controls.lib.lateral_planner import LateralPlanner
from selfdrive.hardware import TICI
import cereal.messaging as messaging


def plannerd_thread(sm=None, pm=None):
  config_realtime_process(5 if TICI else 2, Priority.CTRL_LOW)


            

Reported by Pylint.

selfdrive/controls/tests/test_alerts.py
3 issues
No name 'log' in module 'cereal'
Error

Line: 8 Column: 1

              import random
from PIL import Image, ImageDraw, ImageFont

from cereal import log, car
from common.basedir import BASEDIR
from common.params import Params
from selfdrive.controls.lib.events import Alert, EVENTS
from selfdrive.controls.lib.alertmanager import set_offroad_alert


            

Reported by Pylint.

No name 'car' in module 'cereal'
Error

Line: 8 Column: 1

              import random
from PIL import Image, ImageDraw, ImageFont

from cereal import log, car
from common.basedir import BASEDIR
from common.params import Params
from selfdrive.controls.lib.events import Alert, EVENTS
from selfdrive.controls.lib.alertmanager import set_offroad_alert


            

Reported by Pylint.

Standard pseudo-random generators are not suitable for security/cryptographic purposes.
Security blacklist

Line: 103
Suggestion: https://bandit.readthedocs.io/en/latest/blacklists/blacklist_calls.html#b311-random

                  params = Params()
    for i in range(50):
      # set the alert
      a = random.choice(list(self.offroad_alerts))
      alert = self.offroad_alerts[a]
      set_offroad_alert(a, True, extra_text="a"*i)

      expected_txt = alert['text'] + "a"*i
      written_txt = json.loads(params.get(a, encoding='utf8'))['text']

            

Reported by Bandit.