← Back to scan
File as GitHub Issue repo: NovaSector/NovaSector

Push this scan report to NovaSector/NovaSector

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

`self.raise_error` used but never assigned in __init__

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
HIGH MINED108 [MINED108] `self.raise_error` used but never assigned in __init__: Method `parse_pop` of … tools/maplint/source/dmm.py:86
HIGH MINED108 [MINED108] `self.next_line` used but never assigned in __init__: Method `parse_pop` of cl… tools/maplint/source/dmm.py:82
HIGH MINED108 [MINED108] `self.raise_error` used but never assigned in __init__: Method `parse_pop` of … tools/maplint/source/dmm.py:77
HIGH MINED108 [MINED108] `self.next_line` used but never assigned in __init__: Method `parse_pop` of cl… tools/maplint/source/dmm.py:71
HIGH MINED108 [MINED108] `self.raise_error` used but never assigned in __init__: Method `parse` of clas… tools/maplint/source/dmm.py:58
HIGH MINED108 [MINED108] `self.parse_row` used but never assigned in __init__: Method `parse` of class … tools/maplint/source/dmm.py:55
HIGH MINED108 [MINED108] `self.parse_pop` used but never assigned in __init__: Method `parse` of class … tools/maplint/source/dmm.py:52
HIGH MINED108 [MINED108] `self.raise_error` used but never assigned in __init__: Method `parse` of clas… tools/maplint/source/dmm.py:49
HIGH MINED108 [MINED108] `self.next_line` used but never assigned in __init__: Method `parse` of class … tools/maplint/source/dmm.py:48
HIGH MINED108 [MINED108] `self._frame_index` used but never assigned in __init__: Method `get_frame` of… tools/dmi/__init__.py:218
HIGH MINED108 [MINED108] `self.framecount` used but never assigned in __init__: Method `hotspot` of cla… tools/dmi/__init__.py:207
HIGH MINED108 [MINED108] `self.framecount` used but never assigned in __init__: Method `hotspot` of cla… tools/dmi/__init__.py:208
HIGH MINED108 [MINED108] `self._assemble_comment` used but never assigned in __init__: Method `to_file`… tools/dmi/__init__.py:157
HIGH MINED108 [MINED108] `self.overwrite_key` used but never assigned in __init__: Method `_presave_che… tools/mapmerge2/dmm.py:113
HIGH MINED108 [MINED108] `self.generate_new_key` used but never assigned in __init__: Method `_presave_… tools/mapmerge2/dmm.py:103
HIGH MINED108 [MINED108] `self.reassign_bad_keys` used but never assigned in __init__: Method `_presave… tools/mapmerge2/dmm.py:115
HIGH MINED108 [MINED108] `self._ensure_free_keys` used but never assigned in __init__: Method `_presave… tools/mapmerge2/dmm.py:96
HIGH MINED108 [MINED108] `self._ensure_free_keys` used but never assigned in __init__: Method `generate… tools/mapmerge2/dmm.py:61
HIGH MINED108 [MINED108] `self.get_or_generate_key` used but never assigned in __init__: Method `set_ti… tools/mapmerge2/dmm.py:58
HIGH MINED108 [MINED108] `self.generate_new_key` used but never assigned in __init__: Method `get_or_ge… tools/mapmerge2/dmm.py:49
HIGH MINED108 [MINED108] `self._presave_checks` used but never assigned in __init__: Method `to_bytes` … tools/mapmerge2/dmm.py:38
HIGH MINED108 [MINED108] `self._presave_checks` used but never assigned in __init__: Method `to_file` o… tools/mapmerge2/dmm.py:33
HIGH MINED108 [MINED108] `self.send_header` used but never assigned in __init__: Method `end_headers` o… tools/localhost-asset-webroot-server.py:9
HIGH MINED108 [MINED108] `self.send_header` used but never assigned in __init__: Method `end_headers` o… tools/localhost-asset-webroot-server.py:8
HIGH MINED108 [MINED108] `self.send_header` used but never assigned in __init__: Method `end_headers` o… tools/localhost-asset-webroot-server.py:7
HIGH MINED006 [MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste… tools/mapmerge2/frontend.py:108
HIGH MINED006 [MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste… tools/maplint/source/__main__.py:30
HIGH SEC100 [SEC100] CORS permissive Access-Control-Allow-Origin: *: Permissive CORS policy (`*` orig… tools/localhost-asset-webroot-server.py:7
HIGH MINED034 [MINED034] Python Subprocess Shell True: subprocess(..., shell=True) enables command inje… tools/icon_cutter/check.py:105
HIGH SEC078 [SEC078] Python: requests without timeout: requests.get/post without a timeout will hang … tools/tts/tts-api/tts-api.py:33
HIGH SEC078 [SEC078] Python: requests without timeout: requests.get/post without a timeout will hang … tools/discordRoleScript/Script.py:52
HIGH SEC114 [SEC114] path.join / Path() on user-controlled segment without containment check: filepat… tools/ci/show_screenshot_test_results.js:102
HIGH MINED012 [MINED012] Curl Pipe Bash: curl ... | sh / bash — runs unverified network code. tools/tgs_scripts/PreCompile.sh:32
HIGH MINED012 [MINED012] Curl Pipe Bash: curl ... | sh / bash — runs unverified network code. tools/tgs_scripts/InstallDeps.sh:23
HIGH MINED012 [MINED012] Curl Pipe Bash: curl ... | sh / bash — runs unverified network code. tools/bootstrap/javascript.sh:22
HIGH MINED001 [MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e… tools/mapmerge2/mapmerge.py:34
HIGH MINED001 [MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e… tools/maplint/source/error.py:27
HIGH MINED001 [MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e… tools/HitboxExpander/__main__.py:87
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). tgui/packages/tgui/interfaces/PortraitP…:17
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). tgui/packages/tgui/interfaces/PaintingA…:14
HIGH MINED004 [MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums). tgui/packages/tgui/interfaces/NtosPortr…:24
HIGH SEC085 [SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in… tgui/packages/tgui/interfaces/Interview…:47
HIGH SEC085 [SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in… tgui/packages/tgui-panel/chat/replaceIn…:40
HIGH SEC083 [SEC083] JS: new RegExp() with non-literal: new RegExp(<variable>) — variable input can c… tgui/packages/tgui/interfaces/LogViewer…:146
HIGH DKR006 Dockerfile pipes a remote script into a shell Dockerfile:49
HIGH MINED134 [MINED134] Binary file `tools/dmifonts/DmiFonts.exe` committed in source repo: `tools/dmi… tools/dmifonts/DmiFonts.exe:1
HIGH MINED134 [MINED134] Binary file `libdreamluau.so` committed in source repo: `libdreamluau.so` is a… libdreamluau.so:1
HIGH MINED134 [MINED134] Binary file `rust_g.dll` committed in source repo: `rust_g.dll` is a .dll bina… rust_g.dll:1
HIGH MINED134 [MINED134] Binary file `dreamluau.dll` committed in source repo: `dreamluau.dll` is a .dl… dreamluau.dll:1
HIGH MINED126 [MINED126] Workflow container/services image `tgstation/server` unpinned: `container/serv… .github/workflows/tgs_test.yml:51
HIGH MINED115 [MINED115] Action `actions/github-script` pinned to mutable ref `@v9`: `uses: actions/git… .github/workflows/rerun_flaky_tests.yml:15
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/rerun_flaky_tests.yml:13
HIGH MINED115 [MINED115] Action `actions/create-github-app-token` pinned to mutable ref `@v3.2.0`: `use… .github/workflows/discord_discussions.y…:44
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/discord_discussions.y…:37
HIGH MINED115 [MINED115] Action `actions/setup-dotnet` pinned to mutable ref `@v5`: `uses: actions/setu… .github/workflows/discord_discussions.y…:31
HIGH MINED115 [MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v7`: `uses: actions/u… .github/workflows/setup_build_artifact.…:38
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/setup_build_artifact.…:17
HIGH MINED115 [MINED115] Action `peter-evans/repository-dispatch` pinned to mutable ref `@v4`: `uses: p… .github/workflows/generate_client_stora…:29
HIGH MINED115 [MINED115] Action `actions/create-github-app-token` pinned to mutable ref `@v3.2.0`: `use… .github/workflows/generate_client_stora…:17
HIGH MINED115 [MINED115] Action `ad-m/github-push-action` pinned to mutable ref `@master`: `uses: ad-m/… .github/workflows/compile_changelogs.yml:70
HIGH MINED115 [MINED115] Action `actions/create-github-app-token` pinned to mutable ref `@v3.2.0`: `use… .github/workflows/compile_changelogs.yml:59
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/compile_changelogs.yml:38
HIGH MINED115 [MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu… .github/workflows/compile_changelogs.yml:26
HIGH MINED115 [MINED115] Action `actions/github-script` pinned to mutable ref `@v9`: `uses: actions/git… .github/workflows/auto_changelog.yml:31
HIGH MINED115 [MINED115] Action `actions/create-github-app-token` pinned to mutable ref `@v3.2.0`: `use… .github/workflows/auto_changelog.yml:21
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/auto_changelog.yml:17
HIGH MINED115 [MINED115] Action `re-actors/alls-green` pinned to mutable ref `@release/v1`: `uses: re-a… .github/workflows/ci_suite.yml:86
HIGH MINED115 [MINED115] Action `repo-sync/pull-request` pinned to mutable ref `@v2`: `uses: repo-sync/… .github/workflows/update_tgs_dmapi.yml:53
HIGH MINED115 [MINED115] Action `actions/create-github-app-token` pinned to mutable ref `@v3.2.0`: `use… .github/workflows/update_tgs_dmapi.yml:43
HIGH MINED115 [MINED115] Action `tgstation/tgs-dmapi-updater` pinned to mutable ref `@v2`: `uses: tgsta… .github/workflows/update_tgs_dmapi.yml:26
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/update_tgs_dmapi.yml:17
HIGH MINED115 [MINED115] Action `actions/github-script` pinned to mutable ref `@v9`: `uses: actions/git… .github/workflows/remove_guide_comments…:14
HIGH MINED115 [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout… .github/workflows/remove_guide_comments…:12
HIGH MINED118 [MINED118] Dockerfile FROM `debian:bullseye-slim` not pinned by digest: `FROM debian:bull… tools/tts/tts-api/Dockerfile:2
HIGH MINED118 [MINED118] Dockerfile FROM `debian:bullseye-slim` not pinned by digest: `FROM debian:bull… tools/tts/tts/Dockerfile:2
HIGH MINED118 [MINED118] Dockerfile FROM `ubuntu:xenial` not pinned by digest: `FROM ubuntu:xenial` res… Dockerfile:2
HIGH DKC011 Database service publishes a host port tools/LinuxOneShot/docker-compose.yml:2
MED MINED109 [MINED109] Mutable default argument in `segment` (set): `def segment(... = []/{}/set())` … tools/midi2piano/MidiDependencies/midi.…:542
MED MINED109 [MINED109] Mutable default argument in `timeshift` (set): `def timeshift(... = []/{}/set(… tools/midi2piano/MidiDependencies/midi.…:453
MED MINED109 [MINED109] Mutable default argument in `opus2score` (list): `def opus2score(... = []/{}/s… tools/midi2piano/MidiDependencies/midi.…:306
MED MINED109 [MINED109] Mutable default argument in `opus2midi` (list): `def opus2midi(... = []/{}/set… tools/midi2piano/MidiDependencies/midi.…:150
MED MINED109 [MINED109] Mutable default argument in `__init__` (dict): `def __init__(... = []/{}/set()… tools/maplint/source/lint.py:133
MED MINED109 [MINED109] Mutable default argument in `__init__` (dict): `def __init__(... = []/{}/set()… tools/maplint/source/lint.py:50
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/maplint/source/__main__.py:32
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/maplint/source/__main__.py:91
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/maplint/source/__main__.py:73
MED MINED109 [MINED109] Mutable default argument in `text_to_speech_handler` (list): `def text_to_spee… tools/tts/tts-api/tts-api.py:27
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/minibot/nudge.py:11
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/CatchUnescapedBrackets/__main__.py:144
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/HitboxExpander/__main__.py:68
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/midi2piano/midi2piano.py:129
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/mapmerge2/frontend.py:122
MED MINED111 [MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r… tools/silo_grapher/silo_graph_script.py:83
MED SEC127 [SEC127] AI agent stub — TODO: implement / pass placeholder body: Function body left as T… tools/ezdb/steps/step.py:5
MED SEC042 [SEC042] SQL identifier injection via f-string in cursor execute: f-string SQL normalizes… tools/ezdb/steps/update_schema.py:23
MED SEC042 [SEC042] SQL identifier injection via f-string in cursor execute: f-string SQL normalizes… tools/ezdb/steps/install_initial_schema…:21
MED SEC015 [SEC015] Insecure Randomness for Security: Weak PRNG used in security-sensitive context. … tools/ezdb/steps/install_database.py:7
MED SEC087 [SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; … tgui/packages/tgui/interfaces/Syndicate…:107
MED SEC087 [SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; … tgui/packages/tgui/interfaces/SyndContr…:53
MED SEC087 [SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; … tgui/packages/tgui/interfaces/Detective…:37
MED SEC007 [SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code. tools/minibot/minibot.py:98
MED SEC007 [SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code. tgui/packages/tgui/interfaces/Changelog…:93
MED SEC045 [SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even … tools/ci/show_screenshot_test_results.js:100
MED SEC045 [SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even … tgui/packages/tgui/interfaces/Interview…:47
MED SEC045 [SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even … tgui/packages/tgui-panel/chat/replaceIn…:40
MED SEC136 [SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all excepti… tgui/packages/tgui-dev-server/util.ts:25
MED ERR002 [ERR002] Empty Catch Block: Empty catch blocks hide errors. tgui/packages/tgui-dev-server/link/clie…:66
MED ERR002 [ERR002] Empty Catch Block: Empty catch blocks hide errors. html/admin/search.js:32
MED DKR003 Compose service `tgs` image uses the latest tag tools/LinuxOneShot/docker-compose.yml:14
MED DKR003 Compose service `dreammaker` image uses the latest tag tools/DockerTestServer/docker-compose.y…:4
MED DKR002 Compose service `mariadb` image has no explicit tag tools/LinuxOneShot/docker-compose.yml:2
MED DKR002 Compose service `adminer` image has no explicit tag tools/DockerTestServer/docker-compose.y…:38
MED DKR002 Compose service `db` image has no explicit tag tools/DockerTestServer/docker-compose.y…:25
MED DKC015 Database service has no healthcheck tools/LinuxOneShot/docker-compose.yml:2
MED DKC015 Database service has no healthcheck tools/DockerTestServer/docker-compose.y…:25
MED DKC014 Database data bind mount is inside the Docker build context tools/LinuxOneShot/docker-compose.yml:2
MED DKR015 Docker build context is very large .dockerignore
MED DKR001 Docker final stage has no non-root USER tools/tts/tts-api/Dockerfile:2
MED DKR001 Docker final stage has no non-root USER tools/tts/tts/Dockerfile:2
MED DKR001 Docker final stage has no non-root USER Dockerfile:74
MED DKR014 Dockerfile copies broad context with incomplete .dockerignore tools/tts/tts-api/Dockerfile:31
MED DKR014 Dockerfile copies broad context with incomplete .dockerignore tools/tts/tts/Dockerfile:33
MED DKR014 Dockerfile copies broad context with incomplete .dockerignore Dockerfile:42
LOW SEC124 [SEC124] TOCTOU file access (os.access then open): Check-then-use file pattern (access/ex… tools/ss13_genchangelog.py:91
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… tgui/packages/tgui/interfaces/LibraryCo…:124
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… tgui/packages/tgui/interfaces/AntagInfo…:22
LOW SEC132 [SEC132] String concat where the language has interpolation (AI style drift): String buil… SQL/ban_conversion_2018-10-28.py:125
LOW COMP001 [COMP001] High cognitive complexity: Function `parse_role` has cognitive complexity 9 (So… SQL/ban_conversion_2018-10-28.py:60
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ImplantCh…:13
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/Fabricato…:155
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/Fabricato…:147
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/Fabricato…:142
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ExosuitFa…:106
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ExosuitFa…:91
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/Component…:73
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/CircuitAc…:26
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ChemReact…:47
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ChemReact…:38
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ChemPress…:64
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/ChemMixin…:41
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/CargoImpo…:57
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/Bluespace…:86
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/AtmosTemp…:18
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/AtmosTemp…:19
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/AtmosPump…:66
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/AtmosPump…:39
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/AntagInfo…:160
LOW AIC003 Duplicated implementation block across source files tgui/packages/tgui/interfaces/AiStatusD…:54
LOW DKR010 Dockerfile leaves apt package indexes in the image layer Dockerfile:4
LOW DKR012 Dockerfile keeps pip download cache tools/tts/tts-api/Dockerfile:25
LOW DKR011 Dockerfile installs recommended OS packages tools/tts/tts-api/Dockerfile:5
LOW DKR012 Dockerfile keeps pip download cache tools/tts/tts/Dockerfile:25
LOW DKR011 Dockerfile installs recommended OS packages tools/tts/tts/Dockerfile:5
LOW DKR008 .dockerignore misses sensitive defaults .dockerignore
LOW DKC016 App service does not wait for database health tools/LinuxOneShot/docker-compose.yml:38
LOW DKC016 App service does not wait for database health tools/LinuxOneShot/docker-compose.yml:14
LOW DKC016 App service does not wait for database health tools/DockerTestServer/docker-compose.y…:38
LOW DKC016 App service does not wait for database health tools/DockerTestServer/docker-compose.y…:4
LOW DKC010 Compose service lacks no-new-privileges hardening tools/tts/docker-compose.yml:16
LOW DKC010 Compose service lacks no-new-privileges hardening tools/tts/docker-compose.yml:1
LOW DKC010 Compose service lacks no-new-privileges hardening tools/LinuxOneShot/docker-compose.yml:38
LOW DKC010 Compose service lacks no-new-privileges hardening tools/LinuxOneShot/docker-compose.yml:14
LOW DKC010 Compose service lacks no-new-privileges hardening tools/DockerTestServer/docker-compose.y…:38
LOW DKC010 Compose service lacks no-new-privileges hardening tools/DockerTestServer/docker-compose.y…:4
LOW DKC006 Compose service does not declare a runtime user tools/tts/docker-compose.yml:16
LOW DKC006 Compose service does not declare a runtime user tools/tts/docker-compose.yml:1
LOW DKC006 Compose service does not declare a runtime user tools/LinuxOneShot/docker-compose.yml:38
LOW DKC006 Compose service does not declare a runtime user tools/LinuxOneShot/docker-compose.yml:14
LOW DKC006 Compose service does not declare a runtime user tools/DockerTestServer/docker-compose.y…:38
LOW DKC006 Compose service does not declare a runtime user tools/DockerTestServer/docker-compose.y…:4
INFO MINED051 [MINED051] Csharp Null Forgive: x! tells compiler "definitely not null" — bypasses nullab… tools/tgs_test/Program.cs:67
INFO MINED063 [MINED063] Toctou Os Path Exists: if os.path.exists(p): open(p) — file can be replaced/de… tools/ss13_genchangelog.py:120
INFO MINED064 [MINED064] Python Input Call: input() blocks for stdin. Inappropriate in services. tools/mapmerge2/frontend.py:60
INFO MINED072 [MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in. tools/maplint/source/error.py:27
INFO MINED067 [MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f… tools/tts/tts-api/tts-api.py:33
INFO MINED067 [MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f… tools/discordRoleScript/Script.py:52
INFO MINED050 [MINED050] Stub Only Function: Function declared but body is just pass, return None, rais… tools/ezdb/steps/step.py:6
INFO MINED050 [MINED050] Stub Only Function: Function declared but body is just pass, return None, rais… tools/dmi/__init__.py:94
INFO MINED050 [MINED050] Stub Only Function: Function declared but body is just pass, return None, rais… tools/HitboxExpander/__main__.py:88
INFO MINED054 [MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely. tgui/packages/tgui/interfaces/SmartVend…:156
INFO MINED054 [MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely. tgui/packages/tgui/interfaces/Preferenc…:243
INFO MINED054 [MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely. tgui/packages/tgui/interfaces/Microscop…:181
INFO MINED058 [MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi… tgui/packages/tgui/interfaces/Detective…:173
INFO MINED058 [MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi… tgui/packages/tgui/interfaces/Communica…:76
INFO MINED058 [MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi… tgui/packages/tgui/interfaces/CivCargoH…:237
INFO MINED056 [MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re… tgui/packages/tgui/interfaces/AntagInfo…:208
INFO MINED056 [MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re… tgui/packages/tgui/interfaces/AlertModa…:140
INFO MINED056 [MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re… tgui/packages/tgui-panel/settings/TextH…:28
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … tgui/packages/tgui-panel/chat/handlers.…:25
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … tgui/packages/tgui-dev-server/logging.ts:60
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … tgui/packages/tgui-dev-server/link/clie…:9
INFO MINED043 [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr… tools/ci/download_byond.sh:5
INFO MINED043 [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr… tgui/packages/tgui/interfaces/Changelog…:238
INFO MINED043 [MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr… tgui/packages/tgui-dev-server/dreamseek…:32
INFO MINED045 [MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError … tgui/packages/tgui-panel/telemetry/hand…:78
INFO MINED045 [MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError … tgui/packages/tgui-dev-server/link/retr…:56
INFO MINED045 [MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError … tgui/packages/common/type-safety.ts:44
INFO MINED052 [MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety. tgui/packages/tgui-dev-server/link/serv…:39
INFO MINED052 [MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety. tgui/packages/tgui-dev-server/link/clie…:1
INFO MINED052 [MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety. tgui/packages/common/storage.ts:19
Reset to top 5 200 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `NovaSector/NovaSector`

**Score: 76/100 (B-)**  ·  235 findings  ·  scanned 2026-06-06 00:30 UTC  ·  163,731 LOC

| Severity | Count |
|---|---|
| CRITICAL | 18 |
| HIGH | 92 |
| MEDIUM | 46 |
| LOW | 47 |

📊 [Full filterable report](https://repobility.com/scan/f8952fa4-ed0a-4e8c-b907-53439ca008de/)  ·  ![scorecard](https://repobility.com/scan/f8952fa4-ed0a-4e8c-b907-53439ca008de/report.png?v=1780705837-s2)

### Top findings

1. **HIGH** `MINED108` — `self.raise_error` used but never assigned in __init__
   `tools/maplint/source/dmm.py:86` · ✓ Repobility
2. **HIGH** `MINED108` — `self.next_line` used but never assigned in __init__
   `tools/maplint/source/dmm.py:82` · ✓ Repobility
3. **HIGH** `MINED108` — `self.raise_error` used but never assigned in __init__
   `tools/maplint/source/dmm.py:77` · ✓ Repobility
4. **HIGH** `MINED108` — `self.next_line` used but never assigned in __init__
   `tools/maplint/source/dmm.py:71` · ✓ Repobility
5. **HIGH** `MINED108` — `self.raise_error` used but never assigned in __init__
   `tools/maplint/source/dmm.py:58` · ✓ Repobility

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/f8952fa4-ed0a-4e8c-b907-53439ca008de/_
Megaproject â high spam risk
Could not determine 'NovaSector/NovaSector' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.