CTF framework and exploit development library
This report summarizes scanner evidence for Gallopsled/pwntools, a Python project with 13,751 GitHub stars. SynthScan examined 157,112 lines of code across 417 source files, recording 4009 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 23.0 (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.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 3452 finding(s).
Are imports declared and package/API names verified? 318 finding(s).
Are wrappers, guards, and repeated structures necessary? 282 finding(s).
Which changes need focused human review? 4009 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 4009 distinct pattern matches across 17 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 | pwnlib/regsort.py | 321 | COMMENT | |
| LOW | pwnlib/regsort.py | 341 | # - Y = Z | COMMENT |
| LOW | pwnlib/log.py | 681 | iso_8601 = '%Y-%m-%dT%H:%M:%S' | COMMENT |
| LOW | pwnlib/libcdb.py | 1081 | # RedHat, Fedora, Ubuntu, Debian, etc. over the past several years, | COMMENT |
| LOW | pwnlib/libcdb.py | 1101 | # $ check_arch "ARM, EABI5" | COMMENT |
| LOW | pwnlib/context/__init__.py | 1761 | self.bits = value | COMMENT |
| LOW | pwnlib/shellcraft/registers.py | 301 | # 'arm': arm, | COMMENT |
| LOW | pwnlib/rop/rop.py | 1481 | # - pop reg | COMMENT |
| LOW | pwnlib/rop/rop.py | 1561 | arg = int(add.match(insn).group(1), 16) | COMMENT |
| LOW | pwnlib/rop/gadgets.py | 1 | class Gadget: | COMMENT |
| LOW | pwnlib/rop/gadgets.py | 21 | #: | COMMENT |
| LOW | pwnlib/encoders/i386/xor.py | 1 | # Source: | COMMENT |
| LOW | pwnlib/encoders/mips/xor.py | 1 | # Source: | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 1 | #define STDIN_FILENO 0 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 21 | #define EDEADLK 11 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 41 | #define EMLINK 31 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 61 | #define EADDRNOTAVAIL 49 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 81 | #define EDQUOT 69 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 101 | #define EBADMSG 89 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 121 | #define O_NOFOLLOW 0x0100 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 141 | #define AT_SYMLINK_FOLLOW 0x400 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 161 | #define F_DUP2FD_CLOEXEC 18 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 181 | #define PROT_NONE 0x00 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 201 | #define MCL_CURRENT 0x0001 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 221 | #define MADV_PROTECT 10 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 241 | #define SIGKILL 9 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 261 | #define SIGINFO 29 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 281 | #define BUS_ADRALN 1 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 301 | #define CLD_STOPPED 5 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 321 | #define SI_ASYNCIO 0x10004 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 341 | #define SOCK_SEQPACKET 5 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 361 | #define SO_RCVLOWAT 0x1004 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 381 | #define AF_PUP 4 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 401 | #define AF_IPX 23 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 421 | #define AF_VENDOR03 45 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 441 | #define AF_VENDOR23 85 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 461 | #define AF_VENDOR43 125 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 481 | #define PF_DECnet 12 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 501 | #define PF_SLOW 33 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 521 | #define MSG_NOTIFICATION 0x2000 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 541 | #define S_ISUID 0x800 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 561 | #define S_IFCHR 0x2000 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 581 | #define SF_IMMUTABLE 0x00020000 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 601 | #define SYS_freebsd4_getfsstat 18 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 621 | #define SYS_dup 41 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 641 | #define SYS_sbrk 69 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 661 | #define SYS_socket 97 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 681 | #define SYS_shutdown 134 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 701 | #define SYS_msgsys 170 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 721 | #define SYS_freebsd6_truncate 200 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 741 | #define SYS_clock_gettime 232 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 761 | #define SYS_netbsd_lchown 275 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 781 | #define SYS_kldfirstmod 309 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 801 | #define SYS_sched_get_priority_max 332 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 821 | #define SYS___acl_delete_fd 352 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 841 | #define SYS___mac_set_proc 385 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 861 | #define SYS_ksem_unlink 406 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 881 | #define SYS_sigwait 429 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 901 | #define SYS_setaudit 450 | COMMENT |
| LOW | pwnlib/data/includes/freebsd.h | 921 | #define SYS_sctp_generic_recvmsg 474 | COMMENT |
| 3175 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pwnlib/libcdb.py | 755 | except Exception: | CODE |
| HIGH | pwnlib/windbg.py | 247 | except FileNotFoundError: | CODE |
| HIGH | pwnlib/windbg.py | 356 | except OSError: | CODE |
| HIGH | pwnlib/windbg.py | 163 | except Exception: | CODE |
| HIGH | pwnlib/atexit.py | 89 | except SystemExit: | CODE |
| HIGH | pwnlib/gdb_api_bridge.py | 70 | except EOFError: | CODE |
| HIGH | pwnlib/asm.py | 96 | except OSError: | CODE |
| HIGH | pwnlib/asm.py | 98 | except subprocess.CalledProcessError: | CODE |
| HIGH | pwnlib/gdb.py | 737 | except EOFError: | CODE |
| HIGH | pwnlib/gdb.py | 1575 | except psutil.Error: | CODE |
| HIGH | pwnlib/atexception.py | 99 | except SystemExit: | CODE |
| HIGH | pwnlib/context/__init__.py | 1004 | except ValueError: pass | CODE |
| HIGH | pwnlib/context/__init__.py | 1008 | except AttributeError: pass | CODE |
| HIGH | pwnlib/context/__init__.py | 1237 | except KeyError: pass | CODE |
| HIGH | pwnlib/context/__init__.py | 1443 | except KeyError: | CODE |
| HIGH | pwnlib/util/misc.py | 572 | except OSError: | CODE |
| HIGH | pwnlib/util/iters.py | 559 | except exception: | CODE |
| HIGH | pwnlib/util/proc.py | 92 | except Exception: | CODE |
| HIGH | pwnlib/util/proc.py | 421 | except psutil.TimeoutExpired: | CODE |
| HIGH | pwnlib/util/packing.py | 1339 | except UnicodeDecodeError: | CODE |
| HIGH | pwnlib/constants/__init__.py | 108 | except ImportError: | CODE |
| HIGH | pwnlib/term/unix_termcap.py | 50 | except NameError: | CODE |
| HIGH | pwnlib/shellcraft/__init__.py | 85 | except AttributeError: | CODE |
| HIGH | pwnlib/commandline/libcdb.py | 215 | except StopIteration: | CODE |
| HIGH | pwnlib/commandline/phd.py | 105 | except (KeyboardInterrupt, IOError): | CODE |
| HIGH | pwnlib/commandline/shellcraft.py | 321 | except OSError: pass | CODE |
| HIGH | pwnlib/commandline/shellcraft.py | 284 | except ValueError: | CODE |
| HIGH | pwnlib/commandline/asm.py | 127 | except OSError: pass | CODE |
| HIGH | pwnlib/commandline/common.py | 15 | except Exception: pass | CODE |
| HIGH | pwnlib/commandline/common.py | 17 | except Exception: pass | CODE |
| HIGH | pwnlib/commandline/common.py | 21 | except Exception: pass | CODE |
| HIGH | pwnlib/commandline/template.py | 231 | except OSError: pass | CODE |
| HIGH | pwnlib/commandline/cyclic.py | 68 | except ValueError: | CODE |
| HIGH | pwnlib/adb/adb.py | 1286 | except (OSError, OverflowError, ValueError): | CODE |
| HIGH | pwnlib/adb/adb.py | 324 | except (OSError, EOFError, PwnlibException): | CODE |
| HIGH | pwnlib/adb/adb.py | 424 | except Exception: | CODE |
| HIGH | pwnlib/tubes/remote.py | 131 | except socket.error: | CODE |
| HIGH | pwnlib/tubes/tube.py | 827 | except EOFError: | CODE |
| HIGH | pwnlib/tubes/tube.py | 1059 | except KeyboardInterrupt: | CODE |
| HIGH | pwnlib/tubes/tube.py | 1061 | except EOFError: | CODE |
| HIGH | pwnlib/tubes/tube.py | 1602 | except NotImplementedError: | CODE |
| HIGH | pwnlib/tubes/tube.py | 847 | except EOFError: | CODE |
| HIGH | pwnlib/tubes/process.py | 1651 | except: # pylint: disable=bare-except | CODE |
| HIGH | pwnlib/tubes/process.py | 458 | except Exception: | CODE |
| HIGH | pwnlib/tubes/process.py | 465 | except Exception: | CODE |
| HIGH | pwnlib/tubes/process.py | 480 | except Exception: | CODE |
| HIGH | pwnlib/tubes/process.py | 568 | except Exception: | CODE |
| HIGH | pwnlib/tubes/process.py | 725 | except OSError: | CODE |
| HIGH | pwnlib/tubes/process.py | 802 | except IOError: | CODE |
| HIGH | pwnlib/tubes/process.py | 922 | except OSError: | CODE |
| HIGH | pwnlib/tubes/process.py | 937 | except OSError: | CODE |
| HIGH | pwnlib/tubes/process.py | 472 | except Exception: | CODE |
| HIGH | pwnlib/tubes/process.py | 880 | except OSError: | CODE |
| HIGH | pwnlib/tubes/ssh.py | 552 | except KeyError: | CODE |
| HIGH | pwnlib/tubes/ssh.py | 1437 | except IOError: | CODE |
| HIGH | pwnlib/tubes/ssh.py | 2004 | except Exception: | CODE |
| HIGH | pwnlib/tubes/ssh.py | 2118 | except Exception: | CODE |
| HIGH | pwnlib/tubes/ssh.py | 120 | except paramiko.ssh_exception.SSHException: | CODE |
| HIGH | pwnlib/tubes/listen.py | 184 | except KeyError: | CODE |
| HIGH | pwnlib/data/__init__.py | 5 | except ImportError: | CODE |
| 14 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/runner.py | 3 | CODE | |
| LOW | pwnlib/regsort.py | 4 | CODE | |
| LOW | pwnlib/log.py | 94 | CODE | |
| LOW | pwnlib/timeout.py | 4 | CODE | |
| LOW | pwnlib/__init__.py | 1 | CODE | |
| LOW | pwnlib/__init__.py | 41 | CODE | |
| LOW | pwnlib/args.py | 55 | CODE | |
| LOW | pwnlib/gdb.py | 145 | CODE | |
| LOW | pwnlib/fmtstr.py | 96 | CODE | |
| LOW | pwnlib/fmtstr.py | 103 | CODE | |
| LOW | pwnlib/fmtstr.py | 106 | CODE | |
| LOW | pwnlib/libc/__init__.py | 4 | CODE | |
| LOW | pwnlib/libc/glibc.py | 4 | CODE | |
| LOW | pwnlib/flag/__init__.py | 1 | CODE | |
| LOW | pwnlib/util/misc.py | 2 | CODE | |
| LOW | pwnlib/util/misc.py | 9 | CODE | |
| LOW | pwnlib/util/misc.py | 21 | CODE | |
| LOW | pwnlib/util/fiddling.py | 5 | CODE | |
| LOW | pwnlib/util/fiddling.py | 22 | CODE | |
| LOW | pwnlib/util/iters.py | 5 | CODE | |
| LOW | pwnlib/util/iters.py | 12 | CODE | |
| LOW | pwnlib/util/proc.py | 2 | CODE | |
| LOW | pwnlib/util/net.py | 1 | CODE | |
| LOW | pwnlib/util/sh_string.py | 248 | CODE | |
| LOW | pwnlib/term/term.py | 3 | CODE | |
| LOW | pwnlib/term/term.py | 5 | CODE | |
| LOW | pwnlib/term/term.py | 8 | CODE | |
| LOW | pwnlib/term/term.py | 15 | CODE | |
| LOW | pwnlib/term/__init__.py | 3 | CODE | |
| LOW | pwnlib/term/termcap.py | 4 | CODE | |
| LOW | pwnlib/term/termcap.py | 6 | CODE | |
| LOW | pwnlib/filesystem/__init__.py | 4 | CODE | |
| LOW | pwnlib/filesystem/__init__.py | 5 | CODE | |
| LOW | pwnlib/filesystem/ssh.py | 7 | CODE | |
| LOW | pwnlib/filesystem/ssh.py | 8 | CODE | |
| LOW | pwnlib/filesystem/ssh.py | 9 | CODE | |
| LOW | pwnlib/filesystem/ssh.py | 15 | CODE | |
| LOW | pwnlib/filesystem/path.py | 3 | CODE | |
| LOW | pwnlib/shellcraft/internal.py | 1 | CODE | |
| LOW | pwnlib/shellcraft/registers.py | 1 | CODE | |
| LOW | pwnlib/shellcraft/__init__.py | 164 | CODE | |
| LOW | pwnlib/commandline/constgrep.py | 8 | CODE | |
| LOW | pwnlib/commandline/update.py | 7 | CODE | |
| LOW | pwnlib/commandline/errno.py | 1 | CODE | |
| LOW | pwnlib/commandline/disasm.py | 1 | CODE | |
| LOW | pwnlib/commandline/disasm.py | 9 | CODE | |
| LOW | pwnlib/commandline/version.py | 8 | CODE | |
| LOW | pwnlib/commandline/unhex.py | 1 | CODE | |
| LOW | pwnlib/commandline/scramble.py | 7 | CODE | |
| LOW | pwnlib/commandline/libcdb.py | 9 | CODE | |
| LOW | pwnlib/commandline/phd.py | 10 | CODE | |
| LOW | pwnlib/commandline/checksec.py | 1 | CODE | |
| LOW | pwnlib/commandline/checksec.py | 2 | CODE | |
| LOW | pwnlib/commandline/checksec.py | 4 | CODE | |
| LOW | pwnlib/commandline/disablenx.py | 2 | CODE | |
| LOW | pwnlib/commandline/shellcraft.py | 4 | CODE | |
| LOW | pwnlib/commandline/shellcraft.py | 9 | CODE | |
| LOW | pwnlib/commandline/asm.py | 7 | CODE | |
| LOW | pwnlib/commandline/hex.py | 1 | CODE | |
| LOW | pwnlib/commandline/common.py | 5 | CODE | |
| 236 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pwnlib/regsort.py | 347 | # ╰──────── ← ────────╯ | COMMENT |
| MEDIUM | pwnlib/regsort.py | 395 | # ╰──────── ← ────────╯ | COMMENT |
| MEDIUM | pwnlib/regsort.py | 405 | # ╰──────── ← ────────╯ | COMMENT |
| MEDIUM | pwnlib/encoders/arm/alphanumeric/random_funcs.py | 13 | # ================================== | COMMENT |
| MEDIUM | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 21 | # ==================================== | COMMENT |
| MEDIUM | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 47 | # ====================================== | COMMENT |
| MEDIUM | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 66 | # ========================================== | COMMENT |
| MEDIUM | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 89 | # ================================= | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 108 | # ============================ | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 113 | # ============================ | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 118 | # ============== | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 128 | # ============ | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/ARM_Instructions.py | 133 | # =========================================================================== | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 12 | # ==================================== | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 20 | # ================================= | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 25 | # ========================================================== | COMMENT |
| MEDIUM⚡ | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 34 | # ======================================================================= | COMMENT |
| MEDIUM | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 45 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | extra/docker/develop/ipython_config.py | 5 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | extra/docker/develop/ipython_config.py | 7 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | extra/docker/develop/ipython_config.py | 437 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | extra/docker/develop/ipython_config.py | 439 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 100 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 102 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 202 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 204 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 359 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 361 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 380 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 382 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 421 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 423 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 489 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 491 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 529 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 531 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 553 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 555 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | travis/docker/ipython_config.py | 5 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | travis/docker/ipython_config.py | 7 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | travis/docker/ipython_config.py | 437 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | travis/docker/ipython_config.py | 439 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 100 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 102 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 202 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 204 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 359 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 361 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 380 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 382 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 421 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 423 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 489 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 491 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 529 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 531 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 553 | #------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 555 | #------------------------------------------------------------------------------ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pwnlib/windbg.py | 254 | attach(target, dbgscript=None, dbg_args=[]) -> int Attach to a running process with WinDbg or x64dbg. Argument | STRING |
| HIGH | pwnlib/gdb.py | 423 | Launch a GDB server with the specified command line, and launches GDB to attach to it. Arguments: | STRING |
| HIGH | pwnlib/gdb.py | 945 | Start GDB in a new terminal and attach to `target`. Arguments: target: The target to attach to. | STRING |
| HIGH | pwnlib/context/__init__.py | 524 | local(**kwargs) -> context manager Create a context manager for use with the ``with`` statement. For m | STRING |
| HIGH | pwnlib/util/iters.py | 298 | repeat_func(func, *args, **kwargs) -> iterator Repeatedly calls `func` with positional arguments `args` and keyword | STRING |
| HIGH | pwnlib/util/iters.py | 563 | random_product(*args, repeat = 1) -> tuple Arguments: args: One or more iterables repeat(int): Number | STRING |
| HIGH | pwnlib/util/packing.py | 48 | pack(number, word_size = None, endianness = None, sign = None, **kwargs) -> bytes Packs arbitrary-sized integer. | STRING |
| HIGH | pwnlib/util/packing.py | 164 | unpack(data, word_size = None, *, endianness = None, sign = None, **kwargs) -> int Unpacks arbitrary-sized integer. | STRING |
| HIGH | pwnlib/util/packing.py | 238 | unpack_many(data, word_size = None, *, endianness = None, sign = None) -> int list Splits `data` into groups of ``w | STRING |
| HIGH | pwnlib/util/packing.py | 662 | make_packer(word_size = None, endianness = None, sign = None) -> number → bytes Creates a packer by "freezing" the | STRING |
| HIGH | pwnlib/util/packing.py | 726 | make_unpacker(word_size = None, endianness = None, sign = None, **kwargs) -> str → number Creates an unpacker by " | STRING |
| HIGH | pwnlib/util/packing.py | 1373 | overlap(*structs: bytes | tuple[bytes, int]) -> bytes Merge multiple byte sequences with possible positional offset | STRING |
| HIGH | pwnlib/tubes/tube.py | 108 | recv(numb = 4096, timeout = default) -> bytes Receives up to `numb` bytes of data from the tube, and returns | STRING |
| HIGH | pwnlib/tubes/tube.py | 215 | recvpred(pred, timeout = default) -> bytes Receives one byte at a time from the tube, until ``pred(all_bytes)`` | STRING |
| HIGH | pwnlib/tubes/tube.py | 269 | recvn(numb, timeout = default) -> bytes Receives exactly `n` bytes. If the request is not satisfied be | STRING |
| HIGH | pwnlib/tubes/tube.py | 315 | recvuntil(delims, drop=False, timeout=default) -> bytes Receive data until one of `delims` is encountered. | STRING |
| HIGH | pwnlib/tubes/tube.py | 405 | recvlines(numlines, drop=True, timeout=default) -> list of bytes objects Receive up to ``numlines`` lines. | STRING |
| HIGH | pwnlib/encoders/i386/ascii_shellcode.py | 48 | Pack shellcode into only ascii characters that unpacks itself and executes (on the stack) Args: | STRING |
| HIGH | pwnlib/encoders/i386/ascii_shellcode.py | 113 | Allocate enough space on the stack for the shellcode int_size is taken from the context Args: | STRING |
| HIGH | pwnlib/encoders/i386/ascii_shellcode.py | 154 | Find two bitwise negatives in the vocab so that when they are and-ed the result is 0. int_size is take | STRING |
| HIGH | pwnlib/encoders/i386/ascii_shellcode.py | 192 | Covert the sellcode to sub eax and posh eax instructions int_size is taken from the context Args: | STRING |
| HIGH | pwnlib/encoders/i386/ascii_shellcode.py | 229 | Given `target` and `last`, return a list of integers that when subtracted from `last` will equal `target` whil | STRING |
| HIGH | pwnlib/elf/elf.py | 1274 | search(needle, writable = False, executable = False) -> generator Search the ELF's virtual address space for th | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/update.py | 44 | CODE | |
| LOW | pwnlib/ui.py | 47 | CODE | |
| LOW | pwnlib/ui.py | 127 | CODE | |
| LOW | pwnlib/ui.py | 254 | CODE | |
| LOW | pwnlib/libcdb.py | 408 | CODE | |
| LOW | pwnlib/windbg.py | 146 | CODE | |
| LOW | pwnlib/dynelf.py | 515 | CODE | |
| LOW | pwnlib/dynelf.py | 1007 | CODE | |
| LOW | pwnlib/asm.py | 154 | CODE | |
| LOW | pwnlib/asm.py | 750 | CODE | |
| LOW | pwnlib/useragents.py | 11 | CODE | |
| LOW | pwnlib/gdb.py | 944 | CODE | |
| LOW | pwnlib/memleak.py | 171 | CODE | |
| LOW | pwnlib/util/misc.py | 144 | CODE | |
| LOW | pwnlib/util/misc.py | 268 | CODE | |
| LOW | pwnlib/util/fiddling.py | 99 | CODE | |
| LOW | pwnlib/util/fiddling.py | 331 | CODE | |
| LOW | pwnlib/util/fiddling.py | 643 | CODE | |
| LOW | pwnlib/util/fiddling.py | 1064 | CODE | |
| LOW | pwnlib/util/lists.py | 55 | CODE | |
| LOW | pwnlib/util/iters.py | 869 | CODE | |
| LOW | pwnlib/util/proc.py | 18 | CODE | |
| LOW | pwnlib/util/proc.py | 300 | CODE | |
| LOW | pwnlib/util/proc.py | 401 | CODE | |
| LOW | pwnlib/util/packing.py | 47 | CODE | |
| LOW | pwnlib/util/packing.py | 861 | CODE | |
| LOW | pwnlib/util/packing.py | 1117 | CODE | |
| LOW | pwnlib/util/packing.py | 1372 | CODE | |
| LOW | pwnlib/util/sh_string.py | 278 | CODE | |
| LOW | pwnlib/util/cyclic.py | 134 | CODE | |
| LOW | pwnlib/util/splash.py | 27 | CODE | |
| LOW | pwnlib/util/splash.py | 31 | CODE | |
| LOW | pwnlib/util/crc/known.py | 5 | CODE | |
| LOW | pwnlib/util/crc/known.py | 18 | CODE | |
| LOW | pwnlib/term/readline.py | 52 | CODE | |
| LOW | pwnlib/term/readline.py | 69 | CODE | |
| LOW | pwnlib/term/readline.py | 99 | CODE | |
| LOW | pwnlib/term/readline.py | 159 | CODE | |
| LOW | pwnlib/term/readline.py | 367 | CODE | |
| LOW | pwnlib/term/term.py | 167 | CODE | |
| LOW | pwnlib/term/term.py | 247 | CODE | |
| LOW | pwnlib/term/term.py | 275 | CODE | |
| LOW | pwnlib/term/key.py | 20 | CODE | |
| LOW | pwnlib/term/key.py | 184 | CODE | |
| LOW | pwnlib/term/key.py | 224 | CODE | |
| LOW | pwnlib/term/key.py | 429 | CODE | |
| LOW | pwnlib/term/key.py | 117 | CODE | |
| LOW | pwnlib/term/keymap.py | 34 | CODE | |
| LOW | pwnlib/term/keymap.py | 58 | CODE | |
| LOW | pwnlib/term/unix_termcap.py | 8 | CODE | |
| LOW | pwnlib/term/text.py | 23 | CODE | |
| LOW | pwnlib/term/text.py | 108 | CODE | |
| LOW | pwnlib/shellcraft/__init__.py | 45 | CODE | |
| LOW | pwnlib/commandline/constgrep.py | 58 | CODE | |
| LOW | pwnlib/commandline/libcdb.py | 225 | CODE | |
| LOW | pwnlib/commandline/shellcraft.py | 176 | CODE | |
| LOW | pwnlib/commandline/debug.py | 51 | CODE | |
| LOW | pwnlib/commandline/template.py | 34 | CODE | |
| LOW | pwnlib/commandline/template.py | 114 | CODE | |
| LOW | pwnlib/adb/adb.py | 402 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pwnlib/gdb.py | 202 | adb.push(tmp_elf, android_path) | STRING |
| HIGH | pwnlib/gdb.py | 239 | adb.push(tmp_elf, android_path) | STRING |
| HIGH | pwnlib/gdb.py | 1007 | >>> io.sendline(b'echo Hello from bash && exit') | CODE |
| HIGH | pwnlib/gdb.py | 1034 | >>> io.sendline(b'echo Hello from bash && exit') | CODE |
| HIGH | pwnlib/gdb.py | 1055 | >>> io.sendline(b'echo Hello from bash && exit') | CODE |
| HIGH | pwnlib/gdb.py | 1078 | >>> gdbserver.sendline(b'echo Hello from bash && exit') | CODE |
| HIGH | pwnlib/filepointer.py | 281 | self.setdefault(null) | STRING |
| HIGH | pwnlib/filepointer.py | 350 | def setdefault(self,null): | STRING |
| HIGH | pwnlib/context/__init__.py | 94 | >>> t.push() | STRING |
| HIGH | pwnlib/context/__init__.py | 555 | self._tls.push() | STRING |
| HIGH | pwnlib/util/misc.py | 627 | tube.sendline('which python || echo') | CODE |
| HIGH | pwnlib/util/misc.py | 632 | tube.sendline('which perl || echo') | CODE |
| HIGH | pwnlib/adb/adb.py | 564 | >>> adb.push('./filename', '/data/local/tmp') | STRING |
| HIGH | pwnlib/adb/adb.py | 568 | >>> adb.push('./filename', '/does/not/exist') | STRING |
| HIGH | pwnlib/adb/adb.py | 1388 | >>> sent = adb.push(filename, "/data/local/tmp") | CODE |
| HIGH | pwnlib/tubes/tube.py | 1200 | self.sendlineafter(end_markerb, "command -v {} && echo YEP || echo NOPE{}".format(utility, echo_end).enc | STRING |
| HIGH | pwnlib/tubes/ssh.py | 1396 | cmd = '(sha256 || sha256sum || openssl sha256) 2>/dev/null < ' | CODE |
| HIGH | pwnlib/tubes/ssh.py | 1703 | untar = self.system(b'cd %s && tar -xzf %s' % (sh_string(remote), sh_string(remote_tar))) | CODE |
| HIGH | pwnlib/tubes/ssh.py | 1929 | wd, status = self.run_to_end('x=$(mktemp -d) && cd $x && chmod +x . && echo $PWD', cwd='.') | CODE |
| HIGH | pwnlib/tubes/ssh.py | 1066 | script = 'echo PWNTOOLS; for py in python3 python2.7 python2 python; do test -x "$(command -v $py 2>&1)" && | STRING |
| HIGH | pwnlib/data/syscalls/generate.py | 121 | ${{pwnlib.shellcraft.push(arg)}} | STRING |
| HIGH | pwnlib/elf/elf.py | 2013 | return (!cpu_has_rixi && exstack == EXSTACK_DEFAULT); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/update.py | 158 | except Exception: | CODE |
| LOW⚡ | pwnlib/libcdb.py | 747 | except Exception as e: | CODE |
| LOW⚡ | pwnlib/libcdb.py | 755 | except Exception: | CODE |
| LOW | pwnlib/windbg.py | 163 | except Exception: | CODE |
| LOW | pwnlib/atexit.py | 91 | except Exception: | CODE |
| LOW | pwnlib/gdb_api_bridge.py | 54 | except Exception as exc: | CODE |
| LOW | pwnlib/asm.py | 680 | except Exception: | STRING |
| LOW | pwnlib/asm.py | 893 | except Exception: | STRING |
| LOW | pwnlib/asm.py | 996 | except Exception: | STRING |
| LOW | pwnlib/atexception.py | 101 | except Exception: | CODE |
| LOW | pwnlib/memleak.py | 193 | except Exception as e: | STRING |
| LOW | pwnlib/flag/flag.py | 68 | except Exception: | CODE |
| LOW | pwnlib/util/misc.py | 911 | except Exception: | CODE |
| LOW | pwnlib/util/misc.py | 957 | except Exception: | CODE |
| LOW | pwnlib/util/misc.py | 963 | except Exception: | CODE |
| LOW | pwnlib/util/proc.py | 92 | except Exception: | CODE |
| LOW | pwnlib/util/proc.py | 131 | except Exception: | CODE |
| LOW | pwnlib/term/readline.py | 40 | except Exception: | CODE |
| LOW | pwnlib/term/key.py | 18 | except Exception: _fd = os.open(os.devnull, os.O_RDONLY) | CODE |
| LOW | pwnlib/term/completer.py | 108 | except Exception: | CODE |
| LOW | pwnlib/internal/dochelper.py | 26 | except Exception: | CODE |
| LOW | pwnlib/commandline/checksec.py | 35 | except Exception as e: | CODE |
| LOW⚡ | pwnlib/commandline/common.py | 15 | except Exception: pass | CODE |
| LOW⚡ | pwnlib/commandline/common.py | 17 | except Exception: pass | CODE |
| LOW⚡ | pwnlib/commandline/common.py | 19 | except Exception: arg | CODE |
| LOW⚡ | pwnlib/commandline/common.py | 21 | except Exception: pass | CODE |
| LOW | pwnlib/commandline/template.py | 158 | except Exception as e: | CODE |
| LOW | pwnlib/commandline/template.py | 191 | except Exception: | CODE |
| LOW | pwnlib/adb/adb.py | 424 | except Exception: | CODE |
| LOW | pwnlib/tubes/tube.py | 256 | except Exception: | STRING |
| LOW | pwnlib/tubes/tube.py | 375 | except Exception: | STRING |
| LOW | pwnlib/tubes/tube.py | 452 | except Exception: | STRING |
| LOW | pwnlib/tubes/tube.py | 612 | except Exception: | STRING |
| LOW⚡ | pwnlib/tubes/process.py | 449 | except Exception: | STRING |
| LOW⚡ | pwnlib/tubes/process.py | 458 | except Exception: | STRING |
| LOW⚡ | pwnlib/tubes/process.py | 465 | except Exception: | STRING |
| LOW⚡ | pwnlib/tubes/process.py | 472 | except Exception: | STRING |
| LOW⚡ | pwnlib/tubes/process.py | 480 | except Exception: | STRING |
| LOW | pwnlib/tubes/process.py | 568 | except Exception: | STRING |
| MEDIUM | pwnlib/tubes/ssh.py | 549 | def sock(self): | CODE |
| LOW | pwnlib/tubes/ssh.py | 514 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 524 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 724 | except Exception as e: | CODE |
| LOW | pwnlib/tubes/ssh.py | 805 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 810 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 834 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2014 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2025 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2036 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2052 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2061 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2109 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 2118 | except Exception: | CODE |
| LOW | pwnlib/tubes/ssh.py | 422 | except Exception: | STRING |
| LOW | pwnlib/tubes/ssh.py | 476 | except Exception as e: | STRING |
| LOW | pwnlib/tubes/ssh.py | 489 | except Exception as e: | STRING |
| LOW | pwnlib/tubes/ssh.py | 2004 | except Exception: | STRING |
| LOW | pwnlib/protocols/adb/__init__.py | 103 | except Exception: | CODE |
| LOW⚡ | pwnlib/elf/corefile.py | 1341 | except Exception: | CODE |
| LOW⚡ | pwnlib/elf/corefile.py | 1347 | except Exception: | CODE |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | pwnlib/windbg.py | 112 | # Create a new process, and stop it at 'main' | STRING |
| MEDIUM | pwnlib/dynelf.py | 761 | # Create a fake leaker which just leaks out of the 'loaded' ELF | COMMENT |
| MEDIUM | pwnlib/asm.py | 830 | # Create a temporary copy of the cached file to avoid modification. | STRING |
| MEDIUM | pwnlib/gdb.py | 275 | # Create a temporary file to hold the script | STRING |
| MEDIUM | pwnlib/fmtstr.py | 89 | # Create a FmtStr object and give to him the function | COMMENT |
| MEDIUM | pwnlib/util/misc.py | 225 | # Create a duplicate so we can modify it | COMMENT |
| MEDIUM | pwnlib/util/misc.py | 241 | # Create a duplicate so we can modify it safely | COMMENT |
| MEDIUM | pwnlib/util/cyclic.py | 372 | >>> g = cyclic_gen() # Create a generator | STRING |
| MEDIUM | pwnlib/constants/__init__.py | 158 | # Create the module structure | COMMENT |
| MEDIUM | pwnlib/shellcraft/__init__.py | 47 | # Create a dictionary of submodules | COMMENT |
| MEDIUM | pwnlib/shellcraft/__init__.py | 169 | # Create the module structure | COMMENT |
| MEDIUM | pwnlib/adb/adb.py | 1350 | # Create the directories | STRING |
| MEDIUM | pwnlib/tubes/process.py | 319 | # Create the PTY if necessary | STRING |
| MEDIUM | pwnlib/elf/elf.py | 1591 | # Create a new view of memory, for just what we need | STRING |
| MEDIUM | pwnlib/elf/elf.py | 2616 | # Create a copy of the ELF to patch instead of the original file. | STRING |
| MEDIUM | docs/source/conf.py | 4 | # This file is execfile()d with the current directory set to its containing dir. | COMMENT |
| MEDIUM⚡ | extra/docker/develop/ipython_config.py | 14 | # The following methods should be called by the :meth:`initialize` method of the | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 115 | # Create a massive crash report when IPython encounters what may be an internal | COMMENT |
| MEDIUM | travis/ssh_setup.sh | 27 | # Create the new user account | COMMENT |
| MEDIUM⚡ | travis/docker/ipython_config.py | 14 | # The following methods should be called by the :meth:`initialize` method of the | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 115 | # Create a massive crash report when IPython encounters what may be an internal | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/exception.py | 1 | __all__ = ['PwnlibException'] | CODE |
| LOW | pwnlib/runner.py | 9 | __all__ = ['run_assembly', 'run_shellcode', 'run_assembly_exitcode', 'run_shellcode_exitcode'] | CODE |
| LOW | pwnlib/log.py | 113 | __all__ = [ | CODE |
| LOW | pwnlib/libcdb.py | 1127 | __all__ = ['get_build_id_offsets', 'search_by_build_id', 'search_by_sha1', 'search_by_sha256', 'search_by_md5', 'search_ | CODE |
| LOW | pwnlib/__init__.py | 7 | __all__ = [ | CODE |
| LOW | pwnlib/atexit.py | 18 | __all__ = ['register', 'unregister'] | CODE |
| LOW | pwnlib/asm.py | 65 | __all__ = ['asm', 'cpp', 'disasm', 'make_elf', 'make_elf_from_assembly'] | STRING |
| LOW | pwnlib/useragents.py | 4 | __all__ = ['getall', 'random'] | CODE |
| LOW | pwnlib/atexception.py | 13 | __all__ = ['register', 'unregister'] | CODE |
| LOW | pwnlib/memleak.py | 11 | __all__ = ['MemLeak', 'RelativeMemLeak'] | CODE |
| LOW | pwnlib/libc/__init__.py | 6 | __all__ = ['glibc'] | CODE |
| LOW | pwnlib/flag/__init__.py | 3 | __all__ = [ | CODE |
| LOW | pwnlib/context/__init__.py | 29 | __all__ = ['context', 'ContextType', 'Thread'] | CODE |
| LOW | pwnlib/util/fiddling.py | 638 | def update_cyclic_pregenerated(size: int) -> None: | CODE |
| LOW | pwnlib/util/iters.py | 17 | __all__ = [ | CODE |
| LOW | pwnlib/util/net.py | 18 | __all__ = ['getifaddrs', 'interfaces', 'interfaces4', 'interfaces6', 'sockaddr'] | CODE |
| LOW | pwnlib/util/__init__.py | 1 | __all__ = [ | CODE |
| LOW | pwnlib/term/term.py | 21 | __all__ = ['output', 'init'] | CODE |
| LOW | pwnlib/term/key.py | 11 | __all__ = ['getch', 'getraw', 'get', 'unget'] | CODE |
| LOW | pwnlib/term/keymap.py | 3 | __all__ = ['Keymap'] | CODE |
| LOW | pwnlib/term/unix_termcap.py | 1 | __all__ = ['get'] | CODE |
| LOW | pwnlib/term/spinners.py | 1 | __all__ = ['spinners'] | CODE |
| LOW | pwnlib/term/termcap.py | 1 | __all__ = ['get'] | CODE |
| LOW | pwnlib/term/windows_termcap.py | 10 | __all__ = ['get'] | CODE |
| LOW | pwnlib/filesystem/__init__.py | 7 | __all__ = ['SSHPath', 'Path'] | CODE |
| LOW | pwnlib/filesystem/ssh.py | 780 | __all__ = ['SSHPath'] | STRING |
| LOW | pwnlib/shellcraft/internal.py | 8 | __all__ = ['make_function'] | CODE |
| LOW | pwnlib/commandline/__init__.py | 1 | __all__ = [ | CODE |
| LOW | pwnlib/tubes/__init__.py | 21 | __all__ = ['tube', 'sock', 'remote', 'listen', 'process', 'serialtube', 'server', 'ssh'] | CODE |
| LOW | pwnlib/rop/rop.py | 434 | __all__ = ['ROP'] | STRING |
| LOW | pwnlib/encoders/amd64/delta.py | 44 | __all__ = ['encode'] | STRING |
| LOW | pwnlib/elf/elf.py | 93 | __all__ = ['load', 'ELF'] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/libcdb.py | 27 | def _turbofast_extract_build_id(path): | CODE |
| LOW | pwnlib/libcdb.py | 77 | def _local_debuginfod_cache_dirs() -> Generator[str, None, None]: | CODE |
| LOW | pwnlib/libcdb.py | 101 | def _local_debuginfod_cached_path(hex_encoded_id: str) -> str | None: | CODE |
| LOW | pwnlib/libcdb.py | 635 | def _find_libc_package_lib_url(libc: ELF, extra_mirrors: list[str] | None = None) -> Generator[str, None, None]: | CODE |
| LOW⚡ | pwnlib/libcdb.py | 763 | def _handle_multiple_matching_libcs(matching_libcs): | CODE |
| LOW | pwnlib/gdb_api_bridge.py | 92 | def exposed_set_finish_breakpoint(self, client, has_stop, has_out_of_scope, *args, **kwargs): | CODE |
| LOW | pwnlib/asm.py | 103 | def print_binutils_instructions(util, context): | STRING |
| LOW | pwnlib/fmtstr.py | 358 | def find_min_hamming_in_range_step(prev, step, carry, strict): | STRING |
| LOW | pwnlib/fmtstr.py | 416 | def find_min_hamming_in_range(maxbytes, lower, upper, target): | STRING |
| LOW | pwnlib/context/__init__.py | 1536 | def throw_eof_on_incomplete_line(self, v): | STRING |
| LOW | pwnlib/util/fiddling.py | 638 | def update_cyclic_pregenerated(size: int) -> None: | CODE |
| LOW | pwnlib/util/iters.py | 633 | def random_combination_with_replacement(iterable, r): | CODE |
| LOW | pwnlib/commandline/libcdb.py | 210 | def collect_synthetic_symbols(exe): | CODE |
| LOW | pwnlib/commandline/shellcraft.py | 172 | def is_not_a_syscall_template(name): | CODE |
| LOW | pwnlib/commandline/template.py | 34 | def get_docker_image_libraries(): | CODE |
| LOW | pwnlib/adb/adb.py | 303 | def __do_deferred_initialization(self): | CODE |
| LOW | pwnlib/adb/adb.py | 498 | def _create_adb_push_pull_callback(w): | CODE |
| LOW | pwnlib/tubes/process.py | 909 | def __pty_make_controlling_tty(self, tty_fd): | STRING |
| LOW | pwnlib/tubes/ssh.py | 1413 | def _verify_local_fingerprint(self, fingerprint): | CODE |
| LOW | pwnlib/tubes/ssh.py | 1962 | def _init_remote_platform_info(self): | CODE |
| LOW⚡ | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 27 | def alphanumeric_get_byte_ltmax(max): | CODE |
| LOW | pwnlib/encoders/arm/alphanumeric/alphanum_byte.py | 46 | def alphanumeric_get_complement(c): | CODE |
| LOW⚡ | pwnlib/elf/corefile.py | 1356 | def systemd_coredump_corefile(self): | CODE |
| LOW | pwnlib/elf/corefile.py | 1282 | def apport_crash_extract_corefile(self, crashfile_data): | CODE |
| LOW | pwnlib/elf/corefile.py | 1383 | def wsl_capture_crash_corefile(self): | CODE |
| LOW | pwnlib/elf/elf.py | 994 | def _populate_synthetic_symbols(self): | STRING |
| LOW | pwnlib/elf/plt.py | 56 | def __ensure_memory_to_run_unicorn(): | CODE |
| LOW | pwnlib/elf/plt.py | 77 | def prepare_unicorn_and_context(elf, got, address, data): | CODE |
| LOW | pwnlib/elf/plt.py | 159 | def emulate_plt_instructions_inner(uc, elf, got, pc, data): | CODE |
| LOW | extra/docker/develop/ipython_config.py | 51 | def continuation_prompt_tokens(self, cli=None, width=None): | CODE |
| LOW | travis/docker/ipython_config.py | 51 | def continuation_prompt_tokens(self, cli=None, width=None): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/elf/corefile.py | 379 | Don't forget to call :meth:`.ELF.save` to save the changes to disk. | CODE |
| MEDIUM⚡ | extra/docker/develop/ipython_config.py | 446 | # printers. Here is a simple example:: | COMMENT |
| MEDIUM | extra/docker/develop/ipython_config.py | 344 | # Set the size of the output cache. The default is 1000, you can change it | COMMENT |
| MEDIUM⚡ | travis/docker/ipython_config.py | 446 | # printers. Here is a simple example:: | COMMENT |
| MEDIUM | travis/docker/ipython_config.py | 344 | # Set the size of the output cache. The default is 1000, you can change it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/libcdb.py | 232 | # Check if the local system libc matches the requested hash. | COMMENT |
| LOW | pwnlib/libcdb.py | 299 | # Check if all symbols have been matched | COMMENT |
| LOW | pwnlib/libcdb.py | 460 | # Check if we tried this buildid before. | COMMENT |
| LOW | pwnlib/libcdb.py | 467 | # Check if a local debuginfod client (e.g. gdb's `set debuginfod enabled on` | COMMENT |
| LOW | pwnlib/libcdb.py | 854 | # Check if no matches are found | COMMENT |
| LOW | pwnlib/util/misc.py | 251 | # Check if = is in the key, Required check since we sometimes call ctypes.execve directly | COMMENT |
| LOW | pwnlib/commandline/constgrep.py | 91 | # Check if the value has proper type | COMMENT |
| LOW | pwnlib/commandline/template.py | 150 | # Check if the binary is statically linked before trying to extract libraries from Docker | COMMENT |
| LOW | pwnlib/tubes/process.py | 729 | # Check if process is still running. | STRING |
| LOW | pwnlib/encoders/i386/ascii_shellcode.py | 135 | # Set target to the `size` arg | STRING |
| LOW | pwnlib/elf/elf.py | 889 | # Close the file descriptor so that it may be executed | STRING |
| LOW | pwnlib/elf/elf.py | 2631 | # Set RUNPATH to library path in order to find other libraries. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/log.py | 633 | # if 'pwnlib_msgtype' is not set (or set to `None`) we just return the | COMMENT |
| MEDIUM | pwnlib/timeout.py | 49 | self.obj._timeout = self.timeout # leverage validation | CODE |
| MEDIUM | pwnlib/tubes/process.py | 742 | # In order to facilitate retrieving core files, force an update | STRING |
| LOW | pwnlib/tubes/process.py | 650 | # Normally we could just use PIPE and be happy. | STRING |
| LOW | pwnlib/tubes/ssh.py | 426 | # If we never completely started up, just use the parent implementation | STRING |
| LOW | pwnlib/rop/rop.py | 1277 | # If we can find a function with that name, just call it | STRING |
| LOW | pwnlib/data/includes/generator/freebsd/sys/errno.h | 188 | #define EJUSTRETURN (-2) /* don't modify regs, just return */ | COMMENT |
| LOW | pwnlib/data/includes/generator/freebsd/sys/socket.h | 105 | #define SO_DONTROUTE 0x0010 /* just use interface addresses */ | COMMENT |
| LOW | pwnlib/elf/corefile.py | 841 | # No embedded siginfo structure, so just return the | COMMENT |
| LOW | pwnlib/elf/elf.py | 825 | # Any existing files we can just use | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pwnlib/gdb.py | 285 | CODE | |
| LOW | pwnlib/gdb.py | 421 | CODE | |
| LOW | pwnlib/fmtstr.py | 835 | CODE | |
| LOW | pwnlib/util/misc.py | 756 | CODE | |
| LOW | pwnlib/util/fiddling.py | 643 | CODE | |
| LOW | pwnlib/util/fiddling.py | 806 | CODE | |
| LOW | pwnlib/tubes/serialtube.py | 14 | CODE | |
| LOW | pwnlib/tubes/process.py | 237 | CODE | |
| LOW | pwnlib/tubes/ssh.py | 600 | CODE | |
| LOW | pwnlib/tubes/ssh.py | 874 | CODE | |
| LOW | pwnlib/tubes/ssh.py | 1408 | CODE | |
| LOW | pwnlib/rop/rop.py | 1657 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pwnlib/regsort.py | 337 | # In this example below, X, Y, or Z cannot be a temporary register, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | pwnlib/data/includes/generator/freebsd/sys/mman.h | 69 | #define MAP_FIXED 0x0010 /* map addr must be exactly as requested */ | COMMENT |