Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices
This report summarizes scanner evidence for ptitSeb/box64, a C project with 5,661 GitHub stars. SynthScan examined 567,962 lines of code across 1413 source files, recording 2853 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 4.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2829 finding(s).
Are imports declared and package/API names verified? 7 finding(s).
Are wrappers, guards, and repeated structures necessary? 25 finding(s).
Which changes need focused human review? 2853 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 2853 distinct pattern matches across 11 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 | rebuild_wrappers.py | 821 | # "defined() && ..." -> [vFEv -> vFv, ...] | COMMENT |
| LOW | rebuild_wrappers.py | 1001 | // the generic wrapper pointer functions | COMMENT |
| LOW | rebuild_wrappers.py | 1021 | // A = va_list | COMMENT |
| LOW | rebuild_wrappers.py | 1041 | #ifndef __{filename}DEFS_H_ | COMMENT |
| LOW | rebuild_wrappers_32.py | 1221 | # Files header and guard | COMMENT |
| LOW | rebuild_wrappers_32.py | 1321 | COMMENT | |
| LOW | rebuild_wrappers_32.py | 1341 | // V = vaargs, s = address on the stack (doesn't move forward the pointer) | COMMENT |
| LOW | rebuild_wrappers_32.py | 1361 | #define __CONVERTER32_H_ | COMMENT |
| LOW | rebuild_wrappers_32.py | 1481 | if (len(args[0]) == 2) and (args[0][0].name == 'E') and (args[0][1].name == 'v'): args = ([args[0][0]], args[1][0]) | COMMENT |
| LOW | CMakeLists.txt | 221 | add_definitions(-DSD8G2) | COMMENT |
| LOW | tests32/test28.c | 21 | COMMENT | |
| LOW | tests32/test26.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests32/test17.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests32/test25.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests32/benchfloat.c | 21 | ** To compile: cc -O -o linpack linpack.c -lm | COMMENT |
| LOW | tests32/roundtest.h | 21 | #define FE_TONEAREST 0 | COMMENT |
| LOW | tests/test21_alt.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests/test28.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests/test17.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests/benchfloat.c | 21 | ** To compile: cc -O -o linpack linpack.c -lm | COMMENT |
| LOW | tests/roundtest.h | 21 | #define FE_TONEAREST 0 | COMMENT |
| LOW | tests/test34.c | 21 | COMMENT | |
| LOW | tests/test30.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | tests/test27.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/box64ec/box64ec_runtime.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/box64ec/box64ec_thread.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/box64ec/box64ec_init.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/box64ec/box64ec_dispatch.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/box64ec/box64ec_transition.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/box64ec/box64ec_syscalls.c | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/include/wine/debug.h | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wine/wow64/wowbox64.c | 1 | /* | COMMENT |
| LOW | wine/wow64/wowbox64.c | 61 | #define ROUND_SIZE(addr, size) (((SIZE_T)(size) + ((UINT_PTR)(addr) & page_mask) + page_mask) & ~page_mask) | COMMENT |
| LOW | system/kde/box64_profile_propertiesplugin.cpp | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wrapperhelper/example-libc.h | 1 | // SPDX-License-Identifier: MIT | COMMENT |
| LOW | wrapperhelper/example-libc.h | 21 | #include <event.h> | COMMENT |
| LOW | wrapperhelper/example-libc.h | 41 | #include <locale.h> | COMMENT |
| LOW | wrapperhelper/example-libc.h | 61 | #include <rpc/rpc.h> | COMMENT |
| LOW | wrapperhelper/example-libc.h | 81 | #include <sys/mman.h> | COMMENT |
| LOW | wrapperhelper/example-libc.h | 101 | #include <sys/swap.h> | COMMENT |
| LOW | wrapperhelper/example-libc.h | 121 | #include <ucontext.h> | COMMENT |
| LOW | wrapperhelper/include-override/common/stdc-predef.h | 1 | // Ignore all attributes | COMMENT |
| LOW | wrapperhelper/include-override/common/stdint.h | 81 | # define __INT64_C(c) c ## LL | COMMENT |
| LOW | wrapperhelper/include-override/common/stdint.h | 101 | # define UINT32_MAX (4294967295U) | COMMENT |
| LOW | wrapperhelper/include-override/common/stdint.h | 121 | COMMENT | |
| LOW | wrapperhelper/include-override/common/stdint.h | 161 | # define SIG_ATOMIC_MIN (-__SIG_ATOMIC_MAX__-1) | COMMENT |
| LOW | wrapperhelper/include-override/common/stdint.h | 181 | # define INT32_C(c) __INT32_C(c) | COMMENT |
| LOW | wrapperhelper/include-override/common/stdint.h | 201 | # define UINT32_WIDTH 32 | COMMENT |
| LOW | wrapperhelper/include-override/common/stdint.h | 221 | # define UINT_FAST64_WIDTH 64 | COMMENT |
| LOW | wrapperhelper/include-override/common/bits/types.h | 81 | we used `long' when it's 64 bits where `long long' is expected, then the | COMMENT |
| LOW | wrapperhelper/include-override/common/bits/floatn.h | 61 | # else | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 1 | // C standard | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 21 | #define linux 1 | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 41 | //#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 61 | #define __REGISTER_PREFIX__ | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 81 | #define __ATOMIC_ACQ_REL 4 | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 101 | #define __SIZEOF_LONG_DOUBLE__ 12 | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 121 | //#define __INT_FAST8_TYPE__ signed char | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 141 | #define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL | COMMENT |
| LOW | wrapperhelper/include-override/x86/stdc-predef.h | 161 | #define __SCHAR_WIDTH__ 8 | COMMENT |
| 2739 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | rebuild_wrappers.py | 803 | except IOError: | CODE |
| HIGH | rebuild_wrappers.py | 620 | except IndexError: | CODE |
| HIGH | rebuild_wrappers_32.py | 1113 | except IOError: | CODE |
| HIGH | rebuild_wrappers_32.py | 991 | except IndexError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rebuild_wrappers.py | 355 | CODE | |
| LOW | rebuild_wrappers.py | 638 | CODE | |
| LOW | rebuild_wrappers.py | 809 | CODE | |
| LOW | rebuild_wrappers.py | 884 | CODE | |
| LOW | rebuild_wrappers.py | 382 | CODE | |
| LOW | rebuild_wrappers.py | 1459 | CODE | |
| LOW | rebuild_wrappers.py | 1503 | CODE | |
| LOW | rebuild_wrappers_32.py | 811 | CODE | |
| LOW | rebuild_wrappers_32.py | 1078 | CODE | |
| LOW | rebuild_wrappers_32.py | 1119 | CODE | |
| LOW | rebuild_wrappers_32.py | 349 | CODE | |
| LOW | rebuild_wrappers_32.py | 472 | CODE | |
| LOW | rebuild_wrappers_32.py | 501 | CODE | |
| LOW | rebuild_wrappers_32.py | 539 | CODE | |
| LOW | rebuild_wrappers_32.py | 832 | CODE | |
| LOW | docs/gen/gen.py | 142 | CODE | |
| LOW | configurator/configurator.py | 209 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | wine/override_wine_builtin.py | 4 | CODE | |
| LOW | configurator/box64rc.py | 2 | CODE | |
| LOW | configurator/model.py | 2 | CODE | |
| LOW | configurator/configurator.py | 3 | CODE | |
| LOW | configurator/usage.py | 2 | CODE | |
| LOW | configurator/build_standalone.py | 3 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | configurator/model.py | 348 | def _apply_matching_wildcards(self, states: Dict[str, ValueState], entry: EntryRecord) -> None: | CODE |
| LOW | configurator/configurator.py | 209 | def detect_supported_executable(path: Path) -> Optional[str]: | STRING |
| LOW⚡ | configurator/configurator.py | 663 | def _on_entry_list_button_press(self, _listbox: Gtk.ListBox, event) -> bool: | STRING |
| LOW | configurator/configurator.py | 1000 | def _remove_selected_option_editor(self) -> None: | STRING |
| LOW | configurator/configurator.py | 1010 | def _insert_option_editor_after( | STRING |
| LOW | configurator/configurator.py | 1074 | def _on_editor_choice_changed( | STRING |
| LOW | configurator/usage.py | 95 | def load_default_usage_catalog() -> UsageCatalog: | CODE |
| LOW | configurator/usage.py | 111 | def load_usage_catalog_from_data( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rebuild_wrappers_32.py | 994 | except Exception as e: | CODE |
| LOW | configurator/configurator.py | 631 | except Exception as error: | STRING |
| LOW⚡ | configurator/configurator.py | 647 | except Exception as error: | STRING |
| LOW⚡ | configurator/configurator.py | 653 | except Exception as error: | STRING |
| LOW | configurator/configurator.py | 1030 | except Exception as error: | STRING |
| LOW | configurator/configurator.py | 1044 | except Exception as error: | STRING |
| LOW | configurator/configurator.py | 1174 | except Exception as error: | STRING |
| LOW | configurator/configurator.py | 1186 | except Exception as error: | STRING |
| LOW | configurator/configurator.py | 1224 | except Exception as error: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 8 | Code that is initially generated by AI and subsequently edited will still be considered AI-generated. AI assistance is p | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rebuild_wrappers.py | 773 | # Check if there was any new functions compared to last run | COMMENT |
| LOW | rebuild_wrappers_32.py | 1079 | # Check if there was any new functions compared to last run | COMMENT |
| LOW | rebuild_wrappers_32.py | 1637 | # Check if there was any new functions | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | configurator/configurator.py | 1267 | self.status.push(self.status_context, text) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | configurator/configurator.py | 173 | def set_style(widget: Gtk.Widget, css_class: str, active: bool) -> None: | STRING |
| LOW | configurator/configurator.py | 298 | def set_profile_from_menu(store: ConfigStore, executable: Path, profile: str) -> None: | STRING |
| LOW | configurator/configurator.py | 446 | def set_selected(self, selected: bool) -> None: | STRING |
| LOW | configurator/configurator.py | 1262 | def _update_actions(self) -> None: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/emu/x64syscall.c | 380 | // TODO: implement fallback if __NR_statx is not defined | COMMENT |