A powerful and user-friendly binary analysis platform!
This report presents the forensic synthetic code analysis of angr/angr, a Python project with 8,944 GitHub stars. SynthScan v2.0 examined 337,927 lines of code across 1582 source files, recording 5682 pattern matches distributed across 22 syntactic categories. The overall adjusted score of 18.3 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5682 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 2 | CODE | |
| LOW | corpus_tests/conftest.py | 6 | CODE | |
| LOW | corpus_tests/test_corpus.py | 6 | CODE | |
| LOW | tests/test_fuzzer.py | 1 | CODE | |
| LOW | tests/common.py | 1 | CODE | |
| LOW | tests/test_load_shellcode.py | 2 | CODE | |
| LOW | tests/test_calling_conventions.py | 3 | CODE | |
| LOW | tests/test_cli.py | 3 | CODE | |
| LOW | tests/procedures/test_stub_procedure_args.py | 3 | CODE | |
| LOW | tests/procedures/test_project_resolve_simproc.py | 3 | CODE | |
| LOW | tests/procedures/test_sim_procedure.py | 3 | CODE | |
| LOW | tests/procedures/posix/test_getenv.py | 4 | CODE | |
| LOW | tests/procedures/posix/test_sim_time.py | 3 | CODE | |
| LOW | tests/procedures/posix/test_unlink.py | 3 | CODE | |
| LOW | tests/procedures/posix/test_pwrite_pread.py | 3 | CODE | |
| LOW | tests/procedures/posix/test_chroot.py | 3 | CODE | |
| LOW | tests/procedures/libc/test_strcasecmp.py | 3 | CODE | |
| LOW | tests/procedures/libc/test_string.py | 3 | CODE | |
| LOW | tests/procedures/libc/test_sprintf.py | 3 | CODE | |
| LOW | tests/procedures/libc/test_scanf.py | 2 | CODE | |
| LOW | tests/procedures/libc/test_strtol.py | 2 | CODE | |
| LOW | tests/procedures/libc/test_sscanf.py | 2 | CODE | |
| LOW | tests/procedures/libc/test_fgets.py | 3 | CODE | |
| LOW | tests/procedures/linux_kernel/test_lseek.py | 2 | CODE | |
| LOW | tests/procedures/glibc/test_ctype_locale.py | 3 | CODE | |
| LOW | tests/ailment/test_expression.py | 2 | CODE | |
| LOW | tests/ailment/test_expression_markers.py | 4 | CODE | |
| LOW | tests/ailment/test_statement_markers.py | 8 | CODE | |
| LOW | tests/ailment/test_block_walker.py | 1 | CODE | |
| LOW | tests/ailment/test_serialize.py | 6 | CODE | |
| LOW | tests/ailment/test_irsb.py | 1 | CODE | |
| LOW | tests/misc/test_hookset.py | 3 | CODE | |
| LOW | tests/angrdb/test_angrdb_jumptables.py | 2 | CODE | |
| LOW | tests/angrdb/test_angrdb_load_missing_binary.py | 3 | CODE | |
| LOW | tests/types/test_enum_integration.py | 5 | CODE | |
| LOW | tests/types/test_enum_types.py | 5 | CODE | |
| LOW | tests/types/test_simtypefunction.py | 3 | CODE | |
| LOW | tests/types/test_enum_inference.py | 3 | CODE | |
| LOW | tests/types/test_types.py | 3 | CODE | |
| LOW | tests/llm/test_project_llm.py | 2 | CODE | |
| LOW | tests/llm/test_llm_client.py | 2 | CODE | |
| LOW | tests/llm/test_decompiler_llm.py | 2 | CODE | |
| LOW | tests/serialization/test_vault.py | 2 | CODE | |
| LOW | tests/serialization/test_pickle.py | 3 | CODE | |
| LOW | tests/serialization/test_db.py | 3 | CODE | |
| LOW | tests/serialization/test_serialization.py | 3 | CODE | |
| LOW | tests/utils/test_library.py | 1 | CODE | |
| LOW | tests/utils/test_bits.py | 2 | CODE | |
| LOW | tests/utils/test_segment_list.py | 1 | CODE | |
| LOW | tests/utils/test_balancer.py | 2 | CODE | |
| LOW | tests/utils/test_doms.py | 2 | CODE | |
| LOW | tests/utils/test_ins_addr_list.py | 2 | CODE | |
| LOW | tests/utils/test_graph.py | 3 | CODE | |
| LOW | tests/utils/test_constants.py | 3 | CODE | |
| LOW | tests/exploration_techniques/test_driller_core.py | 3 | CODE | |
| LOW | tests/exploration_techniques/test_stub_stasher.py | 2 | CODE | |
| LOW | tests/exploration_techniques/test_spiller.py | 2 | CODE | |
| LOW | tests/exploration_techniques/test_threading.py | 1 | CODE | |
| LOW | tests/exploration_techniques/test_oppologist.py | 3 | CODE | |
| LOW | tests/exploration_techniques/test_veritesting.py | 2 | CODE | |
| 2099 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_fuzzer.py | 159 | def test_fuzzer_mixed_inmem_corpus_ondisk_solutions(self): | STRING |
| LOW | tests/test_fuzzer.py | 177 | def test_fuzzer_mixed_ondisk_corpus_inmem_solutions(self): | STRING |
| LOW | tests/test_fuzzer.py | 197 | def test_havoc_mutator_config(self): | STRING |
| LOW | tests/test_fuzzer.py | 221 | def test_deterministic_mutator_finds_solution(self): | CODE |
| LOW | tests/test_fuzzer.py | 246 | def test_deterministic_mutator_no_crash(self): | CODE |
| LOW | tests/test_fuzzer.py | 271 | def test_deterministic_mutator_sequence(self): | CODE |
| LOW | tests/test_fuzzer.py | 302 | def test_tls_access_without_tls_is_crash(self): | CODE |
| LOW | tests/test_fuzzer.py | 343 | def test_symbolic_memory_visible_in_icicle(self): | CODE |
| LOW | tests/test_fuzzer.py | 358 | def test_concrete_libc_start_main_hook(self): | CODE |
| LOW | tests/test_fuzzer.py | 395 | def test_vuln_stacksmash_deterministic(self): | CODE |
| LOW | tests/common.py | 48 | def requires_binaries_private(func): | CODE |
| LOW | tests/common.py | 140 | def run_simple_unicorn_congruency_check(thing: Project | bytes | str, arch: str = "AMD64", depth: int = 1): | CODE |
| LOW | tests/common.py | 164 | def print_decompilation_result(dec): | CODE |
| LOW | tests/common.py | 198 | def load_project_with_scoped_cfg( | CODE |
| LOW | tests/test_calling_conventions.py | 76 | def test_microsoft_fastcall_large_arg(self): | CODE |
| LOW | tests/test_calling_conventions.py | 247 | def test_simcc_arg_locs_returnty_unresolved_simtyperef(self): | CODE |
| LOW⚡ | tests/test_cli.py | 166 | def test_disassemble_specific_functions(self): | CODE |
| LOW⚡ | tests/test_cli.py | 172 | def test_disassemble_function_by_address(self): | CODE |
| LOW⚡ | tests/test_cli.py | 179 | def test_decompile_interactive_summary(self): | CODE |
| LOW⚡ | tests/test_cli.py | 189 | def test_disassemble_interactive_summary(self): | CODE |
| LOW⚡ | tests/test_cli.py | 196 | def test_decompile_missing_function_raises(self): | CODE |
| LOW⚡ | tests/test_cli.py | 201 | def test_decompile_catch_exceptions_missing_function(self): | CODE |
| LOW⚡ | tests/test_cli.py | 209 | def test_disassemble_missing_function(self): | CODE |
| LOW⚡ | tests/test_cli.py | 216 | def test_decompile_no_decompilable_functions(self): | CODE |
| LOW⚡ | tests/test_cli.py | 247 | def test_decompile_syntax_highlighting(self): | CODE |
| LOW⚡ | tests/test_cli.py | 257 | def test_decompile_syntax_highlighting_multiple(self): | CODE |
| LOW⚡ | tests/test_cli.py | 266 | def test_disassemble_base_addr(self): | CODE |
| LOW⚡ | tests/test_cli.py | 271 | def test_disassemble_missing_address(self): | CODE |
| LOW⚡ | tests/test_cli.py | 278 | def test_decompile_catch_exceptions_noninteractive(self): | CODE |
| LOW⚡ | tests/test_cli.py | 284 | def test_decompile_catch_exceptions_error(self): | CODE |
| LOW⚡ | tests/test_cli.py | 294 | def test_disassemble_catch_exceptions_error(self): | CODE |
| LOW⚡ | tests/test_cli.py | 314 | def test_disassemble_catch_exceptions_noninteractive(self): | CODE |
| LOW⚡ | tests/test_cli.py | 320 | def test_decompile_no_functions_noninteractive(self): | CODE |
| LOW⚡ | tests/test_cli.py | 326 | def test_disassemble_no_functions_noninteractive(self): | CODE |
| LOW⚡ | tests/test_cli.py | 331 | def test_decompile_syntax_highlighting_catch_exceptions(self): | CODE |
| LOW | tests/test_cli.py | 148 | def test_syntax_highlighting_no_colors_flag(self): | CODE |
| LOW | tests/test_cli.py | 342 | def test_blob_requires_required_args(self): | CODE |
| LOW | tests/test_cli.py | 354 | def test_disassemble_blob_loader_options(self): | CODE |
| LOW | tests/test_cli.py | 383 | def test_decompile_blob_loader_options(self): | CODE |
| LOW | tests/procedures/test_sim_procedure.py | 63 | def test_syscall_and_simprocedure(self): | CODE |
| LOW | tests/procedures/posix/test_getenv.py | 44 | def test_run_getenv_without_env(self): | CODE |
| LOW | tests/procedures/posix/test_getenv.py | 58 | def test_run_getenv_with_symbolic_env(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 233 | def test_strncmp_longer_limit(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 278 | def test_strncmp_find_prefix_unsat(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 294 | def test_strncmp_find_input_for_limit(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 317 | def test_strstr_conc_haystack_conc_needle(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 331 | def test_strstr_conc_haystack_sym_needle(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 364 | def test_strstr_sym_haystack_conc_needle(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 393 | def test_strstr_sym_haystack_sym_needle(self): | CODE |
| LOW | tests/procedures/libc/test_string.py | 441 | def test_strstr_inconsistency(self): | CODE |
| LOW | tests/procedures/libc/test_scanf.py | 204 | def test_scanf_simfile_string(self): | CODE |
| LOW | tests/procedures/linux_kernel/test_lseek.py | 143 | def test_lseek_symbolic_whence(self): | CODE |
| LOW | tests/ailment/test_expression.py | 42 | def test_rust_composite_return_deep_copy(self): | CODE |
| LOW | tests/ailment/test_expression.py | 75 | def test_combo_register_and_virtual_variable_accessors(self): | CODE |
| LOW | tests/ailment/test_expression.py | 126 | def test_rust_ail_value_expressions(self): | CODE |
| LOW | tests/ailment/test_expression.py | 224 | def test_stack_base_offset_offset_wraparound(self): | CODE |
| LOW⚡ | tests/ailment/test_expression_markers.py | 128 | def test_vex_ccall_expression(self): | CODE |
| LOW⚡ | tests/ailment/test_expression_markers.py | 133 | def test_multi_statement_expression(self): | CODE |
| LOW⚡ | tests/ailment/test_expression_markers.py | 139 | def test_multi_statement_expression_with_real_statements(self): | CODE |
| LOW | tests/ailment/test_expression_markers.py | 193 | def test_metaclass_does_not_match_unrelated(self): | CODE |
| 1815 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/common.py | 64 | CODE | |
| LOW | tests/common.py | 198 | CODE | |
| LOW | tests/serialization/test_db.py | 261 | CODE | |
| LOW | tests/analyses/test_variablerecovery.py | 73 | CODE | |
| LOW | tests/analyses/test_vfg.py | 183 | CODE | |
| LOW | tests/analyses/test_callsite_maker.py | 19 | CODE | |
| LOW | …lyses/reaching_definitions/test_reachingdefinitions.py | 118 | CODE | |
| LOW | …ts/analyses/decompiler/test_variable_nondeterminism.py | 56 | CODE | |
| LOW | tests/analyses/decompiler/test_outliner.py | 20 | CODE | |
| LOW | tests/analyses/decompiler/test_outliner.py | 86 | CODE | |
| LOW | docs/conf.py | 156 | CODE | |
| LOW | angr/state_hierarchy.py | 206 | CODE | |
| LOW | angr/callable.py | 129 | CODE | |
| LOW | angr/sim_type.py | 3786 | CODE | |
| LOW | angr/sim_type.py | 3926 | CODE | |
| LOW | angr/sim_type.py | 4236 | CODE | |
| LOW | angr/sim_type.py | 68 | CODE | |
| LOW | angr/sim_type.py | 173 | CODE | |
| LOW | angr/sim_type.py | 205 | CODE | |
| LOW | angr/sim_type.py | 1902 | CODE | |
| LOW | angr/sim_type.py | 2503 | CODE | |
| LOW | angr/sim_manager.py | 675 | CODE | |
| LOW | angr/sim_manager.py | 695 | CODE | |
| LOW | angr/blade.py | 120 | CODE | |
| LOW | angr/blade.py | 239 | CODE | |
| LOW | angr/blade.py | 341 | CODE | |
| LOW | angr/calling_conventions.py | 849 | CODE | |
| LOW | angr/calling_conventions.py | 1047 | CODE | |
| LOW | angr/calling_conventions.py | 1636 | CODE | |
| LOW | angr/calling_conventions.py | 1675 | CODE | |
| LOW | angr/calling_conventions.py | 1703 | CODE | |
| LOW | angr/calling_conventions.py | 1743 | CODE | |
| LOW | angr/calling_conventions.py | 1792 | CODE | |
| LOW | angr/calling_conventions.py | 1883 | CODE | |
| LOW | angr/calling_conventions.py | 1922 | CODE | |
| LOW | angr/calling_conventions.py | 1972 | CODE | |
| LOW | angr/calling_conventions.py | 2020 | CODE | |
| LOW | angr/calling_conventions.py | 2135 | CODE | |
| LOW | angr/calling_conventions.py | 2228 | CODE | |
| LOW | angr/calling_conventions.py | 2258 | CODE | |
| LOW | angr/calling_conventions.py | 2326 | CODE | |
| LOW | angr/calling_conventions.py | 2368 | CODE | |
| LOW | angr/calling_conventions.py | 2416 | CODE | |
| LOW | angr/tablespecs.py | 18 | CODE | |
| LOW | angr/sim_state.py | 95 | CODE | |
| LOW | angr/sim_state.py | 300 | CODE | |
| LOW | angr/sim_state.py | 802 | CODE | |
| LOW | angr/keyed_region.py | 389 | CODE | |
| LOW | angr/keyed_region.py | 500 | CODE | |
| LOW | angr/block.py | 205 | CODE | |
| LOW | angr/__main__.py | 180 | CODE | |
| LOW | angr/__main__.py | 259 | CODE | |
| LOW | angr/project.py | 119 | CODE | |
| LOW | angr/project.py | 340 | CODE | |
| LOW | angr/project.py | 640 | CODE | |
| LOW | angr/sim_procedure.py | 199 | CODE | |
| LOW | angr/sim_procedure.py | 467 | CODE | |
| LOW | angr/procedures/cgc/allocate.py | 17 | CODE | |
| LOW | angr/procedures/posix/accept.py | 9 | CODE | |
| LOW | angr/procedures/libc/error.py | 20 | CODE | |
| 972 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | native/angr/src/icicle.rs | 569 | self.vm.cpu.mem.modified.iter().copied().collect() | CODE |
| CRITICAL | tests/exploration_techniques/test_spiller.py | 42 | claripy.ast.bv.BV._hash_cache.clear() | CODE |
| CRITICAL | tests/exploration_techniques/test_oppologist.py | 19 | angr.engines.vex.claripy.irop.operations.clear() | CODE |
| CRITICAL | tests/exploration_techniques/test_oppologist.py | 28 | angr.engines.vex.claripy.irop.operations.update(old_ops) | CODE |
| CRITICAL⚡ | tests/analyses/decompiler/test_decompiler.py | 804 | result = angr.analyses.decompiler.structured_codegen.c.CConstant.str_to_c_str(_input) | CODE |
| CRITICAL | angr/procedures/java_jni/__init__.py | 48 | return self.state.project.loader.extern_object.allocate(size=size) | CODE |
| CRITICAL | angr/simos/linux.py | 434 | self.project.loader.extern_object.memory.pack_word( | CODE |
| CRITICAL | angr/storage/memory_mixins/name_resolution_mixin.py | 33 | "cc_dep1", angr.engines.vex.claripy.ccall._get_flags(self.state) | CODE |
| CRITICAL | angr/storage/memory_mixins/name_resolution_mixin.py | 39 | self.store("cc_dep1", angr.engines.vex.claripy.ccall._get_flags(self.state)) | CODE |
| CRITICAL | angr/knowledge_plugins/cfg/cfg_model.py | 997 | plt_entry = self.project.loader.main_object.reverse_plt.get(irsb_addr, None) | CODE |
| CRITICAL⚡ | angr/knowledge_plugins/variables/variable_manager.py | 755 | reg_ = self.manager._kb._project.arch.registers.get(reg) | CODE |
| CRITICAL | angr/knowledge_plugins/functions/function.py | 635 | b = self._function_manager._kb._project.factory.block(addr) | CODE |
| CRITICAL | angr/knowledge_plugins/functions/function.py | 645 | b = self._function_manager._kb._project.factory.block(addr) | CODE |
| CRITICAL | angr/state_plugins/unicorn_engine.py | 580 | if not h.setup_imports(unicorn.unicorn_py3.unicorn.uclib._name.encode()): | CODE |
| CRITICAL | angr/state_plugins/jni_references.py | 48 | opaque_ref = self.state.project.loader.extern_object.allocate() | CODE |
| CRITICAL | angr/analyses/bindiff.py | 1046 | for name, addr in self.project.loader.main_object.plt.items(): | CODE |
| CRITICAL | angr/analyses/boyscout.py | 46 | for start_, data in self.project.loader.main_object.memory.backers(): | CODE |
| CRITICAL | angr/analyses/soot_class_hierarchy.py | 41 | for _class_name, cls in self.project.loader.main_object.classes.items(): | CODE |
| CRITICAL | angr/analyses/soot_class_hierarchy.py | 48 | for _class_name, cls in self.project.loader.main_object.classes.items(): | CODE |
| CRITICAL | angr/analyses/soot_class_hierarchy.py | 67 | for _class_name, cls in self.project.loader.main_object.classes.items(): | CODE |
| CRITICAL | angr/analyses/callee_cleanup_finder.py | 16 | starts = [imp.resolvedby.rebased_addr for imp in self.project.loader.main_object.imports.values()] | CODE |
| CRITICAL | angr/analyses/deobfuscator/string_obf_finder.py | 172 | pred for pred in self.project.kb.functions.callgraph.predecessors(func.addr) if pred != func.addr | CODE |
| CRITICAL | angr/analyses/deobfuscator/string_obf_finder.py | 470 | pred for pred in self.project.kb.functions.callgraph.predecessors(func.addr) if pred != func.addr | CODE |
| CRITICAL | angr/analyses/reaching_definitions/rd_state.py | 425 | cfg = self.analysis.project.kb.cfgs.get_most_accurate() | CODE |
| CRITICAL | angr/analyses/reaching_definitions/function_handler.py | 355 | data.function = state.analysis.project.kb.functions.get(data.address, None) | CODE |
| CRITICAL | angr/analyses/reaching_definitions/function_handler.py | 416 | if (data.symbol is None and state.analysis.project.loader.main_object.contains_addr(data.address)) or ( | CODE |
| CRITICAL | angr/analyses/cfg/cfg_fast.py | 2638 | security_cookie_addr = self.project.loader.main_object.load_config.get("SecurityCookie", None) | CODE |
| CRITICAL | angr/analyses/cfg/cfg_fast_soot.py | 96 | for cls in self.project.loader.main_object.classes.values(): | CODE |
| CRITICAL | angr/analyses/decompiler/decompiler.py | 116 | cfg = self.func._function_manager._kb.cfgs.get_most_accurate() | CODE |
| CRITICAL | …ler/optimization_passes/win_stack_canary_simplifier.py | 40 | self._security_cookie_addr = self.project.loader.main_object.load_config.get("SecurityCookie", None) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/analyses/decompiler/test_rust_misc_passes.py | 43 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/analyses/decompiler/test_rust_misc_passes.py | 45 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/analyses/decompiler/test_rust_misc_passes.py | 66 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/analyses/decompiler/test_rust_misc_passes.py | 68 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/analyses/decompiler/test_rust_misc_passes.py | 97 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/analyses/decompiler/test_rust_misc_passes.py | 99 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 176 | # │ │ │ │ │ │ │ │ │ ╭────────────╴│ 46ae69 jne 0x46aed0 | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 186 | # │ │ │ │ │ │ │ │ │ │ ╭──────────╴│ 46ae79 jne 0x46aed0 | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 196 | # │ │ │ │ │ │ │ │ │ │ │ ╭──────────╴46ae89 je 0x46aed2 | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 199 | # │ │ │ │ │ │ │ │ │ │ │ │ ╭──────╴46ae8e jmp 0x46aec3 | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 244 | # │ │ │ ╰▸╰▸╰──────▸╰────▸╰▸╰──────▸╰▸46aed2 mov al, bl | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 247 | # │ │ ╰──────────────────────────▸│ 46aed6 lea eax, [ebp-0x34] | COMMENT |
| MEDIUM⚡ | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 256 | # ╰▸╰────────────────────────────▸│ │ 46aee4 xor al, al | COMMENT |
| MEDIUM | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 49 | # ╭────────────▸│ │ 46ad5e mov dword ptr [ebp-0x40], eax | COMMENT |
| MEDIUM | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 51 | # ╭────────────╴│ │ │ 46ad64 jae 0x46aee4 | COMMENT |
| MEDIUM | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 100 | # │ ╭────────╴│ │ 46adce je 0x46aed6 | COMMENT |
| MEDIUM | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 142 | # │ │ │ │ │ │ │ │ ╭──────────────╴│ │ 46ae2a jmp 0x46aec3 | COMMENT |
| MEDIUM | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 156 | # │ │ │ │ │ │ │ │ ╭────────────────╴46ae45 je 0x46aed2 | COMMENT |
| MEDIUM | angr/rust/typehoon/translator.py | 37 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/rust/typehoon/translator.py | 39 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/rust/typehoon/translator.py | 171 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/rust/typehoon/translator.py | 173 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/rust/typehoon/translator.py | 240 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/rust/typehoon/translator.py | 242 | # ---------------------------------------------------------------- | COMMENT |
| MEDIUM | …ust/analyses/rust_calling_convention/fact_collector.py | 15 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ust/analyses/rust_calling_convention/fact_collector.py | 17 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ust/analyses/rust_calling_convention/fact_collector.py | 242 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ust/analyses/rust_calling_convention/fact_collector.py | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/mcp/server.py | 57 | # ============================================================================ | COMMENT |
| MEDIUM | angr/mcp/server.py | 59 | # ============================================================================ | COMMENT |
| MEDIUM | angr/mcp/server.py | 342 | # ============================================================================ | COMMENT |
| MEDIUM | angr/mcp/server.py | 344 | # ============================================================================ | COMMENT |
| MEDIUM | angr/mcp/server.py | 679 | # ============================================================================ | COMMENT |
| MEDIUM | angr/mcp/server.py | 681 | # ============================================================================ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 202 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 204 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 232 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 234 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 251 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 253 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 312 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 314 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 339 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 341 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 357 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 359 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 422 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/language_detector.py | 424 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | angr/analyses/cfg/pe_msvc_eh_structs.py | 24 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | angr/analyses/cfg/pe_msvc_eh_structs.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | corpus_tests/scripts/gh_create_branch.sh | 120 | # Create the new ref. | COMMENT |
| MEDIUM | tests/procedures/posix/test_unlink.py | 17 | # Create a file 'test' | COMMENT |
| MEDIUM | tests/procedures/linux_kernel/test_lseek.py | 33 | # Create a file | COMMENT |
| MEDIUM | tests/procedures/linux_kernel/test_lseek.py | 70 | # Create a file | COMMENT |
| MEDIUM | tests/procedures/linux_kernel/test_lseek.py | 97 | # Create a file | COMMENT |
| MEDIUM | tests/procedures/linux_kernel/test_lseek.py | 151 | # Create a file | COMMENT |
| MEDIUM | tests/procedures/linux_kernel/test_lseek.py | 166 | # Create a file | COMMENT |
| MEDIUM | tests/angrdb/test_angrdb_load_missing_binary.py | 36 | # Create a project from the temporary copy and dump it | COMMENT |
| MEDIUM | tests/types/test_enum_inference.py | 56 | # Create an enum type | COMMENT |
| MEDIUM | tests/types/test_enum_inference.py | 135 | # Define the enum type for the parameter | STRING |
| MEDIUM | tests/types/test_enum_inference.py | 205 | # Create a complex enum | COMMENT |
| MEDIUM | tests/knowledge_plugins/test_variable_manager.py | 22 | # Create a VariableManagerInternal and generate some variable idents | COMMENT |
| MEDIUM | tests/state_plugins/posix/test_posix.py | 14 | # Create a state first | COMMENT |
| MEDIUM | tests/state_plugins/posix/test_posix.py | 17 | # Create a file | COMMENT |
| MEDIUM | tests/analyses/test_variablerecovery.py | 79 | # Create a temporary KnowledgeBase instance | COMMENT |
| MEDIUM | tests/analyses/test_cdg.py | 26 | # Create a project with a random binary - it will not be used anyways | COMMENT |
| MEDIUM | tests/analyses/test_cdg.py | 33 | # Create the CDG analysis | COMMENT |
| MEDIUM | tests/analyses/test_cdg.py | 61 | # Create a TemporaryNode for each node | COMMENT |
| MEDIUM | tests/analyses/test_cdg.py | 125 | # Create the mock post-dom graph | COMMENT |
| MEDIUM | tests/analyses/cfg/test_cfg_patching.py | 142 | # Define the data region and run analysis for function reconstruction | COMMENT |
| MEDIUM | tests/analyses/decompiler/test_decompiler.py | 3852 | # This function is expected to emit some (referenced) struct typedefs; if it stops doing so | STRING |
| MEDIUM | angr/sim_options.py | 1 | # This module contains the analysis options. | COMMENT |
| MEDIUM | angr/angrdb/db.py | 223 | # Create the project | COMMENT |
| MEDIUM | angr/utils/graph.py | 479 | # Create the end_node, too | COMMENT |
| MEDIUM | angr/simos/cgc.py | 47 | # Create the CGC plugin | COMMENT |
| MEDIUM | angr/simos/windows.py | 250 | # Create a LDR_MODULE, we'll handle the links later... | COMMENT |
| MEDIUM | angr/mcp/server.py | 32 | # Create the FastMCP server instance | COMMENT |
| MEDIUM | angr/knowledge_plugins/functions/function_manager.py | 61 | # Create a new function | COMMENT |
| MEDIUM | angr/knowledge_plugins/functions/function.py | 1720 | # Create a new one | COMMENT |
| MEDIUM | angr/state_plugins/sim_action.py | 1 | # This module contains data structures for handling memory, code, and register references. | COMMENT |
| MEDIUM | angr/analyses/cdg.py | 156 | # Create the normalized_cfg without the annoying ContainerNodes | COMMENT |
| MEDIUM | angr/analyses/vsa_ddg.py | 272 | # Create an edge between def site and use site | COMMENT |
| MEDIUM | angr/analyses/vfg.py | 545 | # Create the initial state | COMMENT |
| MEDIUM | angr/analyses/vfg.py | 870 | # Create a new call stack for the successor | COMMENT |
| MEDIUM | angr/analyses/deobfuscator/api_obf_type2_finder.py | 144 | # Create a label | COMMENT |
| MEDIUM | angr/analyses/deobfuscator/api_obf_type2_finder.py | 149 | # Create a variable | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_fast.py | 875 | # Create the segment list | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_fast.py | 1522 | # Create a read-only memory view in loader for faster data loading | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_fast.py | 1557 | # Create an initial state. Store it to self so we can use it globally. | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_fast.py | 5685 | # Create a CFG node, and add it to the graph | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 558 | # Create a common end node for all nodes whose out_degree is 0 | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 1222 | # Create the CFGNode object | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 1850 | # Create the new call stack of target block | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 1852 | # Create the callstack suffix | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 2146 | # Create a return site for current function | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 2154 | # Create a returning edge in the caller function | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 2687 | # Create a partial CFG first | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 3107 | # Create the function if it doesn't exist | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_base.py | 1409 | # Create a new one | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_base.py | 3081 | # Create an IndirectJump instance | COMMENT |
| MEDIUM | angr/analyses/cfg/indirect_jump_resolvers/jumptable.py | 1026 | # Create the annotated CFG | COMMENT |
| MEDIUM | angr/analyses/cfg/indirect_jump_resolvers/jumptable.py | 1052 | # Create the slicecutor | COMMENT |
| MEDIUM | angr/analyses/data_dep/data_dependency_analysis.py | 536 | # Create a simplified version of the graph | COMMENT |
| MEDIUM | angr/analyses/decompiler/clinic.py | 2717 | # Create a new global variable if there isn't one already | COMMENT |
| MEDIUM | angr/analyses/decompiler/structurer_nodes.py | 422 | # The following classes are custom AIL statements (not nodes, unfortunately) | COMMENT |
| MEDIUM | angr/analyses/decompiler/structuring/dream.py | 314 | # Create a graph region and structure it | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/sim/test_ail_exec.py | 75 | state.callstack.push(top_frame) | CODE |
| HIGH | tests/sim/test_ail_exec.py | 124 | state.callstack.push(top_frame) | CODE |
| HIGH | tests/sim/test_ail_exec.py | 168 | state.callstack.push(top_frame) | CODE |
| HIGH | tests/sim/test_ail_exec.py | 229 | state.callstack.push(top_frame) | CODE |
| HIGH | tests/sim/test_ail_exec.py | 279 | state.callstack.push(top_frame) | CODE |
| HIGH⚡ | tests/sim/test_ail_exec.py | 334 | state.callstack.push(AILCallStack(func_addr=0xDEADBEEF)) | CODE |
| HIGH⚡ | tests/sim/test_ail_exec.py | 337 | state.callstack.push(top_frame) | CODE |
| HIGH | tests/sim/test_ail_exec.py | 370 | state.callstack.push(top_frame) | CODE |
| HIGH | angr/procedures/java_jni/string_operations.py | 31 | # if isCopy is not null, store JNI_TRUE at that address | COMMENT |
| HIGH | angr/procedures/java_jni/array_operations.py | 167 | # if isCopy is not null, store JNI_TRUE at that address | COMMENT |
| HIGH | angr/procedures/posix/fdopen.py | 76 | return claripy.If(fd_int == fd_concr, file_struct_ptr, null) | CODE |
| HIGH | angr/procedures/libc/fopen.py | 64 | return claripy.If(fd == fd_concr, file_struct_ptr, null) | CODE |
| HIGH | angr/simos/javavm.py | 160 | state.callstack.push(new_frame) | CODE |
| HIGH | angr/engines/soot/engine.py | 262 | state.callstack.push(state.callstack.copy()) | CODE |
| HIGH | angr/engines/ail/engine_light.py | 295 | self.frame.push(new_frame) | CODE |
| HIGH | angr/engines/ail/setup.py | 61 | state.callstack.push(top_frame) | CODE |
| HIGH | angr/state_plugins/callstack.py | 282 | return self.push(frame) | CODE |
| HIGH | angr/state_plugins/callstack.py | 417 | self.push(new_frame) | CODE |
| HIGH | angr/state_plugins/heap/heap_ptmalloc.py | 289 | pointer). Returns None if ptr is null. | STRING |
| HIGH | angr/state_plugins/heap/heap_ptmalloc.py | 292 | :returns: a pointer to the base of the associated heap chunk, or None if ptr is null | STRING |
| HIGH | angr/analyses/typehoon/simple_solver.py | 1290 | a <:b && b <: a ==> a == b | STRING |
| HIGH | angr/analyses/reaching_definitions/engine_vex.py | 267 | l.debug("Memory address undefined, ins_addr = %#x.", self.ins_addr) | CODE |
| HIGH | angr/analyses/reaching_definitions/engine_vex.py | 463 | l.debug("Memory address undefined, ins_addr = %#x.", self.ins_addr) | CODE |
| HIGH | angr/analyses/decompiler/structured_codegen/c.py | 650 | set(name_to_structtypes.keys()) # type: ignore[possibly-undefined] | CODE |
| HIGH | angr/analyses/decompiler/ccall_rewriters/arm_ccalls.py | 232 | checking !Z && N==V) are exactly equivalent to signed comparisons. | STRING |
| HIGH | …tions/invert_negated_logical_conjuction_disjunction.py | 15 | NAME = "!(A && B) => A || B; !(A || B) => A && B" | CODE |
| HIGH | …tions/invert_negated_logical_conjuction_disjunction.py | 15 | NAME = "!(A && B) => A || B; !(A || B) => A && B" | CODE |
| HIGH | angr/analyses/decompiler/counters/boolean_counter.py | 16 | In the case of: `if (a || (b && c))`, it will count 2 Boolean operators. | STRING |
| HIGH | angr/analyses/s_reaching_definitions/s_rda_model.py | 129 | # --- reconcile extern (used-but-undefined) definitions to match a full rebuild --- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | native/unicornlib/log.c | 21 | #include "log.h" | COMMENT |
| LOW | native/unicornlib/sim_unicorn.hpp | 1 | #ifndef SIM_UNICORN_HPP | COMMENT |
| LOW | native/unicornlib/sim_unicorn.hpp | 561 | // List of all memory writes and their taint status | COMMENT |
| LOW | native/unicornlib/unicorn_dynamic.c | 1 | #include <stdbool.h> | COMMENT |
| LOW | native/unicornlib/log.h | 21 | COMMENT | |
| LOW | native/unicornlib/log.h | 61 | void logLog(enum llevel_t ll, const char *fn, int ln, bool perr, const char *fmt, ...) | COMMENT |
| LOW | native/unicornlib/sim_unicorn.cpp | 1 | #define __STDC_FORMAT_MACROS 1 | COMMENT |
| LOW | native/unicornlib/sim_unicorn.cpp | 221 | // first part and not for the remaining ones, so it is impossible to find the | COMMENT |
| LOW | native/angr/src/ailment/ail_stmt.rs | 1 | //! Fat-enum design for AIL Statements. | COMMENT |
| LOW | native/angr/src/ailment/ail_stmt.rs | 761 | COMMENT | |
| LOW | native/angr/src/ailment/tags.rs | 1 | //! Tags storage for AIL objects. | COMMENT |
| LOW | native/angr/src/ailment/tags.rs | 421 | /// Python-facing view over a `Tags` struct. Exposed via the `.tags` | COMMENT |
| LOW | native/angr/src/ailment/enums.rs | 461 | }) | COMMENT |
| LOW | native/angr/src/ailment/mod.rs | 41 | // ``angr/ailment/expression.py`` and ``angr/ailment/statement.py``. | COMMENT |
| LOW | native/angr/src/ailment/mod.rs | 61 | /// | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 1 | //! ``AilExpression`` fat-enum + single ``Expression`` pyclass. | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 241 | /// round-trips. | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 301 | // ConditionalJump.{true,false}_target, and Call.target | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 441 | /// Typed payload for ``VirtualVariable.oident``. Shape depends on the | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 621 | } | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 661 | /// ``__hash__`` stays consistent with the idx-aware ``__eq__``: two | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 1021 | /// and a replace targeting one must not rewrite the other. | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 1861 | /// information AND their operands transitively ``likes`` each other. | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 2281 | } | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 2301 | /// | COMMENT |
| LOW | native/angr/src/ailment/ail_expr.rs | 5561 | // | COMMENT |
| LOW | tests/procedures/libc/test_string.py | 761 | cm = strcmp(s, arguments=[dst_addr, src_addr]) | COMMENT |
| LOW | tests/procedures/libc/test_string.py | 881 | assert sorted(s_match.solver.eval_upto(s_match.memory.load(0x13, 1), 300)) == [0x00, 0x44] | COMMENT |
| LOW | tests/procedures/libc/test_string.py | 901 | # match_cmp = strncmp(s_match, inline=True, arguments=[ss_res, addr_needle, len_needle]) | COMMENT |
| LOW | tests/storage/test_memory.py | 221 | # n = claripy.BVS('replace_new', 32, explicit_name=True) | COMMENT |
| LOW | tests/engines/pcode/test_emulate.py | 581 | # OpCode.FLOAT_CEIL | COMMENT |
| LOW | tests/state_plugins/solver/test_symbolic.py | 61 | COMMENT | |
| LOW | tests/analyses/test_slicing.py | 101 | use_sim_procedures=True, | COMMENT |
| LOW | tests/analyses/test_typehoon.py | 321 | # struct struct_0 *field_0; | COMMENT |
| LOW | tests/analyses/decompiler/test_structurer.py | 81 | g = networkx.DiGraph() | COMMENT |
| LOW | tests/analyses/decompiler/test_decompiler.py | 2801 | # RedundantLableRemover. | COMMENT |
| LOW | tests/analyses/decompiler/test_decompiler.py | 3121 | # { | COMMENT |
| LOW | tests/analyses/decompiler/test_decompiler.py | 3361 | text = text.replace(" ", "").replace("\n", "") | COMMENT |
| LOW | tests/analyses/decompiler/test_decompiler.py | 4421 | # the original source code, but in many ways makes the code better. So we test it still works. | COMMENT |
| LOW | tests/analyses/decompiler/test_decompiler.py | 5101 | # """ | COMMENT |
| LOW | tests/analyses/decompiler/test_decompiler.py | 5281 | # { | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 21 | # 46ad1f mov edi, edi | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 41 | # 46ad4e mov edx, dword ptr [ebp-0x3c] | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 61 | # │ │ │ │ │ 46ad7d pop ecx | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 81 | # │ │ │ │ 46ada2 mov dword ptr [eax-0x4], edx | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 101 | # │ │ │ │ | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 121 | # │ │ │ │ │ │ │ │ 46adff lea eax, [ebp-0x28] | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 141 | # │ │ │ │ │ │ │ │ │ │ 46ae27 lea eax, [ebp-0x10] | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 161 | # │ │ │ │ │ │ │ │ │ 46ae50 call 0x46b064 | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 181 | # │ │ │ │ │ │ │ │ │ │ │ 46ae70 call 0x46aef5 | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 201 | # │ │ │ │ │ │ ╰──▸│ │ │ │ │ │ 46ae90 lea eax, [ebp-0x34] | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 221 | # │ │ │ │ │ │ │ │ │ │ │ │ │ │ 46aeb0 lea eax, [ebp-0x28] | COMMENT |
| LOW | …ts/analyses/decompiler/test_ssa_addr_taken_stackvar.py | 241 | # │ │ │ │ │ │ │ │ │ │ │ │ │ │ | COMMENT |
| LOW | tests/analyses/decompiler/test_outliner.py | 101 | assert dec.clinic is not None | COMMENT |
| LOW | docs/conf.py | 81 | # -- Options for HTML output ------------------------------------------------- | COMMENT |
| LOW | angr/sim_options.py | 281 | APPROXIMATE_FIRST = "APPROXIMATE_FIRST" | COMMENT |
| LOW | angr/procedures/java_jni/array_operations.py | 261 | # There is no valid combination of start_idx and length, s.t. the | COMMENT |
| LOW | angr/procedures/linux_kernel/sysinfo.py | 1 | # pylint:disable=missing-class-docstring | COMMENT |
| LOW | angr/procedures/glibc/__libc_start_main.py | 201 | # special handling for x86 PIE GCC binaries | COMMENT |
| LOW | angr/procedures/definitions/__init__.py | 821 | # Autoloading | COMMENT |
| 56 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | angr/procedures/definitions/__init__.py | 248 | def set_prototype(self, name, proto: SimTypeFunction) -> None: | CODE |
| LOW | angr/procedures/definitions/__init__.py | 257 | def set_prototypes(self, protos: dict[str, SimTypeFunction]) -> None: | CODE |
| LOW | angr/procedures/definitions/__init__.py | 647 | def set_prototype(self, abi: str, name: str, proto: SimTypeFunction) -> None: # type: ignore | CODE |
| LOW | angr/procedures/definitions/__init__.py | 658 | def set_prototypes(self, abi: str, protos: dict[str, SimTypeFunction]) -> None: # type: ignore | CODE |
| LOW | angr/ailment/_deepcopy.py | 36 | __all__ = [ | CODE |
| LOW | angr/ailment/tagged_object.py | 94 | __all__ = ["TagDict", "TaggedObject"] | CODE |
| LOW | angr/ailment/statement.py | 262 | __all__ = [ | CODE |
| LOW | angr/ailment/__init__.py | 62 | __all__ = [ | CODE |
| LOW | angr/ailment/block.py | 7 | __all__ = ["Block"] | CODE |
| LOW | angr/ailment/expression.py | 674 | __all__ = [ | CODE |
| LOW | angr/misc/telemetry.py | 56 | __all__ = ["Status", "StatusCode", "get_current_span", "get_tracer"] | CODE |
| LOW | angr/rust/mixins/cfg_transformation_mixin.py | 83 | def _update_phi_variables_after_removing_block(graph, preds, removed_block: Block) -> None: | CODE |
| LOW | angr/rust/mixins/__init__.py | 9 | __all__ = [ | CODE |
| LOW | angr/rust/knowledge_plugins/__init__.py | 10 | __all__ = [ | CODE |
| LOW | angr/rust/analyses/rust_calling_convention/__init__.py | 7 | __all__ = [ | CODE |
| LOW | angr/utils/json_utils.py | 34 | __all__ = ["json_decode", "json_encode"] | CODE |
| LOW | angr/mcp/__init__.py | 51 | __all__ = [ | CODE |
| LOW | angr/knowledge_plugins/cfg/spilling_cfg.py | 1152 | def set_rtdb(self, rtdb: RuntimeDb | None) -> None: | CODE |
| LOW | angr/knowledge_plugins/cfg/types.py | 16 | __all__ = ["CFGENODE_K", "CFGNODE_K", "CFG_ADDR_TYPES", "SOOTNODE_K", "K"] | CODE |
| LOW | angr/knowledge_plugins/cfg/spilling_digraph.py | 570 | def set_rtdb(self, rtdb: RuntimeDb | None) -> None: | CODE |
| LOW | angr/knowledge_plugins/variables/variable_manager.py | 1205 | def set_unified_variable(self, variable: SimVariable, unified: SimVariable) -> None: | CODE |
| LOW | angr/knowledge_plugins/rtdb/__init__.py | 5 | __all__ = ["RuntimeDb"] | CODE |
| LOW | angr/knowledge_plugins/functions/function_manager.py | 1379 | def set_function_returning(self, addr: K, v: bool | None) -> None: | CODE |
| LOW | angr/knowledge_plugins/functions/function_manager.py | 1434 | def set_func_block_count(self, addr: K, count: int) -> None: | CODE |
| LOW | angr/knowledge_plugins/functions/function_manager.py | 1476 | def set_from_signature(self, addr: K, from_signature: str | None) -> None: | CODE |
| LOW | angr/knowledge_plugins/functions/function.py | 1224 | def update_func_block_count(self) -> None: | CODE |
| LOW | angr/engines/__init__.py | 38 | __all__ = [ | CODE |
| LOW | angr/engines/pcode/emulate.py | 162 | def _set_value(self, varnode: Varnode, value: BV) -> None: | CODE |
| LOW | angr/engines/ail/__init__.py | 6 | __all__ = [ | CODE |
| LOW | angr/state_plugins/inspect.py | 298 | def _set_inspect_attrs(self, **kwargs: dict[str, Any]) -> None: | CODE |
| LOW | angr/state_plugins/plugin.py | 38 | def set_state(self, state) -> None: | CODE |
| LOW | angr/state_plugins/plugin.py | 44 | def set_strongref_state(self, state) -> None: | CODE |
| LOW | angr/analyses/vfg.py | 1278 | def _set_return_address(self, state: SimState, ret_addr: int) -> None: | CODE |
| LOW | angr/analyses/calling_convention/__init__.py | 6 | __all__ = ["CallingConventionAnalysis", "FactCollector"] | CODE |
| LOW | angr/analyses/loop_unroller/__init__.py | 5 | __all__ = ["LoopUnroller"] | CODE |
| LOW | angr/analyses/loop_analysis/__init__.py | 5 | __all__ = ["LoopAnalysis"] | CODE |
| LOW | …ching_definitions/function_handler_library/__init__.py | 13 | __all__ = ["EnvironAtom", "ExecveAtom", "LibcHandlers", "StdinAtom", "StdoutAtom", "SystemAtom"] | CODE |
| LOW | angr/analyses/purity/__init__.py | 3 | __all__ = [ | CODE |
| LOW | angr/analyses/decompiler/redundant_label_remover.py | 44 | def _update_jump_targets(self) -> None: | CODE |
| LOW | angr/analyses/decompiler/region_overlay.py | 175 | def _set_owner(self, node, new_owner: RegionOverlay | None) -> None: | CODE |
| LOW | angr/analyses/decompiler/region_identifier.py | 876 | def _update_graph(graph: TGraph, new_region: RegionOverlay, replaced_nodes: set[TNode]) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/clinic.py | 2472 | def _set_expr_variable(self, expr, variable, offset) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/clinic.py | 2475 | def _set_store_variable(self, stmt, variable, offset) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/clinic.py | 2478 | def _set_reference_variable(self, expr, variable, offset) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/clinic.py | 2481 | def _set_reference_values(self, expr, reference_values) -> None: | CODE |
| LOW | angr/analyses/decompiler/variable_map.py | 170 | def set_variable(self, obj: AILObject | int, variable: SimVariable | None, offset: int = 0) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 190 | def set_variable_offset(self, obj: AILObject | int, offset: int) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 193 | def set_custom_string(self, obj: AILObject | int, value: bool = True) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 196 | def set_reference_values(self, obj: AILObject | int, reference_values: dict[SimType, Any]) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 199 | def set_reference_variable(self, obj: AILObject | int, variable: SimVariable | None, offset: int = 0) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 210 | def set_prototype(self, obj: AILObject | int, prototype: SimTypeFunction | None) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 220 | def set_calling_convention(self, obj: AILObject | int, cc: SimCC | None) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 230 | def set_variant(self, obj: AILObject | int, variant: Any) -> None: | CODE |
| LOW⚡ | angr/analyses/decompiler/variable_map.py | 240 | def set_returnty(self, obj: AILObject | int, returnty: SimType | None) -> None: | CODE |
| LOW | angr/analyses/decompiler/stackarg_offset_manager.py | 52 | def update_stackoff_vvars(self, rd: SRDAModel) -> None: | CODE |
| LOW | angr/analyses/decompiler/ssailification/__init__.py | 5 | __all__ = ["Ssailification"] | CODE |
| LOW | angr/analyses/decompiler/dephication/__init__.py | 7 | __all__ = ["GraphDephication", "GraphDephicationVVarMapping", "SeqNodeDephication"] | CODE |
| LOW | …compiler/optimization_passes/return_duplicator_base.py | 308 | def _update_phi_variables_after_removing_predecessor(node: Block, pred: Block) -> None: | CODE |
| LOW | angr/analyses/decompiler/presets/malware.py | 89 | __all__ = ["preset_malware"] | CODE |
| LOW | angr/analyses/decompiler/presets/fast.py | 85 | __all__ = ["preset_fast"] | CODE |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/exploration_techniques/test_tracer.py | 15 | CODE | |
| LOW | angr/callable.py | 30 | CODE | |
| LOW | angr/sim_type.py | 2342 | CODE | |
| LOW | angr/sim_manager.py | 72 | CODE | |
| LOW | angr/sim_manager.py | 280 | CODE | |
| LOW | angr/sim_manager.py | 380 | CODE | |
| LOW | angr/blade.py | 26 | CODE | |
| LOW | angr/factory.py | 241 | CODE | |
| LOW | angr/factory.py | 311 | CODE | |
| LOW | angr/factory.py | 335 | CODE | |
| LOW | angr/factory.py | 356 | CODE | |
| LOW | angr/sim_state.py | 95 | CODE | |
| LOW | angr/block.py | 205 | CODE | |
| LOW | angr/project.py | 119 | CODE | |
| LOW | angr/sim_procedure.py | 118 | CODE | |
| LOW | angr/distributed/server.py | 29 | CODE | |
| LOW | angr/rust/typehoon/typehoon.py | 21 | CODE | |
| LOW | angr/exploration_techniques/spiller.py | 148 | CODE | |
| LOW | angr/exploration_techniques/loop_seer.py | 21 | CODE | |
| LOW | angr/exploration_techniques/tracer.py | 162 | CODE | |
| LOW | angr/simos/simos.py | 91 | CODE | |
| LOW | angr/storage/file.py | 185 | CODE | |
| LOW | angr/storage/memory_mixins/hex_dumper_mixin.py | 11 | CODE | |
| LOW | …memory_mixins/regioned_memory/regioned_memory_mixin.py | 45 | CODE | |
| LOW | …gr/knowledge_plugins/propagations/propagation_model.py | 34 | CODE | |
| LOW | angr/knowledge_plugins/propagations/states.py | 78 | CODE | |
| LOW | angr/knowledge_plugins/propagations/states.py | 364 | CODE | |
| LOW | angr/knowledge_plugins/propagations/states.py | 415 | CODE | |
| LOW | …/knowledge_plugins/key_definitions/live_definitions.py | 117 | CODE | |
| LOW | angr/knowledge_plugins/cfg/indirect_jump.py | 67 | CODE | |
| LOW | angr/knowledge_plugins/cfg/cfg_node.py | 77 | CODE | |
| LOW | angr/knowledge_plugins/cfg/cfg_node.py | 476 | CODE | |
| LOW | angr/knowledge_plugins/functions/function.py | 168 | CODE | |
| LOW | angr/engines/vex/lifter.py | 77 | CODE | |
| LOW | angr/engines/vex/heavy/heavy.py | 85 | CODE | |
| LOW | angr/engines/pcode/lifter.py | 637 | CODE | |
| LOW | angr/engines/pcode/lifter.py | 151 | CODE | |
| LOW | angr/engines/pcode/lifter.py | 461 | CODE | |
| LOW | angr/engines/pcode/lifter.py | 579 | CODE | |
| LOW | angr/engines/pcode/lifter.py | 1049 | CODE | |
| LOW | angr/engines/pcode/lifter.py | 1092 | CODE | |
| LOW | angr/state_plugins/unicorn_engine.py | 605 | CODE | |
| LOW | angr/state_plugins/solver.py | 370 | CODE | |
| LOW | angr/state_plugins/posix.py | 126 | CODE | |
| LOW | angr/analyses/reassembler.py | 1215 | CODE | |
| LOW | angr/analyses/vfg.py | 306 | CODE | |
| LOW | angr/analyses/complete_calling_conventions.py | 59 | CODE | |
| LOW | angr/analyses/typehoon/typehoon.py | 37 | CODE | |
| LOW | …r/analyses/variable_recovery/variable_recovery_fast.py | 62 | CODE | |
| LOW | …r/analyses/variable_recovery/variable_recovery_fast.py | 255 | CODE | |
| LOW | …r/analyses/variable_recovery/variable_recovery_base.py | 198 | CODE | |
| LOW | angr/analyses/calling_convention/calling_convention.py | 108 | CODE | |
| LOW | angr/analyses/propagator/propagator.py | 46 | CODE | |
| LOW | angr/analyses/reaching_definitions/rd_state.py | 76 | CODE | |
| LOW | …/analyses/reaching_definitions/reaching_definitions.py | 51 | CODE | |
| LOW | angr/analyses/cfg/cfg_job_base.py | 63 | CODE | |
| LOW | angr/analyses/cfg/cfg_fast.py | 489 | CODE | |
| LOW | angr/analyses/cfg/cfg_fast.py | 614 | CODE | |
| LOW | angr/analyses/cfg/cfg_emulated.py | 174 | CODE | |
| LOW | angr/analyses/cfg/cfg_base.py | 76 | CODE | |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/analyses/test_ddg_global_var_dependencies.py | 56 | # Check if we are storing a constant to a variable with constant address | COMMENT |
| LOW | tests/analyses/test_ddg_global_var_dependencies.py | 61 | # Check if we are storing the specified constant to the specified variable address | COMMENT |
| LOW⚡ | tests/analyses/decompiler/test_decompiler.py | 5571 | # Check if Reference(reg_vvar) exists | STRING |
| LOW | angr/emulator.py | 101 | # Check if there is a breakpoint at the current address | COMMENT |
| LOW | angr/emulator.py | 106 | # Check if we've already executed the requested number of instructions | COMMENT |
| LOW | angr/procedures/linux_kernel/unlink.py | 17 | # Check if entity exists before attempting to unlink | COMMENT |
| LOW | angr/concretization_strategies/any_named.py | 19 | # Check if a variable already exists | COMMENT |
| LOW | angr/concretization_strategies/signed_add.py | 25 | # Check if negative argument | COMMENT |
| LOW | …ses/rust_calling_convention/rust_calling_convention.py | 239 | # Check if discriminant 0 has any concrete overflow value | COMMENT |
| LOW | angr/utils/graph.py | 124 | elif child not in finished: # Check if the child has not been finished | CODE |
| LOW | angr/utils/graph.py | 373 | self._reverse = reverse # Set it to True to generate a post-dominator tree. | CODE |
| LOW | angr/exploration_techniques/driller_core.py | 96 | # Check if the state is unsat even if we remove preconstraints. | COMMENT |
| LOW | angr/knowledge_plugins/cfg/spilling_cfg.py | 931 | # Check if dst has any other incoming call edges | COMMENT |
| LOW | angr/knowledge_plugins/functions/function_manager.py | 382 | # Check if spilled to LMDB | COMMENT |
| LOW | angr/knowledge_plugins/functions/function_manager.py | 473 | # Check if we need to evict (but not during loading) | COMMENT |
| LOW | angr/analyses/reassembler.py | 340 | # Check if the address points to a function by checking the plt of main binary | COMMENT |
| LOW | angr/analyses/reassembler.py | 603 | # Check if this is a reference to code | COMMENT |
| LOW | angr/analyses/vfg.py | 924 | # Check if this return is inside our pending returns list | COMMENT |
| LOW | angr/analyses/vfg.py | 928 | # Check if we have reached a fix-point | COMMENT |
| LOW | angr/analyses/disassembly.py | 325 | # Check if this is a number or an identifier. | COMMENT |
| LOW | angr/analyses/disassembly.py | 367 | # Check if we are inside braces or parentheses. Do not forget | COMMENT |
| LOW | …decompiler/peephole_optimizations/concat_simplifier.py | 134 | # Check if we're extracting exactly the high part | COMMENT |
| LOW | …decompiler/peephole_optimizations/concat_simplifier.py | 175 | # Check if the mask extracts exactly the low part | COMMENT |
| LOW | …decompiler/peephole_optimizations/concat_simplifier.py | 219 | # Check if we're truncating to exactly the low part size | COMMENT |
| LOW | …decompiler/peephole_optimizations/concat_simplifier.py | 223 | # Check if we're truncating to less than the low part | COMMENT |
| LOW | angr/analyses/decompiler/structuring/phoenix.py | 720 | # Check if the while matcher would produce while(true): if the | COMMENT |
| LOW | …/analyses/decompiler/semantic_naming/boolean_naming.py | 69 | # Assign names to high-confidence boolean variables | COMMENT |
| LOW⚡ | …/analyses/decompiler/semantic_naming/boolean_naming.py | 90 | # Check if assigned a constant 0 or 1 | COMMENT |
| LOW⚡ | …/analyses/decompiler/semantic_naming/boolean_naming.py | 99 | # Check if assigned a comparison result | COMMENT |
| LOW⚡ | …/analyses/decompiler/semantic_naming/boolean_naming.py | 103 | # Check if assigned a logical operation result | COMMENT |
| LOW | …/analyses/decompiler/semantic_naming/boolean_naming.py | 191 | # Check if the source is a comparison | COMMENT |
| LOW | …compiler/semantic_naming/region_loop_counter_naming.py | 135 | # Check if this is a for-loop with an iterator | COMMENT |
| LOW | …compiler/semantic_naming/region_loop_counter_naming.py | 227 | # Check if the unified variable is already named | COMMENT |
| LOW | …lyses/decompiler/semantic_naming/call_result_naming.py | 169 | # Check if we have a naming rule for this function | COMMENT |
| LOW | …lyses/decompiler/semantic_naming/call_result_naming.py | 192 | # Check if we have a naming rule for this function | COMMENT |
| LOW | …/analyses/decompiler/semantic_naming/pointer_naming.py | 170 | # Check if one operand is a variable (the pointer) | COMMENT |
| LOW | angr/analyses/decompiler/semantic_naming/size_naming.py | 107 | # Check if we have size parameter info for this function | COMMENT |
| LOW | …lyses/decompiler/semantic_naming/array_index_naming.py | 91 | # Check if this is a Load with array-style addressing | COMMENT |
| LOW | angr/analyses/decompiler/semantic_naming/naming_base.py | 81 | # Check if variable already has a meaningful name (not auto-generated) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | native/angr/src/fuzzer/executor.rs | 59 | // Step 1: Copy the base state and run the apply function | COMMENT |
| LOW⚡ | native/angr/src/fuzzer/executor.rs | 67 | // Step 2: Get or create the icicle engine (reuse across iterations) | COMMENT |
| LOW | native/angr/src/fuzzer/executor.rs | 146 | // Step 3: Handle the result | COMMENT |
| LOW | native/angr/src/fuzzer/executor.rs | 166 | // Step 4: Copy the edge map from edge_hitmap plugin to the observer to provide feedback | COMMENT |
| LOW | angr/keyed_region.py | 236 | # FIXME: we need to check if old_var still exists in the storage | COMMENT |
| LOW⚡ | angr/project.py | 174 | # Step 2: determine its CPU architecture, ideally falling back to CLE's guess | COMMENT |
| LOW⚡ | angr/project.py | 183 | # Step 3: Set some defaults and set the public and private properties | COMMENT |
| LOW⚡ | angr/project.py | 243 | # Step 4: determine the guest OS | COMMENT |
| LOW⚡ | angr/project.py | 253 | # Step 5: Set up the project's hubs | COMMENT |
| LOW⚡ | angr/project.py | 285 | # Step 7: Run OS-specific configuration | COMMENT |
| LOW⚡ | angr/project.py | 288 | # Step 8: LLM client (lazy-initialized from env vars on first access) | COMMENT |
| LOW | angr/project.py | 146 | # Step 1: Load the binary | COMMENT |
| LOW | angr/project.py | 274 | # Step 6: Register simprocedures as appropriate for library functions | COMMENT |
| LOW | angr/project.py | 345 | # Step 1: get the set of libraries we are allowed to use to resolve unresolved symbols | COMMENT |
| LOW | angr/project.py | 371 | # Step 2: Categorize every "import" symbol in each object. | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 39 | # Step 1: find all native libs | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 47 | # Step 2: determine and set the native SimOS | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 68 | # Step 3: Match static JNI symbols from native libs | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 75 | # Step 4: Allocate memory for the return hook | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 80 | # Step 5: JNI interface functions | COMMENT |
| LOW | angr/storage/file.py | 277 | # Step 1: figure out a reasonable concrete size to use for the memory load | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 378 | # Step 1: setup java callsite, but w/o storing arguments in memory | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 381 | # Step 2: add JNI specific arguments to *args list | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 400 | # Step 3: generate C prototype from java_method | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 406 | # Step 3: create native invoke state | COMMENT |
| LOW | angr/analyses/calling_convention/fact_collector.py | 180 | # so we need to check if this register write is actually a no-op | COMMENT |
| LOW⚡ | …compiler/semantic_naming/region_loop_counter_naming.py | 75 | # Step 1: Collect all LoopNodes from the region | COMMENT |
| LOW⚡ | …compiler/semantic_naming/region_loop_counter_naming.py | 78 | # Step 2: For each loop, identify the counter variable from iterator | COMMENT |
| LOW⚡ | …compiler/semantic_naming/region_loop_counter_naming.py | 81 | # Step 3: Assign names based on nesting depth | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | native/angr/src/fuzzer/executor.rs | 59 | // Step 1: Copy the base state and run the apply function | COMMENT |
| LOW⚡ | native/angr/src/fuzzer/executor.rs | 67 | // Step 2: Get or create the icicle engine (reuse across iterations) | COMMENT |
| LOW | native/angr/src/fuzzer/executor.rs | 146 | // Step 3: Handle the result | COMMENT |
| LOW | native/angr/src/fuzzer/executor.rs | 166 | // Step 4: Copy the edge map from edge_hitmap plugin to the observer to provide feedback | COMMENT |
| LOW⚡ | angr/project.py | 174 | # Step 2: determine its CPU architecture, ideally falling back to CLE's guess | COMMENT |
| LOW⚡ | angr/project.py | 183 | # Step 3: Set some defaults and set the public and private properties | COMMENT |
| LOW⚡ | angr/project.py | 243 | # Step 4: determine the guest OS | COMMENT |
| LOW⚡ | angr/project.py | 253 | # Step 5: Set up the project's hubs | COMMENT |
| LOW⚡ | angr/project.py | 285 | # Step 7: Run OS-specific configuration | COMMENT |
| LOW⚡ | angr/project.py | 288 | # Step 8: LLM client (lazy-initialized from env vars on first access) | COMMENT |
| LOW | angr/project.py | 146 | # Step 1: Load the binary | COMMENT |
| LOW | angr/project.py | 274 | # Step 6: Register simprocedures as appropriate for library functions | COMMENT |
| LOW | angr/project.py | 345 | # Step 1: get the set of libraries we are allowed to use to resolve unresolved symbols | COMMENT |
| LOW | angr/project.py | 371 | # Step 2: Categorize every "import" symbol in each object. | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 39 | # Step 1: find all native libs | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 47 | # Step 2: determine and set the native SimOS | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 68 | # Step 3: Match static JNI symbols from native libs | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 75 | # Step 4: Allocate memory for the return hook | COMMENT |
| LOW⚡ | angr/simos/javavm.py | 80 | # Step 5: JNI interface functions | COMMENT |
| LOW | angr/storage/file.py | 277 | # Step 1: figure out a reasonable concrete size to use for the memory load | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 378 | # Step 1: setup java callsite, but w/o storing arguments in memory | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 381 | # Step 2: add JNI specific arguments to *args list | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 400 | # Step 3: generate C prototype from java_method | COMMENT |
| LOW⚡ | angr/engines/soot/engine.py | 406 | # Step 3: create native invoke state | COMMENT |
| LOW⚡ | …compiler/semantic_naming/region_loop_counter_naming.py | 75 | # Step 1: Collect all LoopNodes from the region | COMMENT |
| LOW⚡ | …compiler/semantic_naming/region_loop_counter_naming.py | 78 | # Step 2: For each loop, identify the counter variable from iterator | COMMENT |
| LOW⚡ | …compiler/semantic_naming/region_loop_counter_naming.py | 81 | # Step 3: Assign names based on nesting depth | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/procedures/glibc/test_ctype_locale.py | 0 | following is the description from linuxfoundation.org: the __ctype_b_loc() function shall return a pointer into an array | STRING |
| HIGH | angr/procedures/glibc/__ctype_toupper_loc.py | 0 | following is the description from linuxfoundation.org: the __ctype_b_loc() function shall return a pointer into an array | STRING |
| HIGH | angr/procedures/glibc/__ctype_tolower_loc.py | 0 | following is the description from linuxfoundation.org: the __ctype_b_loc() function shall return a pointer into an array | STRING |
| HIGH | angr/procedures/glibc/__ctype_b_loc.py | 0 | following is the description from linuxfoundation.org: the __ctype_b_loc() function shall return a pointer into an array | STRING |
| HIGH | angr/analyses/decompiler/ssailification/rewriting.py | 0 | :param node: the current node. :param state: the analysis state. :return: a tuple: (any changes occur, successor state) | STRING |
| HIGH | angr/analyses/decompiler/ssailification/traversal.py | 0 | :param node: the current node. :param state: the analysis state. :return: a tuple: (any changes occur, successor state) | STRING |
| HIGH | angr/analyses/decompiler/dephication/graph_rewriting.py | 0 | :param node: the current node. :param state: the analysis state. :return: a tuple: (any changes occur, successor state) | STRING |
| HIGH | angr/analyses/decompiler/region_simplifiers/goto.py | 0 | :param conditionnode node: :param successor: :return: | STRING |
| HIGH | angr/analyses/decompiler/region_simplifiers/if_.py | 0 | :param conditionnode node: :param successor: :return: | STRING |
| HIGH | …nalyses/decompiler/region_simplifiers/cascading_ifs.py | 0 | :param conditionnode node: :param successor: :return: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | corpus_tests/test_corpus.py | 56 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | corpus_tests/README.md | 127 | except Exception as e: | CODE |
| LOW | tests/common.py | 172 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/llm_client.py | 180 | except Exception as ex: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/sim_state.py | 309 | except Exception: | CODE |
| LOW | angr/__main__.py | 231 | except Exception as e: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/__main__.py | 386 | except Exception as e: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/procedures/definitions/parse_glibc.py | 58 | except Exception as ex: # pylint: disable=broad-exception-caught | CODE |
| LOW⚡ | angr/misc/bug_report.py | 53 | except Exception as e: # pylint: disable=broad-except | CODE |
| MEDIUM⚡ | angr/misc/bug_report.py | 54 | print(f"An error occurred importing {m}: {e}") | CODE |
| LOW⚡ | angr/misc/bug_report.py | 60 | except Exception: # pylint: disable-broad-except | CODE |
| LOW | angr/misc/bug_report.py | 86 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | angr/misc/bug_report.py | 102 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | angr/misc/bug_report.py | 108 | except Exception as e: # pylint: disable=broad-except | CODE |
| LOW | angr/angrdb/db.py | 54 | except Exception as ex: | CODE |
| LOW | angr/angrdb/db.py | 64 | except Exception: | CODE |
| LOW | angr/rust/utils/rust_sigs.py | 46 | except Exception as e: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/rust/knowledge_plugins/clinic_factory.py | 31 | except Exception as e: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/rust/analyses/rustc_version_identification.py | 76 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | …ses/rust_calling_convention/rust_calling_convention.py | 107 | except Exception as e: # pylint:disable=broad-exception-caught | CODE |
| LOW | …ses/rust_calling_convention/rust_calling_convention.py | 115 | except Exception as e: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/utils/library.py | 97 | except Exception: # pylint:disable=broad-except | STRING |
| LOW | angr/utils/library.py | 134 | except Exception: # pylint:disable=broad-except | STRING |
| LOW | angr/utils/timing.py | 67 | except Exception: | CODE |
| LOW | angr/exploration_techniques/oppologist.py | 92 | except Exception: # pylint:disable=broad-except | CODE |
| MEDIUM | angr/exploration_techniques/oppologist.py | 78 | def successors(self, simgr, state, **kwargs): | CODE |
| LOW | angr/simos/windows.py | 388 | except Exception as e: | CODE |
| LOW | angr/mcp/server.py | 299 | except Exception as e: | CODE |
| LOW | angr/state_plugins/solver.py | 59 | except Exception: # pylint:disable=broad-except | CODE |
| LOW | angr/state_plugins/trace_additions.py | 534 | except Exception as e: # pylint: disable=broad-except | CODE |
| MEDIUM | angr/state_plugins/trace_additions.py | 476 | def atoi_dumps(state, require_same_length=True): | CODE |
| LOW | angr/analyses/complete_calling_conventions.py | 376 | except Exception: # pylint:disable=broad-except | CODE |
| LOW | angr/analyses/deobfuscator/api_obf_finder.py | 279 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | …/analyses/deobfuscator/data_transformation_embedder.py | 146 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | …/analyses/deobfuscator/data_transformation_embedder.py | 259 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | …/analyses/deobfuscator/data_transformation_embedder.py | 441 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/analyses/cfg/cfg_fast.py | 2620 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | angr/analyses/cfg/cfg_emulated.py | 2864 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/analyses/cfg/indirect_jump_resolvers/jumptable.py | 2391 | except Exception: # pylint: disable=broad-except | CODE |
| LOW | angr/analyses/decompiler/clinic.py | 2414 | except Exception: # pylint:disable=broad-except | CODE |
| LOW | angr/analyses/decompiler/utils.py | 1198 | except Exception as e: | CODE |
| LOW | angr/analyses/decompiler/decompiler.py | 529 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/analyses/decompiler/decompiler.py | 831 | except Exception: # pylint:disable=broad-except | CODE |
| LOW | angr/analyses/decompiler/decompiler.py | 1140 | except Exception: # pylint:disable=broad-exception-caught | CODE |
| LOW | angr/analyses/decompiler/decompiler.py | 1185 | except Exception as ex: # pylint:disable=broad-exception-caught | CODE |
| LOW | …es/decompiler/optimization_passes/optimization_pass.py | 639 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tests/analyses/cfg/test_cfg_thumb_firmware.py | 23 | # In short, a very comprehensive high level test | COMMENT |
| MEDIUM | tests/analyses/decompiler/test_decompiler.py | 5885 | # No two structurally-identical struct definitions may be emitted (robust to struct renumbering). | STRING |
| MEDIUM | angr/sim_state.py | 829 | # For AbstractMemory, we wanna utilize more information from VSA | COMMENT |
| LOW | angr/simos/javavm.py | 140 | # w/o JNI support, we can just use a blank state | COMMENT |
| LOW | angr/storage/memory_mixins/__init__.py | 199 | # create temporary values. we simply return a TOP value here. | COMMENT |
| LOW | angr/storage/memory_mixins/__init__.py | 220 | # create temporary values. we simply return a TOP value here. | COMMENT |
| LOW | angr/knowledge_plugins/functions/function.py | 2071 | # If a SimCC object is passed assume that this is sane and just use it | COMMENT |
| LOW | angr/state_plugins/trace_additions.py | 251 | # don't add constraints just add replacement | COMMENT |
| LOW | angr/analyses/veritesting.py | 528 | # if the cfg is cached, simply return the cached cfg | COMMENT |
| LOW | angr/analyses/reaching_definitions/engine_ail.py | 1006 | # TODO: can maybe be smarter about this. if we can determine that expr0 is never falsey, we can just return it, | COMMENT |
| LOW | …eaching_definitions/function_handler_library/string.py | 154 | # stub: just return the haystack pointer | COMMENT |
| LOW | angr/analyses/cfg/cfg_fast.py | 2153 | # if we can find one, just use it | COMMENT |
| LOW | angr/analyses/cfg/cfg_fast.py | 2279 | # we are out of the mapped memory range - just return | COMMENT |
| MEDIUM | angr/analyses/cfg/cfg_emulated.py | 2518 | # TODO: make this a real indirect jump resolver under the new paradigm | COMMENT |
| LOW | angr/analyses/cfg/cfg_emulated.py | 2764 | # We just use the ip, persistent registers, and jumpkind to initialize the original unsat state | COMMENT |
| LOW | angr/analyses/cfg/indirect_jump_resolvers/jumptable.py | 2212 | # if this AST has been initialized before, just use the cached addr | COMMENT |
| LOW | …mpiler/region_simplifiers/switch_cluster_simplifier.py | 435 | # just add it at the end | COMMENT |
| LOW | angr/analyses/decompiler/structuring/structurer_base.py | 664 | # we should use just add a break node | COMMENT |
| MEDIUM | …gr/analyses/decompiler/semantic_naming/orchestrator.py | 37 | # after structuring to leverage the structured LoopNode information. | COMMENT |
| LOW | …lyses/s_reaching_definitions/s_reaching_definitions.py | 171 | # just use all registers in the default calling convention because we don't know anything about | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/analyses/decompiler/test_decompiler.py | 4371 | # In this version, true came with the function `get_charset_aliases`, compiled into the binary. | STRING |
| HIGH | angr/analyses/vfg.py | 1431 | # does not support. I'll create a terminating stub there | COMMENT |
| HIGH | angr/analyses/cfg/cfg_emulated.py | 3008 | # does not support. I'll create a terminating stub there | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | corpus_tests/README.md | 230 | -H "Authorization: Bearer <YOUR-TOKEN>" \ | CODE |
| HIGH | corpus_tests/README.md | 240 | -H "Authorization: Bearer <YOUR-TOKEN>" \ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | angr/sim_type.py | 3821 | # Don't forget to update typedef types | COMMENT |
| MEDIUM | angr/procedures/libc/gets.py | 20 | "The use of gets in a program usually causes buffer overflows. You may want to adjust " | CODE |
| LOW | angr/engines/successors.py | 545 | # nuance: make sure to copy from the PREVIOUS state to the CURRENT one | COMMENT |
| LOW | angr/analyses/ddg.py | 1075 | # make sure to put it into the killing set | COMMENT |
| LOW | angr/analyses/ddg.py | 1134 | # make sure to put it into the killing set | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | angr/utils/graph.py | 547 | vertices: list[Any] = [ContainerNode("placeholder")] | CODE |
| LOW | angr/utils/graph.py | 589 | vertices = [ContainerNode("placeholder")] | CODE |
| LOW⚡ | angr/analyses/proximity_graph.py | 148 | def __init__(self, dummy_value: str): | CODE |
| LOW⚡ | angr/analyses/proximity_graph.py | 150 | self.dummy_value = dummy_value | CODE |
| LOW⚡ | angr/analyses/proximity_graph.py | 154 | isinstance(other, UnknownProxiNode) and self.type_ == other.type_ and self.dummy_value == other.dummy_value | CODE |
| LOW⚡ | angr/analyses/proximity_graph.py | 158 | return hash((UnknownProxiNode, self.dummy_value)) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/engines/pcode/test_emulate.py | 574 | # TODO: Add tests for the following ops: | COMMENT |
| LOW | angr/engines/soot/statements/throw.py | 15 | # TODO: implement simprocedure to throw exception | COMMENT |
| LOW | angr/analyses/decompiler/block_similarity.py | 97 | # TODO: implement a check for when one is empty and other is jump. | COMMENT |
| LOW | …compiler/optimization_passes/return_duplicator_high.py | 54 | # TODO: implement a better check | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | angr/exploration_techniques/tech_builder.py | 13 | def do_something(): | STRING |