Dungeon Crawl: Stone Soup official repository
This report summarizes scanner evidence for crawl/crawl, a C++ project with 3,056 GitHub stars. SynthScan examined 352,970 lines of code across 1998 source files, recording 530 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 1.9 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 393 finding(s).
Are imports declared and package/API names verified? 72 finding(s).
Are wrappers, guards, and repeated structures necessary? 111 finding(s).
Which changes need focused human review? 530 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 530 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/settings/init.txt | 1 | ##### Crawl Init file ############################################### | COMMENT |
| LOW | crawl-ref/settings/init.txt | 21 | # field = value or field.subfield = value | COMMENT |
| LOW | crawl-ref/settings/init.txt | 41 | # to create an alias, like so: | COMMENT |
| LOW | crawl-ref/settings/init.txt | 61 | # include = colemak_command_keys.txt | COMMENT |
| LOW | crawl-ref/settings/neo_command_keys.txt | 21 | COMMENT | |
| LOW | crawl-ref/source/beam.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 1 | # This file contains the definitions of unrandarts (and what used to be | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 21 | # Add new artefact definitions at the end of the file; doing so should cause | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 41 | # If the tile requires a black outline (because it would be hard to see | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 61 | # eventually need to be replaced with proper tiles, though this is less of a | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 81 | # * fragile: Is destroyed when unequipped. | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 101 | # be replaced by INSCRIP: and DBRAND: entries. | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 121 | # + Python: It gives you a bracketing malus. | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 141 | # PLUS: The pluses of the artefact. | COMMENT |
| LOW | crawl-ref/source/art-data.txt | 161 | # DEX: Dexterity modifier. | COMMENT |
| LOW | crawl-ref/source/sound.h | 21 | // | COMMENT |
| LOW | crawl-ref/source/sound.h | 41 | #define PICKUP_SOUND "PICKUP" | COMMENT |
| LOW | crawl-ref/source/sound.h | 61 | // the various backends in a certain order. | COMMENT |
| LOW | crawl-ref/source/player-equip.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/env.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/invent.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/noise.h | 1 | // Private header for shout.h. | COMMENT |
| LOW | crawl-ref/source/movement-type.h | 21 | // the player to move to a tile currently occupied by a monster (that they | COMMENT |
| LOW | crawl-ref/source/debug.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/debug.h | 21 | #endif | COMMENT |
| LOW | crawl-ref/source/debug.h | 41 | # define WARN_POP _Pragma("GCC diagnostic pop") | COMMENT |
| LOW | crawl-ref/source/item-prop-enum.h | 241 | RING_TELEPORT_CONTROL, | COMMENT |
| LOW | crawl-ref/source/mon-ai-action.h | 21 | /// fancy bools, with an extra way of marking actions as impossible. | COMMENT |
| LOW | crawl-ref/source/version.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/endianness.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/endianness.h | 21 | #ifndef htole32 | COMMENT |
| LOW | crawl-ref/source/monster.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/monster.h | 21 | COMMENT | |
| LOW | crawl-ref/source/art-func.h | 21 | #endif | COMMENT |
| LOW | crawl-ref/source/art-func.h | 41 | #include "mon-death.h" // For demon axe's SAME_ATTITUDE | COMMENT |
| LOW | crawl-ref/source/ui.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/mgen-data.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/mgen-data.h | 21 | #define MGEN_TENTACLE_CONNECT "tentacle_connect" | COMMENT |
| LOW | crawl-ref/source/mgen-data.h | 41 | // or those which are summoned but do not expire on their. | COMMENT |
| LOW | crawl-ref/source/mgen-data.h | 61 | COMMENT | |
| LOW | crawl-ref/source/mgen-data.h | 101 | COMMENT | |
| LOW | crawl-ref/source/spl-summoning.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/dungeon-feature-type.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/god-abil.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/god-abil.h | 21 | COMMENT | |
| LOW | crawl-ref/source/god-abil.h | 61 | #define USKAYAW_AUDIENCE_TIMER "uskayaw_audience_timer" | COMMENT |
| LOW | crawl-ref/source/god-abil.h | 81 | #define YRED_KILLS_LOGGED_KEY "yred_souls_scoured" | COMMENT |
| LOW | crawl-ref/source/fixedp.h | 81 | static_assert(std::is_integral<BaseType>(), | COMMENT |
| LOW | crawl-ref/source/fixedp.h | 741 | COMMENT | |
| LOW | crawl-ref/source/mon-info.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/spl-cast.h | 81 | #define IOOD_VX "iood_vx" | COMMENT |
| LOW | crawl-ref/source/tag-version.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/player.h | 1 | /** | COMMENT |
| LOW | crawl-ref/source/player.h | 21 | #include "daction-type.h" | COMMENT |
| LOW | crawl-ref/source/player.h | 41 | #include "unique-item-status-type.h" | COMMENT |
| LOW | crawl-ref/source/player.h | 61 | #define WATERY_GRAVE_XP_KEY "watery_grave_xp" | COMMENT |
| LOW | crawl-ref/source/threads.h | 1 | #pragma once | COMMENT |
| LOW | crawl-ref/source/threads.h | 61 | #include <windows.h> | COMMENT |
| LOW | crawl-ref/source/coord.h | 81 | #else | COMMENT |
| LOW | crawl-ref/source/stringutil.h | 181 | // is reached N/2 - 1 times: N-2 iterations total. | COMMENT |
| 247 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | crawl-ref/source/util/configure.py | 93 | except OSError: | CODE |
| HIGH | crawl-ref/source/util/configure.py | 98 | except OSError: | CODE |
| HIGH | crawl-ref/source/util/configure.py | 103 | except OSError: | CODE |
| HIGH | crawl-ref/source/util/configure.py | 126 | except OSError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/auth.py | 13 | except ImportError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/config.py | 330 | except KeyError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/config.py | 334 | except KeyError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/terminal.py | 104 | except OSError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/inotify.py | 15 | except ImportError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/inotify.py | 54 | except (OSError, IOError): | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/inotify.py | 66 | except AttributeError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/util.py | 21 | except ImportError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/util.py | 69 | except: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/util.py | 195 | except: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/process_handler.py | 30 | except: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/process_handler.py | 426 | except ValueError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/process_handler.py | 684 | except (OSError, IOError): | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/process_handler.py | 1010 | except OSError: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/userdb.py | 22 | except ImportError: | CODE |
| HIGH | …awl-ref/source/webserver/webtiles/game_data_handler.py | 10 | except: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/checkoutput.py | 36 | except (IOError, OSError) as e: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/ws_handler.py | 27 | except: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/ws_handler.py | 55 | except: | CODE |
| HIGH | crawl-ref/source/webserver/webtiles/ws_handler.py | 1432 | except: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/source/util/form-gen.py | 7 | CODE | |
| LOW | crawl-ref/source/util/form-gen.py | 14 | CODE | |
| LOW | crawl-ref/source/util/form-gen.py | 20 | CODE | |
| LOW | crawl-ref/source/util/status-icon-sizes-gen.py | 7 | CODE | |
| LOW | crawl-ref/source/util/species-gen.py | 7 | CODE | |
| LOW | crawl-ref/source/util/species-gen.py | 22 | CODE | |
| LOW | crawl-ref/source/util/split-enum.py | 1 | CODE | |
| LOW | crawl-ref/source/util/gen-all.py | 3 | CODE | |
| LOW | crawl-ref/source/util/mon-gen.py | 7 | CODE | |
| LOW | crawl-ref/source/util/mon-gen.py | 13 | CODE | |
| LOW | crawl-ref/source/util/mon-gen.py | 14 | CODE | |
| LOW | crawl-ref/source/util/job-gen.py | 7 | CODE | |
| LOW | crawl-ref/source/util/job-gen.py | 14 | CODE | |
| LOW | crawl-ref/source/util/job-gen.py | 23 | CODE | |
| LOW | crawl-ref/source/util/genutil.py | 8 | CODE | |
| LOW | crawl-ref/source/util/genutil.py | 9 | CODE | |
| LOW | crawl-ref/source/util/genutil.py | 10 | CODE | |
| LOW | crawl-ref/source/webserver/server.py | 2 | CODE | |
| LOW | crawl-ref/source/webserver/config.py | 29 | CODE | |
| LOW | crawl-ref/source/webserver/config.py | 32 | CODE | |
| LOW | crawl-ref/source/webserver/wtutil.py | 2 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/auth.py | 12 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/auth.py | 12 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/server.py | 23 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/config.py | 10 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/terminal.py | 12 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/inotify.py | 14 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/inotify.py | 14 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/inotify.py | 14 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 7 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 20 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 116 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 26 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 29 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 29 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 29 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 29 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 7 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 16 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 21 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 21 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 21 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 21 | CODE | |
| LOW | …awl-ref/source/webserver/webtiles/game_data_handler.py | 9 | CODE | |
| LOW | …awl-ref/source/webserver/webtiles/game_data_handler.py | 28 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/connection.py | 16 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/checkoutput.py | 10 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 1 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 3 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 8 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 23 | CODE | |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crawl-ref/settings/neo_command_keys.txt | 2 | # ---------------- | COMMENT |
| MEDIUM | crawl-ref/settings/neo_command_keys.txt | 26 | # ------------------- | COMMENT |
| MEDIUM | crawl-ref/settings/neo_command_keys.txt | 35 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/miscname.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/miscname.txt | 23 | #----------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/rand_all.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/rand_wpn.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/rand_arm.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/randname.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/randbook.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/miscast.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/gizmo.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/pl/miscname.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/zh/miscname.txt | 3 | # ------------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/database/zh/miscname.txt | 24 | #----------- | COMMENT |
| MEDIUM | crawl-ref/source/dat/des/arrival/arrival_guide.txt | 9 | # ----------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/source/mon-cast.h | 31 | dice_def resonance_strike_base_damage(int spell_hd); | CODE |
| LOW | crawl-ref/source/spl-summoning.h | 109 | dice_def battlesphere_damage_from_power(int pow); | CODE |
| LOW | crawl-ref/source/spl-summoning.h | 110 | dice_def battlesphere_damage_from_hd(int hd); | CODE |
| LOW | crawl-ref/source/spl-summoning.h | 156 | dice_def hoarfrost_cannonade_damage(int pow, bool finale); | CODE |
| LOW | crawl-ref/source/god-abil.h | 230 | dice_def uskayaw_stomp_extra_damage(bool allow_random = true); | CODE |
| LOW | crawl-ref/source/spl-transloc.h | 31 | coord_def get_electric_charge_landing_spot(const actor& agent, | CODE |
| LOW | crawl-ref/source/spl-transloc.h | 73 | dice_def piledriver_collision_damage(int pow, int dist, bool random); | CODE |
| LOW | crawl-ref/source/dungeon.h | 216 | coord_def dgn_random_point_in_margin(int margin); | CODE |
| LOW | crawl-ref/source/terrain.h | 185 | coord_def push_or_teleport_actor_from(const coord_def& pos); | CODE |
| LOW | crawl-ref/source/directn.h | 145 | coord_def find_default_monster_target(); | CODE |
| LOW | crawl-ref/source/directn.h | 146 | coord_def find_default_object_target(); | CODE |
| LOW | crawl-ref/source/mapmark.h | 31 | coord_def find_marker_position_by_prop(const string &prop, | CODE |
| LOW | crawl-ref/source/spl-damage.h | 88 | dice_def base_fragmentation_damage(int pow, bool random); | CODE |
| LOW | crawl-ref/source/spl-damage.h | 189 | dice_def detonation_catalyst_damage(int pow, bool real, const item_def* wpn = nullptr); | CODE |
| LOW | crawl-ref/source/dgn-height.h | 93 | coord_def pick_and_remove_random_island(); | CODE |
| LOW | crawl-ref/source/transform.h | 394 | dice_def player_airstrike_melee_damage(int open_spaces, int skill = -1); | CODE |
| LOW | crawl-ref/source/mon-place.h | 125 | coord_def find_newmons_square_contiguous(monster_type mons_class, | CODE |
| LOW | crawl-ref/source/util/species-gen.py | 340 | def generate_species_type_data(s): | STRING |
| LOW | crawl-ref/source/util/gen-all.py | 11 | def get_min_file_modified_time(file_names): | CODE |
| LOW | crawl-ref/source/util/gen-all.py | 14 | def get_max_file_modified_time(file_names): | CODE |
| LOW | …awl-ref/source/webserver/game_data/static/simplebar.js | 1941 | function getHTMLElementContentRect(target) { | CODE |
| LOW | …wl-ref/source/webserver/game_data/static/focus-trap.js | 411 | function isNodeMatchingSelectorTabbable(node, untouchabilityChecker) { | CODE |
| LOW | …wl-ref/source/webserver/game_data/static/focus-trap.js | 428 | function isNodeMatchingSelectorFocusable(node, untouchabilityChecker) { | CODE |
| LOW | …webserver/static/scripts/contrib/jquery.tablesorter.js | 15 | function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cs | CODE |
| LOW | …webserver/static/scripts/contrib/jquery.tablesorter.js | 16 | var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1 | CODE |
| LOW | crawl-ref/source/webserver/webtiles/auth.py | 26 | def purge_login_tokens_timeout(): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/auth_test.py | 16 | def test_not_yet_expired_tokens_are_kept(self, stub_datetime): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/auth_test.py | 27 | def test_expired_tokens_are_discarded(self, stub_datetime): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/auth_test.py | 41 | def test_cookies_have_correct_lifetime(self, stub_datetime): | CODE |
| LOW⚡ | crawl-ref/source/webserver/webtiles/auth_test.py | 54 | def test_returning_user_can_log_in_automatically(self): | CODE |
| LOW⚡ | crawl-ref/source/webserver/webtiles/auth_test.py | 62 | def test_log_out_removes_token(self): | CODE |
| LOW⚡ | crawl-ref/source/webserver/webtiles/auth_test.py | 71 | def test_repeated_log_out_is_idempotent(self): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/auth_test.py | 94 | def test_returns_none_for_wrong_format(self, cookie): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/auth_test.py | 101 | def test_returns_username_and_token(self, cookie): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 111 | def set_slow_callback_logging(slow_duration): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 299 | def get_receivers_by_username(self, username): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 318 | def update_receiver_permissions(self): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 541 | def update_watcher_description(self): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 824 | def _stop_purging_stale_processes(self): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 78 | def ensure_settings_db_exists(quiet=False): | STRING |
| LOW | crawl-ref/source/webserver/webtiles/userdb.py | 560 | def update_user_password_from_token(token, passwd): | STRING |
| LOW | crawl-ref/source/webserver/webtiles/util_test.py | 16 | def test_validate_email_address(self, email, valid): | CODE |
| LOW | …awl-ref/source/webserver/webtiles/game_data_handler.py | 13 | class GameDataHandler(tornado.web.StaticFileHandler): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 116 | def do_periodic_lobby_updates(): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 491 | def invalidate_saveslot_cache(self, slot): | CODE |
| LOW | .github/workflows/deps.py | 118 | def setup_msys_ccache_symlinks() -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crawl-ref/source/util/status-icon-sizes-gen.py | 21 | print('Error: failed to parse line ', line_num, ' of ', | CODE |
| MEDIUM | crawl-ref/source/util/status-icon-sizes-gen.py | 81 | print('Error: Missing input file', file=sys.stderr) | CODE |
| MEDIUM | crawl-ref/source/util/gen-all.py | 149 | print('Error: could not find tilegen.exe', file=sys.stderr) | CODE |
| MEDIUM | crawl-ref/source/util/gen-all.py | 177 | print('Error: missing file rltiles/', e.filename, '"', sep='', | CODE |
| MEDIUM | crawl-ref/source/util/gen-all.py | 185 | print('Error: command "', ' '.join(command), | CODE |
| MEDIUM⚡ | crawl-ref/source/util/gen-all.py | 207 | print('Error: no perl installed', file=sys.stderr) | CODE |
| MEDIUM⚡ | crawl-ref/source/util/gen-all.py | 212 | print('Error: missing file "', e.filename, '"', sep='', file=sys.stderr) | CODE |
| MEDIUM⚡ | crawl-ref/source/util/gen-all.py | 215 | print('Error: ', e.strerror, sep='', file=sys.stderr) | CODE |
| MEDIUM | crawl-ref/source/dat/dlua/layout/hyper.lua | 216 | print("Error: to_merge not a table: " .. type(to_merge) .. ": " .. to_merge) | CODE |
| MEDIUM | crawl-ref/source/webserver/webtiles/server.py | 676 | print("Error: can't import `tornado.platform` in chroot. Did you copy" | CODE |
| MEDIUM | crawl-ref/source/webserver/webtiles/process_handler.py | 712 | def human_readable_where(self): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 811 | except Exception: | CODE |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 968 | except Exception: | CODE |
| MEDIUM | crawl-ref/source/webserver/webtiles/ws_handler.py | 504 | def update_save_info(self, binary_key, data): | CODE |
| MEDIUM | crawl-ref/source/webserver/webtiles/ws_handler.py | 1403 | def after_write_callback(f): | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 507 | except Exception: | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 798 | except Exception: | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 1298 | except Exception: | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 1348 | except Exception: | CODE |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 1420 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/source/crawl-gdb.py | 222 | CODE | |
| LOW | crawl-ref/source/util/form-gen.py | 441 | CODE | |
| LOW | crawl-ref/source/util/tag-35-upgrade.py | 24 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/server.py | 460 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/server.py | 490 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/server.py | 530 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/config.py | 125 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/terminal.py | 228 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 111 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/util.py | 157 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/bans.py | 137 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 246 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 662 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 776 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 1065 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 1118 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 1156 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/checkoutput.py | 19 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/checkoutput.py | 44 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 409 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 699 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 823 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 1305 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/load_games.py | 14 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/load_games.py | 83 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/load_games.py | 201 | CODE | |
| LOW | crawl-ref/source/webserver/webtiles/load_games.py | 304 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | crawl-ref/source/util/form-gen.py | 0 | parser for yaml definition files. if any yaml content is invalid, the relevant parser function below should raise valuee | STRING |
| HIGH | crawl-ref/source/util/species-gen.py | 0 | parser for yaml definition files. if any yaml content is invalid, the relevant parser function below should raise valuee | STRING |
| HIGH | crawl-ref/source/util/mon-gen.py | 0 | parser for yaml definition files. if any yaml content is invalid, the relevant parser function below should raise valuee | STRING |
| HIGH | crawl-ref/source/util/job-gen.py | 0 | parser for yaml definition files. if any yaml content is invalid, the relevant parser function below should raise valuee | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crawl-ref/source/attack.h | 116 | // TODO: Definitely want to get rid of this, which we can't really do | COMMENT |
| LOW | crawl-ref/source/webserver/config.py | 140 | # to override yml loading, simply set `games` in this file; see the example | COMMENT |
| MEDIUM | …awl-ref/source/webserver/game_data/static/simplebar.js | 1966 | // be possible to utilize the getBoundingClientRect if only it's data wasn't | COMMENT |
| MEDIUM | …wl-ref/source/webserver/game_data/static/ui-layouts.js | 193 | // TODO: it might be more robust to produce structured info on the server | COMMENT |
| MEDIUM | crawl-ref/source/webserver/webtiles/config.py | 178 | # anything added here should be robust to reload()... | COMMENT |
| LOW | crawl-ref/source/webserver/webtiles/process_handler.py | 363 | # TODO: I don't understand why this code didn't just use self.username, | COMMENT |
| LOW | crawl-ref/source/webserver/webtiles/ws_handler.py | 672 | # lobby doesn't track idle time, so we just use a timeout directly; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crawl-ref/source/SDLMain.h | 5 | Feel free to customize this file to suit your needs | CODE |
| MEDIUM | crawl-ref/source/SDLMain.m | 5 | Feel free to customize this file to suit your needs | CODE |
| MEDIUM | crawl-ref/source/webserver/webtiles/util.py | 160 | # to see only certain callbacks when debugging, you can add a filter here. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crawl-ref/source/util/art-data.pl | 865 | # This file is automatically generated from source/art-data.txt via | COMMENT |
| MEDIUM | crawl-ref/source/webserver/webtiles/inotify.py | 42 | # The below class is from pyinotify, released under the MIT license | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/source/dat/database/rand_wpn.txt | 1828 | Lorem Ipsum | CODE |
| LOW | crawl-ref/source/webserver/game_data/static/game.js | 417 | mi.attr("placeholder", "Tap here to close keyboard"); | CODE |
| LOW | crawl-ref/source/webserver/game_data/static/game.js | 422 | mi.attr("placeholder", "Tap here for keyboard input"); | CODE |
| LOW | crawl-ref/source/webserver/game_data/static/menu.js | 296 | elem.addClass("placeholder"); | CODE |
| LOW | crawl-ref/docs/develop/git/quickstart.txt | 30 | $ git config --global user.name "John Doe" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/source/webserver/config.py | 288 | # Set this to true if you are behind a reverse proxy | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crawl-ref/source/webserver/webtiles/__init__.py | 1 | __all__ = ["auth", "checkoutput", "connection", "game_data_handler", "inotify", | CODE |