AI Slop Code RIsk Monitor

pwndbg/pwndbg

Exploit Development and Reverse Engineering with GDB & LLDB Made Easy

17.3 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for pwndbg/pwndbg, a Python project with 11,022 GitHub stars. SynthScan examined 122,062 lines of code across 798 source files, recording 1530 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 17.3 (Elevated 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.

17.3
Adjusted Signal
17.3
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
11.0K
Stars
Python
Language
122.1K
Lines of Code
798
Files
1.5K
Pattern Hits
2026-10-12
Scan Date
0.12
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 29.5/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 789 finding(s).

Hallucinated Dependency & Supply Chain Risk 26.4/100 · MEDIUM

Are imports declared and package/API names verified? 520 finding(s).

Agent Over-Engineering Ratio 32.2/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 666 finding(s).

PR Review Velocity Impact 58.9/100 · HIGH

Which changes need focused human review? 1530 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 20HIGH 74MEDIUM 45LOW 1391

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 1530 distinct pattern matches across 21 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.

Unused Imports496 hits · 493 pts
SeverityFileLineSnippetContext
LOWgdbinit.py1CODE
LOWnix/bundle/bundle.py1CODE
LOWtests/tests.py2CODE
LOWtests/host/__init__.py1CODE
LOWtests/host/gdb/__init__.py1CODE
LOWtests/host/gdb/pytests_launcher.py1CODE
LOWtests/host/gdb/pytests_collect.py1CODE
LOWtests/host/lldb/__init__.py1CODE
LOWtests/host/lldb/launch_guest.py1CODE
LOWtests/unit_tests/test_net.py1CODE
LOWtests/unit_tests/test_arch.py1CODE
LOWtests/unit_tests/test_got.py1CODE
LOWtests/unit_tests/test_osdata.py1CODE
LOWtests/unit_tests/test_regs.py1CODE
LOWtests/unit_tests/test_bit_math.py1CODE
LOWtests/unit_tests/test_sock_diag.py1CODE
LOWtests/unit_tests/test_lex_args.py1CODE
LOWtests/unit_tests/test_functions.py1CODE
LOWtests/unit_tests/test_memory.py1CODE
LOWtests/unit_tests/test_memory.py17CODE
LOWtests/unit_tests/test_memory.py18CODE
LOWtests/unit_tests/test_qemu.py1CODE
LOWtests/unit_tests/test_proc_fd.py1CODE
LOWtests/unit_tests/test_compiler_asm.py1CODE
LOWtests/unit_tests/test_hex2ptr.py1CODE
LOWtests/unit_tests/test_mmap.py1CODE
LOWtests/library/gdb/conftest.py5CODE
LOWtests/library/gdb/tests/test_consistent_help.py1CODE
LOWtests/library/gdb/tests/test_callstack.py1CODE
LOWtests/library/gdb/tests/test_command_distance.py1CODE
LOWtests/library/gdb/tests/test_cymbol.py1CODE
LOWtests/library/gdb/tests/test_command_stepuntilasm.py1CODE
LOWtests/library/gdb/tests/test_command_xor.py1CODE
LOWtests/library/gdb/tests/test_command_killthreads.py1CODE
LOWtests/library/gdb/tests/test_attachp.py1CODE
LOWtests/library/gdb/tests/test_command_ignore.py1CODE
LOWtests/library/gdb/tests/test_command_cyclic.py1CODE
LOWtests/library/gdb/tests/test_readline.py1CODE
LOWtests/library/gdb/tests/test_readline.py18CODE
LOWtests/library/gdb/tests/test_command_onegadget.py1CODE
LOWtests/library/gdb/tests/test_gdblib_parameter.py1CODE
LOWtests/library/gdb/tests/__init__.py1CODE
LOWtests/library/gdb/tests/test_command_vmmap.py1CODE
LOWtests/library/gdb/tests/test_glibc.py1CODE
LOWtests/library/gdb/tests/test_mprotect.py1CODE
LOWtests/library/gdb/tests/test_command_config.py1CODE
LOWtests/library/gdb/tests/test_command_flags.py1CODE
LOWtests/library/gdb/tests/test_function_base.py1CODE
LOWtests/library/gdb/tests/test_go.py1CODE
LOWtests/library/gdb/tests/utils.py1CODE
LOWtests/library/gdb/tests/test_file.py1CODE
LOWtests/library/gdb/tests/test_commands.py1CODE
LOWtests/library/gdb/tests/test_prompt_recolor.py1CODE
LOWtests/library/gdb/tests/test_command_procinfo.py1CODE
LOWtests/library/gdb/tests/test_loads.py1CODE
LOWtests/library/gdb/tests/test_commands_elf.py1CODE
LOWtests/library/gdb/tests/test_commands_next.py1CODE
LOWtests/library/gdb/tests/test_commands_dumpargs.py1CODE
LOWtests/library/gdb/tests/test_command_stepsyscall.py1CODE
LOWtests/library/gdb/tests/test_command_hijack_fd.py1CODE
436 more matches not shown…
Hyper-Verbose Identifiers430 hits · 426 pts
SeverityFileLineSnippetContext
LOWgdbinit.py49def get_venv_path_if_fixup_needed(src_root: Path) -> Path | None:CODE
LOWtests/tests.py92def run_tests_and_print_stats(CODE
LOWtests/host/gdb/pytests_collect.py21 def pytest_collection_modifyitems(self, items):CODE
LOWtests/host/lldb/launch_guest.py127 def pytest_collection_modifyitems(self, items):CODE
LOWtests/unit_tests/test_net.py19def test_netlink_parses_all_fields() -> None:STRING
LOWtests/unit_tests/test_net.py41def test_netlink_str_route_decodes_named_groups() -> None:STRING
LOWtests/unit_tests/test_net.py53def test_netlink_str_non_route_uses_hex_groups() -> None:STRING
LOW⚡tests/unit_tests/test_net.py71def test_format_netlink_groups_zero() -> None:STRING
LOW⚡tests/unit_tests/test_net.py76def test_format_netlink_groups_route_known_bits() -> None:STRING
LOW⚡tests/unit_tests/test_net.py81def test_format_netlink_groups_route_with_unknown_bits() -> None:STRING
LOW⚡tests/unit_tests/test_net.py89def test_format_netlink_groups_non_route_is_hex() -> None:STRING
LOW⚡tests/unit_tests/test_net.py94def test_unix_preserves_carriage_return_in_socket_path() -> None:STRING
LOWtests/unit_tests/test_net.py108def test_unix_socket_path_with_cr_and_newline() -> None:STRING
LOWtests/unit_tests/test_net.py130def test_unix_parses_entry_without_path() -> None:STRING
LOWtests/unit_tests/test_arch.py7def test_reg_set_mappings_exist():CODE
LOWtests/unit_tests/test_osdata.py25def test_parse_osdata_files_table() -> None:STRING
LOWtests/unit_tests/test_osdata.py36def test_parse_osdata_rejects_garbage() -> None:STRING
LOWtests/unit_tests/test_osdata.py44def test_parse_osdata_handles_xml_escapes() -> None:STRING
LOWtests/unit_tests/test_osdata.py67def test_parse_files_rows_skips_non_numeric() -> None:STRING
LOWtests/unit_tests/test_regs.py221def test_emulated_register_set_mips():CODE
LOWtests/unit_tests/test_sock_diag.py14def test_get_unix_peers_resolves_socketpair() -> None:CODE
LOWtests/unit_tests/test_sock_diag.py31def test_get_unix_peers_after_close() -> None:CODE
LOWtests/unit_tests/test_sock_diag.py47def test_find_socket_inode_owners_locates_self() -> None:CODE
LOWtests/unit_tests/test_sock_diag.py68def test_find_socket_inode_owners_empty_input() -> None:CODE
LOWtests/unit_tests/test_sock_diag.py72def test_find_socket_inode_owners_unknown_inode() -> None:CODE
LOWtests/unit_tests/test_functions.py15def test_functions_lookup_does_not_exist() -> None:CODE
LOWtests/unit_tests/test_functions.py21def test_format_flags_not_found() -> None:CODE
LOW⚡tests/unit_tests/test_qemu.py6def test_parse_qgdbserverversion_empty():CODE
LOW⚡tests/unit_tests/test_qemu.py11def test_parse_qgdbserverversion_without_version():CODE
LOW⚡tests/unit_tests/test_qemu.py15def test_parse_qgdbserverversion_with_full_version():CODE
LOW⚡tests/unit_tests/test_qemu.py20def test_parse_qgdbserverversion_with_partial_version():CODE
LOWtests/unit_tests/test_proc_fd.py20def test_find_pipe_endpoints_locates_both_ends() -> None:CODE
LOW⚡tests/unit_tests/test_proc_fd.py40def test_find_pipe_endpoints_empty_input() -> None:CODE
LOW⚡tests/unit_tests/test_proc_fd.py44def test_find_pipe_endpoints_unknown_inode() -> None:CODE
LOW⚡tests/unit_tests/test_proc_fd.py50def test_parse_fdinfo_mode_on_live_pipe_ends() -> None:CODE
LOWtests/unit_tests/test_proc_fd.py61def test_pipe_endpoints_from_fd_rows() -> None:CODE
LOWtests/unit_tests/test_proc_fd.py77def test_pipe_endpoints_from_fd_rows_malformed_names() -> None:CODE
LOW⚡tests/unit_tests/test_proc_fd.py95def test_parse_fdinfo_mode_malformed() -> None:CODE
LOW⚡tests/unit_tests/test_proc_fd.py103def test_pipe_str_renders_self_only() -> None:CODE
LOW⚡tests/unit_tests/test_proc_fd.py112def test_pipe_str_renders_peer() -> None:CODE
LOWtests/unit_tests/test_proc_fd.py127def test_pipe_str_renders_multiple_peers() -> None:CODE
LOWtests/library/gdb/tests/test_command_xor.py14def test_command_xor_with_gdb_execute(start_binary):CODE
LOWtests/library/gdb/tests/test_command_xor.py27def test_command_xor_with_int(start_binary):CODE
LOWtests/library/gdb/tests/test_command_xor.py41def test_command_xor_with_hex(start_binary):CODE
LOWtests/library/gdb/tests/test_command_killthreads.py29def test_command_killthreads_kills_all_threads_except_current(start_binary):CODE
LOWtests/library/gdb/tests/test_command_killthreads.py42def test_command_killthreads_kills_specific_thread(start_binary):CODE
LOWtests/library/gdb/tests/test_command_killthreads.py80def test_command_killthreads_produces_error_when_unknown_thread_passed(start_binary):CODE
LOWtests/library/gdb/tests/test_command_killthreads.py97def test_command_killthreads_before_binary_start():CODE
LOWtests/library/gdb/tests/test_attachp.py60def test_attachp_command_attaches_to_procname(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py73def test_attachp_command_attaches_to_pid(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py85def test_attachp_command_attaches_to_procname_resolve_none(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py119def test_attachp_command_attaches_to_procname_resolve_none_no_truncate(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py154def test_attachp_command_attaches_to_procname_resolve_ask(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py195def test_attachp_command_attaches_to_procname_resolve_oldest(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py216def test_attachp_command_attaches_to_procname_resolve_newest(launched_sleep_binary):CODE
LOWtests/library/gdb/tests/test_attachp.py237def test_attachp_command_nonexistent_procname():CODE
LOWtests/library/gdb/tests/test_attachp.py244def test_attachp_command_no_pids():CODE
LOW⚡tests/library/gdb/tests/test_command_ignore.py12def test_command_ignore_no_breakpoint_set():CODE
LOW⚡tests/library/gdb/tests/test_command_ignore.py17def test_command_ignore_no_breakpoint_set_remove():CODE
LOW⚡tests/library/gdb/tests/test_command_ignore.py25def test_command_ignore_no_breakpoint_found(start_binary):CODE
370 more matches not shown…
Empty Error Handlers68 hits · 340 pts
SeverityFileLineSnippetContext
HIGHtests/library/gdb/tests/test_command_procinfo.py39except OSError:CODE
HIGHtests/library/gdb/tests/test_command_hijack_fd.py42except OSError:CODE
HIGHtests/library/gdb/tests/test_command_hijack_fd.py66except TimeoutError:CODE
HIGHtests/library/gdb/tests/test_command_hijack_fd.py68except OSError:CODE
HIGHtests/library/qemu_user/tests/test_aarch64.py919except pwndbg.dbg_mod.DebuggerError:CODE
HIGHtests/library/qemu_user/tests/test_aarch64.py937except pwndbg.dbg_mod.DebuggerError:CODE
HIGHtests/library/dbg/tests/test_command_procinfo.py42except OSError:CODE
HIGHpwndbginit/pwndbg_gdb.py65except ImportError:CODE
HIGHpwndbg/ui.py70except Exception:CODE
HIGHpwndbg/dintegration/__init__.py499except xmlrpc.client.Fault:CODE
HIGHpwndbg/dintegration/__init__.py502except ConnectionRefusedError:CODE
HIGHpwndbg/dintegration/__init__.py513except (ConnectionRefusedError, AttributeError):CODE
HIGHpwndbg/dintegration/__init__.py542except pwndbg.dbg_mod.NoInferior:CODE
HIGHpwndbg/dintegration/__init__.py671except Exception:CODE
HIGHpwndbg/dintegration/__init__.py677except Exception:CODE
HIGHpwndbg/color/syntax_highlight.py109except pygments.util.ClassNotFound:CODE
HIGHpwndbg/dbg_mod/gdb/__init__.py2032except gdb.error:CODE
HIGHpwndbg/dbg_mod/gdb/__init__.py2130except (IndexError, ValueError):CODE
HIGHpwndbg/dbg_mod/gdb/symbol.py104except gdb.error:CODE
HIGHpwndbg/dbg_mod/gdb/symbol.py119except gdb.error:CODE
HIGHpwndbg/dbg_mod/lldb/util.py22except UnicodeDecodeError:CODE
HIGHpwndbg/dbg_mod/lldb/__init__.py141except ValueError:CODE
HIGHpwndbg/dbg_mod/lldb/__init__.py1250except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/dbg_mod/lldb/repl/io.py321except ValueError:CODE
HIGHpwndbg/dbg_mod/lldb/repl/io.py553except OSError:CODE
HIGHpwndbg/dbg_mod/lldb/repl/io.py559except OSError:CODE
HIGHpwndbg/dbg_mod/lldb/repl/io.py575except OSError:CODE
HIGHpwndbg/dbg_mod/lldb/repl/__init__.py828except ValueError:CODE
HIGHpwndbg/gdblib/vmmap.py399except (ValueError, IndexError):CODE
HIGHpwndbg/lib/got.py67except Exception:CODE
HIGHpwndbg/lib/compiler/zig.py67except ImportError:CODE
HIGHpwndbg/commands/version.py232except FileNotFoundError:CODE
HIGHpwndbg/commands/__init__.py689except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/commands/__init__.py699except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/commands/killthreads.py62except gdb.error:CODE
HIGHpwndbg/commands/context.py1845except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/commands/context.py1267except Exception:CODE
HIGHpwndbg/commands/comments.py60except Exception:CODE
HIGHpwndbg/aglib/onegadget.py204except ValueError:CODE
HIGHpwndbg/aglib/memory.py89except Exception:CODE
HIGHpwndbg/aglib/memory.py354except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/memory.py158except ValueError:CODE
HIGHpwndbg/aglib/argv.py76except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/objc.py1091except StopIteration:CODE
HIGHpwndbg/aglib/elf.py273except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/qemu.py237except subprocess.CalledProcessError:CODE
HIGHpwndbg/aglib/qemu.py206except FileNotFoundError:CODE
HIGHpwndbg/aglib/qemu.py209except PermissionError:CODE
HIGHpwndbg/aglib/next.py190except Exception:CODE
HIGHpwndbg/aglib/disasm/assistant.py585except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/disasm/disassembly.py421except CsError:CODE
HIGHpwndbg/aglib/disasm/x86.py280except Exception:CODE
HIGHpwndbg/aglib/disasm/instruction.py676except CsError:CODE
HIGHpwndbg/aglib/heap/jemalloc.py420except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/heap/glibc.py750except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/heap/glibc.py762except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/heap/glibc.py774except pwndbg.dbg_mod.DebuggerError:CODE
HIGHpwndbg/aglib/heap/glibc.py1110except Exception:CODE
HIGHpwndbg/aglib/heap/glibc.py1786except SymbolNotRecoveredError:CODE
HIGHpwndbg/aglib/kernel/__init__.py250except Exception:CODE
8 more matches not shown…
Hallucination Indicators20 hits · 230 pts
SeverityFileLineSnippetContext
CRITICALpwndbg/dbg_mod/lldb/repl/fuzzy.py164 event.app.current_buffer.document.text_before_cursor.lstrip()CODE
CRITICAL⚡pwndbg/commands/knft.py11 val = pwndbg.aglib.kernel.nftables.nftables_table_family.get(s)CODE
CRITICAL⚡pwndbg/commands/knft.py13 allowed = ",".join(set(pwndbg.aglib.kernel.nftables.nftables_table_family.keys()))CODE
CRITICAL⚡pwndbg/commands/knft.py19 nft = pwndbg.aglib.kernel.nftables.Nftables.find(nsid=nsid)CODE
CRITICAL⚡pwndbg/commands/knft.py28 nft = pwndbg.aglib.kernel.nftables.Nftables.find(nsid=nsid)CODE
CRITICALpwndbg/commands/knft.py41 for nft in pwndbg.aglib.kernel.nftables.Table.find(CODE
CRITICALpwndbg/commands/knft.py59 for nft in pwndbg.aglib.kernel.nftables.Chain.find(CODE
CRITICALpwndbg/commands/knft.py77 for nft in pwndbg.aglib.kernel.nftables.Rule.find(CODE
CRITICALpwndbg/commands/knft.py95 for nft in pwndbg.aglib.kernel.nftables.Table.find(CODE
CRITICALpwndbg/commands/knft.py109 for nft in pwndbg.aglib.kernel.nftables.Table.find(CODE
CRITICALpwndbg/commands/knft.py123 for nft in pwndbg.aglib.kernel.nftables.Table.find(CODE
CRITICAL⚡pwndbg/commands/context.py1384 pwndbg.aglib.disasm.disassembly.global_fallback_computed_instruction_cache.clear()CODE
CRITICAL⚡pwndbg/commands/context.py1393 pwndbg.aglib.disasm.disassembly.global_fallback_computed_instruction_cache.pop(CODE
CRITICAL⚡pwndbg/commands/context.py1401 pwndbg.aglib.disasm.disassembly.global_fallback_computed_instruction_cache.pop(addr, None)CODE
CRITICALpwndbg/commands/context.py1303 printer = pwndbg.aglib.regs.current.pretty_printers.get(reg.lower())CODE
CRITICALpwndbg/commands/context.py1345 result.append(pwndbg.aglib.regs.kernel.segments.pretty_print(rc))CODE
CRITICALpwndbg/commands/context.py1420 cs = next(iter(pwndbg.aglib.disasm.disassembly.get_disassembler.cache.values()), None)CODE
CRITICALpwndbg/commands/context.py1429 pwndbg.aglib.disasm.disassembly.global_fallback_computed_instruction_cache.clear()CODE
CRITICALpwndbg/commands/dev.py55 pwndbg.aglib.disasm.disassembly.global_fallback_computed_instruction_cache.get(STRING
CRITICALpwndbg/aglib/regs_mod.py84 reg_definition = pwndbg.aglib.regs.current.reg_definitions.get(name.lower())CODE
Deep Nesting179 hits · 174 pts
SeverityFileLineSnippetContext
LOWnix/bundle/bundle.py13CODE
LOWnix/bundle/bundle.py417CODE
LOWtests/library/dbg/tests/test_try_free.py19CODE
LOWtests/library/dbg/tests/test_triggers.py17CODE
LOWscripts/custom-lint.py33CODE
LOWscripts/_docs/extract_command_docs.py74CODE
LOWscripts/_docs/extract_command_docs.py167CODE
LOWscripts/_docs/build_function_docs.py81CODE
LOWscripts/_docs/build_command_docs.py250CODE
LOWscripts/_docs/build_command_docs.py293CODE
LOWscripts/_docs/build_command_docs.py373CODE
LOWscripts/_docs/build_configuration_docs.py20CODE
LOWpwndbg/arguments.py32CODE
LOWpwndbg/arguments.py201CODE
LOWpwndbg/enhance.py44CODE
LOWpwndbg/hexdump.py68CODE
LOWpwndbg/emu/emulator.py395CODE
LOWpwndbg/emu/emulator.py510CODE
LOWpwndbg/emu/emulator.py661CODE
LOWpwndbg/color/disasm.py38CODE
LOWpwndbg/color/disasm.py80CODE
LOWpwndbg/color/memory.py85CODE
LOWpwndbg/color/syntax_highlight.py61CODE
LOWpwndbg/dbg_mod/gdb/__init__.py108CODE
LOWpwndbg/dbg_mod/gdb/__init__.py1082CODE
LOWpwndbg/dbg_mod/gdb/__init__.py1163CODE
LOWpwndbg/dbg_mod/gdb/__init__.py2106CODE
LOWpwndbg/dbg_mod/lldb/__init__.py176CODE
LOWpwndbg/dbg_mod/lldb/__init__.py1204CODE
LOWpwndbg/dbg_mod/lldb/__init__.py1291CODE
LOWpwndbg/dbg_mod/lldb/__init__.py1653CODE
LOWpwndbg/dbg_mod/lldb/__init__.py1704CODE
LOWpwndbg/dbg_mod/lldb/__init__.py1852CODE
LOWpwndbg/dbg_mod/lldb/pset.py39CODE
LOWpwndbg/dbg_mod/lldb/repl/fuzzy.py216CODE
LOWpwndbg/dbg_mod/lldb/repl/fuzzy.py248CODE
LOWpwndbg/dbg_mod/lldb/repl/proc.py412CODE
LOWpwndbg/dbg_mod/lldb/repl/proc.py571CODE
LOWpwndbg/dbg_mod/lldb/repl/proc.py662CODE
LOWpwndbg/dbg_mod/lldb/repl/io.py239CODE
LOWpwndbg/dbg_mod/lldb/repl/io.py264CODE
LOWpwndbg/dbg_mod/lldb/repl/io.py543CODE
LOWpwndbg/dbg_mod/lldb/repl/__init__.py306CODE
LOWpwndbg/dbg_mod/lldb/repl/__init__.py482CODE
LOWpwndbg/gdblib/glibc_malloc_tracking.py282CODE
LOWpwndbg/gdblib/got.py345CODE
LOWpwndbg/gdblib/got.py506CODE
LOWpwndbg/gdblib/vmmap.py128CODE
LOWpwndbg/gdblib/vmmap.py351CODE
LOWpwndbg/gdblib/tui/context.py173CODE
LOWpwndbg/lib/sock_diag.py55CODE
LOWpwndbg/lib/sock_diag.py154CODE
LOWpwndbg/lib/got.py21CODE
LOWpwndbg/lib/net.py86CODE
LOWpwndbg/lib/proc_fd.py124CODE
LOWpwndbg/lib/compiler/util.py60CODE
LOWpwndbg/commands/attachp.py84CODE
LOWpwndbg/commands/attachp.py138CODE
LOWpwndbg/commands/attachp.py225CODE
LOWpwndbg/commands/glibc_malloc_tracking.py73CODE
119 more matches not shown…
Excessive Try-Catch Wrapping98 hits · 98 pts
SeverityFileLineSnippetContext
LOWtests/library/gdb/tests/test_cymbol.py28 except Exception as exception:CODE
LOWtests/library/dbg/tests/test_hexdump.py159 except Exception as e:CODE
LOWtests/library/dbg/tests/test_hexdump.py170 except Exception as e:CODE
LOWtests/library/dbg/tests/test_hexdump.py179 except Exception as e:CODE
LOWpwndbginit/gdbinit.py65 except Exception:CODE
LOWpwndbg/ui.py70 except Exception:CODE
LOWpwndbg/arguments.py123 except Exception:CODE
LOWpwndbg/decorators.py59 except Exception as e:CODE
LOW⚡pwndbg/dintegration/__init__.py671 except Exception:CODE
LOW⚡pwndbg/dintegration/__init__.py677 except Exception:CODE
MEDIUMpwndbg/dbg_mod/gdb/__init__.py268def parent(self) -> pwndbg.dbg_mod.Frame | None:CODE
LOWpwndbg/dbg_mod/gdb/__init__.py1515 except Exception:CODE
MEDIUMpwndbg/dbg_mod/lldb/__init__.py575def code(self) -> pwndbg.dbg_mod.TypeCode:CODE
LOWpwndbg/dbg_mod/lldb/__init__.py114 except Exception:CODE
LOWpwndbg/dbg_mod/lldb/__init__.py578 except Exception:CODE
LOWpwndbg/dbg_mod/lldb/__init__.py2541 except Exception as e:CODE
LOWpwndbg/dbg_mod/lldb/repl/__init__.py775 except Exception:CODE
LOWpwndbg/gdblib/events.py366 except Exception as e:STRING
MEDIUMpwndbg/gdblib/events.py100def _is_safe_event_packet():CODE
LOWpwndbg/gdblib/vmmap.py309 except Exception:CODE
LOWpwndbg/lib/got.py67 except Exception:CODE
LOWpwndbg/lib/funcparser.py103 except Exception:CODE
LOWpwndbg/lib/compiler/facade.py321 except Exception as exception:CODE
LOWpwndbg/lib/compiler/gcc.py83 except Exception:CODE
LOWpwndbg/lib/compiler/zig.py90 except Exception as e:CODE
LOW⚡pwndbg/commands/version.py197 except Exception:CODE
LOW⚡pwndbg/commands/version.py202 except Exception:CODE
LOWpwndbg/commands/glibc_malloc.py397 except Exception as E:CODE
LOWpwndbg/commands/glibc_malloc.py1468 except Exception:CODE
LOWpwndbg/commands/kmem_trace.py324 except Exception as e:STRING
LOWpwndbg/commands/p2p.py34 except Exception:CODE
LOWpwndbg/commands/p2p.py69 except Exception:CODE
LOWpwndbg/commands/rizin.py61 except Exception:STRING
LOWpwndbg/commands/ropper.py55 except Exception:STRING
LOWpwndbg/commands/ai.py178 except Exception as e:CODE
LOWpwndbg/commands/ai.py501 except Exception as e:CODE
MEDIUMpwndbg/commands/msr.py154 print(f"Error: failed to parse {msr}")STRING
MEDIUMpwndbg/commands/msr.py166 print("Error: invalid range")STRING
LOWpwndbg/commands/aslr.py31 except Exception:CODE
LOWpwndbg/commands/aslr.py40 except Exception:CODE
LOWpwndbg/commands/__init__.py578 except Exception:CODE
LOWpwndbg/commands/cymbol.py62 except Exception:CODE
LOWpwndbg/commands/context.py1267 except Exception:CODE
LOWpwndbg/commands/objc.py190 except Exception as e:STRING
LOWpwndbg/commands/objc.py200 except Exception as e:STRING
LOWpwndbg/commands/objc.py211 except Exception as e:STRING
LOW⚡pwndbg/commands/objc.py222 except Exception as e:STRING
LOW⚡pwndbg/commands/objc.py228 except Exception as e:STRING
LOWpwndbg/commands/objc.py247 except Exception as e:STRING
LOWpwndbg/commands/objc.py253 except Exception as e:STRING
LOW⚡pwndbg/commands/objc.py277 except Exception as e:STRING
LOW⚡pwndbg/commands/objc.py287 except Exception as e:STRING
LOW⚡pwndbg/commands/objc.py297 except Exception as e:STRING
LOWpwndbg/commands/objc.py332 except Exception as e:STRING
LOWpwndbg/commands/search.py300 except Exception:STRING
MEDIUMpwndbg/commands/nearpc.py141 print(f"Error: function boundaries of '{hex(function)}' could not be found")CODE
MEDIUMpwndbg/commands/nearpc.py146 print(f"Error: function boundaries of '{hex(function)}' could not be found")CODE
LOWpwndbg/commands/hex2ptr.py25 except Exception as e:CODE
LOWpwndbg/commands/slab.py417 except Exception as e:CODE
LOWpwndbg/commands/slab.py430 except Exception as e:CODE
38 more matches not shown…
Redundant / Tautological Comments57 hits · 79 pts
SeverityFileLineSnippetContext
LOWgdbinit.py67 # Check if pwndbg was already loadedCOMMENT
LOWkernel-tests.sh7# Check if we have correct ptrace_scopeCOMMENT
LOWkernel-tests.sh14# Check if we need to download kernel imagesCOMMENT
LOWsetup-dev.sh182 # Check if jemalloc is already installed and has support for static linking (the arch package doesn't)COMMENT
LOWsetup-dev.sh197 # Check if jemalloc tarball already exists and has the correct checksumCOMMENT
LOWsetup-dev.sh225 # Check if jemalloc source code has already been extractedCOMMENT
LOWtests/library/gdb/tests/test_cymbol.py115 # Check if the structure types match what we expect (on x86-64)STRING
LOWtests/library/gdb/tests/test_command_onegadget.py84 # Check if rsi is a valid argvSTRING
LOWtests/library/gdb/tests/test_command_onegadget.py90 # Check if rdx is a valid envpSTRING
LOWtests/library/gdb/tests/test_command_onegadget.py107 # Check if rcx is readable, (u64)(xmm0 >> 64) is NULLSTRING
LOWtests/library/gdb/tests/test_command_onegadget.py114 # Check if rcx is readable, (u64)(xmm0 >> 64) is readable, [rsp+0x70] is readableSTRING
LOWtests/library/gdb/tests/test_command_onegadget.py128 # Check if (s32)[rdx+0x4] <= 0STRING
LOWtests/library/gdb/tests/test_glibc.py23 # Check if we can find the libc if nothing special happensCOMMENT
LOWtests/library/gdb/tests/test_glibc.py50 # Check if we can find the libc loaded by LD_PRELOADCOMMENT
LOW⚡tests/library/gdb/tests/test_mprotect.py21 # Check if we can use mprotect with address provided as valueCOMMENT
LOW⚡tests/library/gdb/tests/test_mprotect.py27 # Check if we can use mprotect with address provided as registerCOMMENT
LOWtests/library/dbg/tests/test_context_commands.py585 # Check if cwatch expressions are also stored in the historyCOMMENT
LOWtests/library/dbg/tests/test_mprotect.py22 # Check if we can use mprotect with address provided as valueCOMMENT
LOWtests/library/dbg/tests/test_mprotect.py28 # Check if we can use mprotect with address provided as registerCOMMENT
LOWtests/library/dbg/tests/test_windbg.py332 # Check if the write actually occurredCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py446 # Check if we can get the address of `main_arena` from debug symbols and the struct of `main_arena` is correctCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py460 # Check if we can get the address of `main_arena` by parsing the .data section of the ELF of libcCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py484 # Check if we can get the address of `mp_` from debug symbols and the struct of `mp_` is correctCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py496 # Check if we can get the address of `mp_` by parsing the .data section of the ELF of libcCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py540 # Check if we can get the address of `thread_cache` from debug symbols and the struct of `thread_cache` is correctCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py553 # Check if we can get the address of `tcache`COMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py597 # Check if we can get the address of `thread_arena` from debug symbols and the value of `thread_arena` is correctCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py605 # Check if we can use brute-force to find the `thread_arena` when multi-threaded, and if we can use the `main_arena`COMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py642 # Check if we can get the address of `global_max_fast` from debug symbols and the value of `global_max_fast` is corrCOMMENT
LOWtests/library/dbg/tests/test_glibc_heap.py650 # Check if we can return the default value even if we can NOT find the address of `global_max_fast`COMMENT
LOWtests/library/dbg/tests/test_vis_heap_chunks.py312 # Set back to off for any remaining testsCOMMENT
LOWtests/library/dbg/tests/test_cache.py37 # Check if cache is properly cleared on a stop eventCOMMENT
LOWtests/library/dbg/tests/test_cache.py75 # Check if cache is properly cleared on a stop eventCOMMENT
LOWdocs/install.sh144# Check if running inside TTYCOMMENT
LOWdocs/install.sh146 # Check if TYPE is emptyCOMMENT
LOWscripts/_docs/extract_command_docs.py184 # Check if alias.COMMENT
LOWscripts/_docs/build_configuration_docs.py104 # Check if the index is up to date whileCOMMENT
LOWpwndbginit/common.py30 # Check if the package was installed using: `uv tool install --editable .[lldb,gdb]`COMMENT
LOWpwndbg/libc/musl.py95 # Check if the string "/tmp/tmpnam_XXXX" is in the .rodata of the binary.COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py1358 # Check if the program stopped because of the step we just took. If itCOMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py1369 # Check if the program stopped because of the breakpoint we were given,COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py1386 # Check if the program stopped because of the breakpoint we were given,COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py1888 # Check if the user has ubuntu in their debuginfod urls, and warn them aboutSTRING
LOWpwndbg/gdblib/glibc_malloc_tracking.py367 # Check if the chunk is free.COMMENT
LOWpwndbg/gdblib/vmmap.py386 # Check if this line starts with an address range (e.g., "7f0bd1c25000-7f0bd1c27000")COMMENT
LOWpwndbg/lib/cache.py197 # Check if the value is in the cache; if we have a cache miss,COMMENT
LOWpwndbg/lib/compiler/facade.py245 # Check if we have relocations, if yes this is a bug in pwndbg (or assembler)COMMENT
LOWpwndbg/lib/compiler/gcc.py161 # Check if the cpu and OS ABI are correctCOMMENT
LOWpwndbg/commands/plist.py276 # Check if the field is a pointer type, or an integer type with pointer sizeSTRING
LOWpwndbg/commands/__init__.py692 # Check if this is a quoted symbol.COMMENT
LOWpwndbg/commands/context.py1302 # Check if we have a registered pretty printerCOMMENT
LOWpwndbg/commands/context.py1508 # Check if source code is availableCOMMENT
LOWpwndbg/commands/hexdump.py138 # Check if the limit is enabled (non-zero) and if the request count exceeds itCOMMENT
LOWpwndbg/aglib/heap/mallocng.py1347 # Check if our address is inside one ofCOMMENT
LOWpwndbg/aglib/heap/glibc.py1122 # Check if thread_arena is needed and available, but if the binary is not multithreaded, then we don't careCOMMENT
LOWpwndbg/aglib/heap/glibc.py1233 # Check if we can construct the default main_arena struct we expectCOMMENT
LOWpwndbg/aglib/heap/glibc.py1906 # Check if the bin points to itself (is empty)COMMENT
Over-Commented Block64 hits · 64 pts
SeverityFileLineSnippetContext
LOWmkdocs.yml21 text: RobotoCOMMENT
LOWmkdocs.yml41 - navigation.sectionsCOMMENT
LOWpyproject.toml21 # Optional? only for 'ipi' commandCOMMENT
LOWnix/bundle/bundle.py221 # not the symlink's location.COMMENT
LOWnix/bundle/bundle.py261 # Executables shipped inside the venv, e.g.COMMENT
LOWtests/library/gdb/tests/test_command_vmmap.py161 # just a difference between GDB versionsCOMMENT
LOWtests/library/dbg/tests/test_triggers.py61COMMENT
LOWtests/library/qemu_system/tests/test_commands_kernel.py201COMMENT
LOWtests/binaries/host/heap_bins.native.c1#include <stdio.h>COMMENT
LOWtests/binaries/host/reference-binary-pipe-fork.native.c1// Creates two anonymous pipes split across a fork so that procinfo has bothCOMMENT
LOWtests/binaries/host/pku.x86-64.c1/* This program is meant to SEGFAULT on memcpy()COMMENT
LOWtests/binaries/host/heap_musl.native.c1#include <stdlib.h>COMMENT
LOWtests/binaries/host/crash_simple.native.c1COMMENT
LOWtests/binaries/host/crash_simple.native.c21 __asm__(".long 0x00000000");COMMENT
LOWdocs/contributing/stacked-pr.md21COMMENT
LOWscripts/common.sh41 # Ideally we would run this with `--python 3.10.12` (which is from ubuntu 22:04, which isCOMMENT
LOWpwndbg/arguments.py81 name = name.strip().lstrip("_") # _mallocCOMMENT
LOWpwndbg/emu/emulator.py821 return self.uc.emu_stop(*a, **kw)COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py641 #COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py661 #COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py821 # Example: 2-byte read at 0xFFFF_FFFF in a 32-bit address space.COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py1421COMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py1981 breakCOMMENT
LOWpwndbg/dbg_mod/gdb/symbol.py41 #COMMENT
LOWpwndbg/dbg_mod/gdb/symbol.py141COMMENT
LOWpwndbg/dbg_mod/lldb/__init__.py341 # just doesn't?COMMENT
LOWpwndbg/dbg_mod/lldb/__init__.py1441 # a remote platform is distinct from a remote process, and retrievingCOMMENT
LOWpwndbg/dbg_mod/lldb/__init__.py1541 Attemps to resolve the address of a symbol stored in TLS.COMMENT
LOWpwndbg/dbg_mod/lldb/__init__.py1701COMMENT
LOWpwndbg/dbg_mod/lldb/__init__.py1721 # Local Variables:COMMENT
LOWpwndbg/dbg_mod/lldb/__init__.py1881COMMENT
LOWpwndbg/dbg_mod/lldb/pset.py61 except ValueError:COMMENT
LOWpwndbg/dbg_mod/lldb/repl/proc.py601 if s == lldb.eReturnStatusQuit:COMMENT
LOWpwndbg/dbg_mod/lldb/repl/io.py341 os.set_blocking(sys.stdin.fileno(), False)COMMENT
LOWpwndbg/dbg_mod/lldb/repl/__init__.py521 # `script` is a little weird. Unlike with the other commands we'reCOMMENT
LOWpwndbg/dbg_mod/lldb/repl/__init__.py541 # user breaking Pwndbg by mistake, but it breaks bothCOMMENT
LOWpwndbg/dbg_mod/lldb/repl/__init__.py621 # their request.COMMENT
LOWpwndbg/dbg_mod/lldb/repl/__init__.py721 if (COMMENT
LOWpwndbg/gdblib/glibc_malloc_tracking.py121 # If that fails, try to query for it by using the less precise pwndbg API.COMMENT
LOWpwndbg/gdblib/vmmap.py281def parse_tid_maps_line(line: str) -> pwndbg.lib.memory.Page:COMMENT
LOWpwndbg/gdblib/vmmap.py361 # Shared_Dirty: 0 kBCOMMENT
LOWpwndbg/lib/functions.py61 value = value & ~flag.valueCOMMENT
LOWpwndbg/lib/pretty_print.py281COMMENT
LOWpwndbg/lib/elftypes.py1#COMMENT
LOWpwndbg/lib/regs.py1061)COMMENT
LOWpwndbg/lib/regs.py1121 Reg("i4"),COMMENT
LOWpwndbg/lib/regs.py1181# x2 => sp (Stack pointer)COMMENT
LOWpwndbg/lib/regs.py1281 "a7",COMMENT
LOWpwndbg/lib/compiler/gcc.py21COMMENT
LOWpwndbg/commands/attachp.py241 try:COMMENT
LOWpwndbg/commands/stackvis.py101 low_addr = frame.sp()COMMENT
LOWpwndbg/commands/exithandlers.py41 @staticmethodCOMMENT
LOWpwndbg/commands/context.py141 leftover_lines = rows - cmd_linesCOMMENT
LOWpwndbg/commands/mmap.py121"""COMMENT
LOWpwndbg/aglib/errno.py21COMMENT
LOWpwndbg/aglib/auxv.py201 # 4) Keep scanning back until we find something that isn't in theCOMMENT
LOWpwndbg/aglib/regs_mod.py321 # TODO: Uncomment this once the LLDB command port PR for `context` is mergedCOMMENT
LOWpwndbg/aglib/objc.py1101COMMENT
LOWpwndbg/aglib/nearpc.py521 if not pwndbg.aglib.memory.peek(pc):COMMENT
LOWpwndbg/aglib/disasm/assistant.py741 next_addr: int | None = NoneCOMMENT
4 more matches not shown…
Self-Referential Comments20 hits · 54 pts
SeverityFileLineSnippetContext
MEDIUMsetup.sh200# Create the python virtual environmentCOMMENT
MEDIUMsetup-dev.sh255 # Create a developer marker fileCOMMENT
MEDIUMtests/library/gdb/tests/test_cymbol.py84 # Define the content of the header fileSTRING
MEDIUMtests/library/gdb/tests/test_cymbol.py105 # Create a temporary header fileSTRING
MEDIUMtests/library/gdb/tests/test_command_hijack_fd.py78 # Create a temporary file for testingCOMMENT
MEDIUMtests/library/gdb/tests/test_command_hijack_fd.py284 # Create a temporary file for testingCOMMENT
MEDIUMdocs/install.sh257# Create a temporary directory for downloading the fileCOMMENT
MEDIUMpwndbginit/pwndbglldbhandler.py1# This file is used just to handle lldb-commands, it must be emptyCOMMENT
MEDIUMpwndbg/dintegration/__init__.py492 # Create a decompiler server connection and test itCOMMENT
MEDIUMpwndbg/emu/emulator.py61 # Create a map of "register_name" -> Capstone ID, for faster lookupCOMMENT
MEDIUMpwndbg/dbg_mod/lldb/__init__.py1978 # Create the stop point handle.COMMENT
MEDIUMpwndbg/dbg_mod/lldb/repl/__init__.py868 # Create the target.COMMENT
MEDIUMpwndbg/dbg_mod/lldb/repl/__init__.py1001 # Create a no-target SBTarget that will hold our core file.COMMENT
MEDIUMpwndbg/dbg_mod/lldb/repl/__init__.py1043 # Create the target with the debugger.COMMENT
MEDIUMpwndbg/gdblib/config.py171 # Create a gdb.Parameter for each parameterCOMMENT
MEDIUMpwndbg/commands/got.py120 # The following code is inspired by the "got" command of https://github.com/bata24/gef/blob/dev/gef.py by @bata24, tSTRING
MEDIUMpwndbg/commands/hex2ptr.py10# Define an argument parser for the commandCOMMENT
MEDIUMpwndbg/aglib/dynamic.py360 # Create the CStructs for the entries in each of our relocation sectionsCOMMENT
MEDIUMpwndbg/aglib/disasm/x86.py105# This class handles enhancement for x86 and x86_64. This is because Capstone itselfCOMMENT
MEDIUMpwndbg/aglib/disasm/instruction.py301# This class is used to provide context to an instructions execution, used bothCOMMENT
Modern Structural Boilerplate42 hits · 41 pts
SeverityFileLineSnippetContext
LOWpwndbginit/common.py61def update_deps(src_root: Path) -> None:CODE
LOWpwndbginit/common.py147def set_debuginfod_timeouts() -> None:CODE
LOWpwndbg/exception.py114def set_trace() -> None:CODE
LOWpwndbg/libc/__init__.py20__all__ = [CODE
LOWpwndbg/libc/glibc.py34def set_glibc_version() -> None:CODE
LOWpwndbg/emu/emulator.py637 def update_pc(self, pc=None) -> None:CODE
LOWpwndbg/dbg_mod/__init__.py108 def set_enabled(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/__init__.py1447 def set_python_diagnostics(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/__init__.py1453 def set_convenience_var(self, name: str, value: str, type: str | None) -> None:CODE
LOWpwndbg/dbg_mod/gdb/hooks.py49def update_typeinfo() -> None:CODE
LOWpwndbg/dbg_mod/gdb/hooks.py72def update_arch_and_typeinfo() -> None:CODE
LOWpwndbg/dbg_mod/gdb/__init__.py579 def set_enabled(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/gdb/__init__.py2186 def set_python_diagnostics(self, enabled: bool) -> None:STRING
LOWpwndbg/dbg_mod/gdb/__init__.py2195 def set_convenience_var(self, name: str, value: str, type: str | None) -> None:STRING
LOW⚡pwndbg/dbg_mod/gdb/debug_sym.py26def _set_debug_file_directory(d: str) -> None:CODE
LOWpwndbg/dbg_mod/lldb/hooks.py25def update_arch_and_typeinfo() -> None:CODE
LOWpwndbg/dbg_mod/lldb/hooks.py38def update_ctypes() -> None:CODE
LOWpwndbg/dbg_mod/lldb/__init__.py892 def set_enabled(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/lldb/__init__.py2610 def set_python_diagnostics(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/lldb/__init__.py2614 def set_convenience_var(self, name: str, value: str, type: str | None) -> None:CODE
LOWpwndbg/dbg_mod/lldb/repl/io.py92 def _setattrbits(self, attri: int, mask: int, value: int) -> None:CODE
LOWpwndbg/dbg_mod/lldb/repl/io.py112 def set_line_buffering(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/lldb/repl/io.py128 def set_echo(self, enabled: bool) -> None:CODE
LOWpwndbg/dbg_mod/lldb/repl/__init__.py173 def _set_ignore_resumed(self, count: int) -> None:CODE
LOWpwndbg/gdblib/got.py345def _update_watchpoints() -> None:CODE
LOWpwndbg/gdblib/prompt.py108def set_prompt() -> None:CODE
LOWpwndbg/lib/__init__.py15__all__ = [CODE
LOWpwndbg/lib/compiler/__init__.py21__all__ = [CODE
LOWpwndbg/commands/ai.py94def set_dummy_mode(d=True) -> None:CODE
LOWpwndbg/aglib/memory.py382def update_min_addr() -> None:CODE
LOWpwndbg/aglib/regs_mod.py318def update_last() -> None:CODE
LOWpwndbg/aglib/argv.py41def update_state() -> None:CODE
LOWpwndbg/aglib/disasm/assistant.py329 def _set_annotation_string(self, instruction: PwndbgInstruction, emu: Emulator | None) -> None:CODE
LOWpwndbg/aglib/disasm/riscv.py162 def _set_annotation_string(self, instruction: PwndbgInstruction, emu: Emulator | None) -> None:CODE
LOWpwndbg/aglib/disasm/arm.py209 def _set_annotation_string(self, instruction: PwndbgInstruction, emu: Emulator | None) -> None:CODE
LOWpwndbg/aglib/disasm/aarch64.py271 def _set_annotation_string(self, instruction: PwndbgInstruction, emu: Emulator | None) -> None:CODE
LOWpwndbg/aglib/disasm/mips.py198 def _set_annotation_string(self, instruction: PwndbgInstruction, emu: Emulator | None) -> None:CODE
LOWpwndbg/aglib/disasm/x86.py143 def _set_annotation_string(self, instruction: PwndbgInstruction, emu: Emulator | None) -> None:CODE
LOWpwndbg/aglib/heap/mallocng.py126 def set_meta(self, meta: Meta) -> None:CODE
LOWpwndbg/aglib/heap/mallocng.py533 def set_group(self, group: Group) -> None:CODE
LOWpwndbg/aglib/heap/mallocng.py1154 def set_ctx_addr(self) -> None:CODE
LOWpwndbg/aglib/kernel/kconfig_mod.py223 def update_with_file(self, file_path) -> None:CODE
Cross-Language Confusion4 hits · 25 pts
SeverityFileLineSnippetContext
HIGH⚡tests/library/gdb/tests/test_command_onegadget.py21 rbx+0xe0 == NULL || writable: rbx+0xe0CODE
HIGH⚡tests/library/gdb/tests/test_command_onegadget.py28 [rsi] == NULL || rsi == NULL || rsi is a valid argvCODE
HIGH⚡tests/library/gdb/tests/test_command_onegadget.py29 [rdx] == NULL || rdx == NULL || rdx is a valid envpCODE
HIGHpwndbg/chain.py127 hard_end: Value to append when hard_stop is reached: null, value of hard stop, a string.STRING
AI Slop Vocabulary11 hits · 20 pts
SeverityFileLineSnippetContext
MEDIUMtests/library/dbg/tests/test_command_procinfo.py146 # harness can produce >2 lines; require at least one read/write pairCOMMENT
LOWscripts/_docs/gen_docs_generic.py54 # Simple case, just create the file and write it.COMMENT
LOWscripts/_docs/build_command_docs.py259 # Simple case, just create the file and write it.COMMENT
MEDIUMpwndbg/dbg_mod/__init__.py664 # This is a fairly lazy solution. We would ideally support a more robust wayCOMMENT
LOWpwndbg/dbg_mod/gdb/__init__.py163 # GDB throws a ValueError exception if the name is unknown, we just returnCOMMENT
LOWpwndbg/dbg_mod/lldb/repl/fuzzy.py136 # just create an empty fileCOMMENT
LOWpwndbg/gdblib/vmmap.py113 # Now, if the section is already in pages, just add its permsCOMMENT
LOWpwndbg/lib/got.py68 # If we can't get version info, just use the base nameCOMMENT
LOWpwndbg/commands/context.py400 # If the history is disabled, just return the current outputCOMMENT
LOWpwndbg/aglib/godbg.py413 # we're probably not actually reading a varint str and should just return some bytes to avoid infinite loopiCOMMENT
LOWpwndbg/aglib/heap/mallocng.py1406 # If we are already in some slot, just returnCOMMENT
Dead Code8 hits · 16 pts
SeverityFileLineSnippetContext
MEDIUMpwndbg/aglib/dynamic.py118CODE
MEDIUMpwndbg/aglib/dynamic.py119CODE
MEDIUMpwndbg/aglib/dynamic.py122CODE
MEDIUMpwndbg/aglib/dynamic.py123CODE
MEDIUMpwndbg/aglib/dynamic.py127CODE
MEDIUMpwndbg/aglib/dynamic.py128CODE
MEDIUMpwndbg/aglib/dynamic.py130CODE
MEDIUMpwndbg/aglib/dynamic.py136CODE
Decorative Section Separators5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml297# ===========================COMMENT
MEDIUMdocs/contributing/stacked-pr.md27# =================================COMMENT
MEDIUMdocs/contributing/stacked-pr.md35# =================================COMMENT
MEDIUMpwndbg/dintegration/__init__.py285 # ================COMMENT
MEDIUMpwndbg/dintegration/__init__.py439 # ================COMMENT
AI Structural Patterns15 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/library/gdb/tests/utils.py62CODE
LOWpwndbg/chain.py106CODE
LOWpwndbg/dbg_mod/gdb/__init__.py545CODE
LOWpwndbg/gdblib/shellcode.py33CODE
LOWpwndbg/lib/regs.py245CODE
LOWpwndbg/commands/vmmap.py216CODE
LOWpwndbg/commands/mallocng.py461CODE
LOWpwndbg/commands/mallocng.py514CODE
LOWpwndbg/commands/mallocng.py748CODE
LOWpwndbg/commands/nearpc.py82CODE
LOWpwndbg/commands/slab.py85CODE
LOWpwndbg/aglib/search.py14CODE
LOWpwndbg/aglib/nearpc.py476CODE
LOWpwndbg/aglib/disasm/disassembly.py427CODE
LOWpwndbg/aglib/disasm/disassembly.py678CODE
Docstring Block Structure2 hits · 10 pts
SeverityFileLineSnippetContext
HIGHpwndbg/dbg_mod/__init__.py206 Looks up and returns the address of a symbol in current frame by its name. Parameters: - name STRING
HIGHpwndbg/dbg_mod/__init__.py579 Looks up and returns the address of a symbol by its name. Parameters: - name (str): The name oSTRING
Slop Phrases4 hits · 4 pts
SeverityFileLineSnippetContext
LOWpwndbg/exception.py60 "(Please don't forget to search if it hasn't been reported before)\n"CODE
LOWpwndbg/lib/config.py52 # If you want to add another scope here, don't forget to addCOMMENT
LOWpwndbg/lib/config.py52 # If you want to add another scope here, don't forget to addCOMMENT
LOWpwndbg/commands/decompiler_integration.py211 f"{message.notice('installation path gets changed')}, don't forget to {message.notice('reinstall')}!"STRING
TODO Padding3 hits · 4 pts
SeverityFileLineSnippetContext
LOWpwndbg/aglib/kernel/nftables.py258 # TODO: implement: counters # NFTA_CHAIN_COUNTERS chain->basechain->stats (struct nft_stats __percpu *stats;)COMMENT
LOWpwndbg/aglib/kernel/nftables.py399 # TODO: implement nft_get_set_elemCOMMENT
LOWpwndbg/aglib/kernel/nftables.py460 # TODO: implement nft_object_dumpCOMMENT
Overly Generic Function Names2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtests/library/qemu_user/tests/test_basic.py20def helper(qemu_start_binary, filename: str, arch: str):CODE
LOWpwndbg/aglib/kernel/ktask.py144 def helper(task: int, off: int, pgd: int) -> int | None:STRING
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpwndbg/aglib/heap/mallocng.py550 # We need to check if we are cyclic or not.COMMENT
Structural Annotation Overuse1 hit · 0 pts
SeverityFileLineSnippetContext
LOWpwndbg/aglib/auxv.py187 # NOTE: This function is intended to work only with real binaries, not those emulated under qemu-user.STRING