ablation-tool 2.81.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. ablation/__init__.py +2 -0
  2. ablation/analyzers/__init__.py +264 -0
  3. ablation/analyzers/abc_decompiler.py +1098 -0
  4. ablation/analyzers/abc_disasm.py +608 -0
  5. ablation/analyzers/abc_parser.py +742 -0
  6. ablation/analyzers/ami_cramfs_extractor.py +310 -0
  7. ablation/analyzers/analysis_arc.py +114 -0
  8. ablation/analyzers/analysis_arm32.py +114 -0
  9. ablation/analyzers/analysis_arm64.py +110 -0
  10. ablation/analyzers/analysis_loongarch64.py +117 -0
  11. ablation/analyzers/analysis_mips.py +114 -0
  12. ablation/analyzers/analysis_ppc.py +114 -0
  13. ablation/analyzers/analysis_riscv.py +125 -0
  14. ablation/analyzers/analysis_v850.py +113 -0
  15. ablation/analyzers/analysis_x86.py +114 -0
  16. ablation/analyzers/appledouble_extractor.py +291 -0
  17. ablation/analyzers/arc_decoder.py +392 -0
  18. ablation/analyzers/arm32_function_scanner.py +181 -0
  19. ablation/analyzers/arm32_reg_annotator.py +278 -0
  20. ablation/analyzers/arm64_fgets_fd_discriminator.py +187 -0
  21. ablation/analyzers/arm64_global_tracker.py +459 -0
  22. ablation/analyzers/arm_disasm.py +326 -0
  23. ablation/analyzers/arm_symbolic.py +553 -0
  24. ablation/analyzers/bare_adapter.py +136 -0
  25. ablation/analyzers/beam_context.py +1487 -0
  26. ablation/analyzers/binary_context.py +2209 -0
  27. ablation/analyzers/binary_lifter.py +4596 -0
  28. ablation/analyzers/binder_scanner.py +247 -0
  29. ablation/analyzers/bss_taint_tracker.py +310 -0
  30. ablation/analyzers/byovd_detector.py +602 -0
  31. ablation/analyzers/callsite_tracer.py +314 -0
  32. ablation/analyzers/can_dbc_parser.py +309 -0
  33. ablation/analyzers/cfg_arc.py +165 -0
  34. ablation/analyzers/cfg_arm32.py +138 -0
  35. ablation/analyzers/cfg_arm64.py +121 -0
  36. ablation/analyzers/cfg_builder.py +409 -0
  37. ablation/analyzers/cfg_bypass_detector.py +339 -0
  38. ablation/analyzers/cfg_loongarch64.py +172 -0
  39. ablation/analyzers/cfg_mips.py +172 -0
  40. ablation/analyzers/cfg_ppc.py +127 -0
  41. ablation/analyzers/cfg_riscv.py +132 -0
  42. ablation/analyzers/cfg_sh2a.py +286 -0
  43. ablation/analyzers/cfg_v850.py +162 -0
  44. ablation/analyzers/cfg_x86.py +128 -0
  45. ablation/analyzers/chunk_walker_validator.py +366 -0
  46. ablation/analyzers/cmdb_surface_mapper.py +465 -0
  47. ablation/analyzers/com_attack_surface_mapper.py +381 -0
  48. ablation/analyzers/compiler_security_gate.py +459 -0
  49. ablation/analyzers/corpus_builder.py +281 -0
  50. ablation/analyzers/cpp_vtable_reconstructor.py +944 -0
  51. ablation/analyzers/cross_binary_taint.py +479 -0
  52. ablation/analyzers/crypto_audit.py +4677 -0
  53. ablation/analyzers/crypto_pattern_detector.py +395 -0
  54. ablation/analyzers/dataflow_engine.py +1627 -0
  55. ablation/analyzers/deprecated_func_scanner.py +299 -0
  56. ablation/analyzers/dex_analyzer.py +392 -0
  57. ablation/analyzers/dex_disasm.py +924 -0
  58. ablation/analyzers/dex_lifter.py +758 -0
  59. ablation/analyzers/dtw_matcher.py +327 -0
  60. ablation/analyzers/dwarf_loongarch64.py +299 -0
  61. ablation/analyzers/dynamic_sandbox.py +594 -0
  62. ablation/analyzers/ecu_a2l_parser.py +643 -0
  63. ablation/analyzers/ecu_arch_detector.py +648 -0
  64. ablation/analyzers/ecu_c28x_decoder.py +491 -0
  65. ablation/analyzers/ecu_cal_def.py +117 -0
  66. ablation/analyzers/ecu_conescan_parser.py +427 -0
  67. ablation/analyzers/ecu_m68k_decoder.py +295 -0
  68. ablation/analyzers/ecu_nissan_parser.py +523 -0
  69. ablation/analyzers/ecu_open_damos_parser.py +377 -0
  70. ablation/analyzers/ecu_rom_layout_analyzer.py +489 -0
  71. ablation/analyzers/ecu_romraider_parser.py +676 -0
  72. ablation/analyzers/ecu_security_access_scanner.py +245 -0
  73. ablation/analyzers/ecu_sh2a_decoder.py +484 -0
  74. ablation/analyzers/ecu_vle_decoder.py +572 -0
  75. ablation/analyzers/ecu_xdf_parser.py +354 -0
  76. ablation/analyzers/elf_vtable_reconstructor.py +304 -0
  77. ablation/analyzers/encoding_dag.py +596 -0
  78. ablation/analyzers/engine_pattern_library.py +896 -0
  79. ablation/analyzers/entropy_mapper.py +320 -0
  80. ablation/analyzers/epilogue_share_scanner.py +186 -0
  81. ablation/analyzers/etw_provider_extractor.py +378 -0
  82. ablation/analyzers/evidence_scorer.py +230 -0
  83. ablation/analyzers/finding_registry.py +525 -0
  84. ablation/analyzers/firmware_auth_bypass_detector.py +323 -0
  85. ablation/analyzers/firmware_container.py +212 -0
  86. ablation/analyzers/firmware_container_key_extractor.py +539 -0
  87. ablation/analyzers/flat_binary_func_start_scanner.py +464 -0
  88. ablation/analyzers/flatui_method_decoder.py +177 -0
  89. ablation/analyzers/forge.py +678 -0
  90. ablation/analyzers/fork_exec_classifier.py +530 -0
  91. ablation/analyzers/format_string_scanner.py +415 -0
  92. ablation/analyzers/fortibuild_track_classifier.py +180 -0
  93. ablation/analyzers/fortigate_cert_key_scanner.py +626 -0
  94. ablation/analyzers/fortimail_vmdk_extractor.py +588 -0
  95. ablation/analyzers/fortios_firmware_extractor.py +422 -0
  96. ablation/analyzers/func_id_db.py +574 -0
  97. ablation/analyzers/func_profiler.py +318 -0
  98. ablation/analyzers/go_binary_re.py +1278 -0
  99. ablation/analyzers/go_dangerous_callers.py +909 -0
  100. ablation/analyzers/go_garble_re.py +535 -0
  101. ablation/analyzers/go_pclntab.py +255 -0
  102. ablation/analyzers/go_string_resolver.py +469 -0
  103. ablation/analyzers/go_subprocess_scanner.py +470 -0
  104. ablation/analyzers/go_x86_strip_scanner.py +382 -0
  105. ablation/analyzers/hardware_root_finder.py +310 -0
  106. ablation/analyzers/heap_uaf_scanner.py +406 -0
  107. ablation/analyzers/heap_vuln_scanner.py +529 -0
  108. ablation/analyzers/hisi_rv32_ext.py +576 -0
  109. ablation/analyzers/huawei_squashfs_extractor.py +569 -0
  110. ablation/analyzers/hypothesis_engine.py +421 -0
  111. ablation/analyzers/hypothesis_models.py +440 -0
  112. ablation/analyzers/i386_absolute_xref_scanner.py +238 -0
  113. ablation/analyzers/insn_arc.py +254 -0
  114. ablation/analyzers/insn_arm32.py +475 -0
  115. ablation/analyzers/insn_arm64.py +266 -0
  116. ablation/analyzers/insn_loongarch64.py +118 -0
  117. ablation/analyzers/insn_m88k.py +259 -0
  118. ablation/analyzers/insn_mips.py +298 -0
  119. ablation/analyzers/insn_ppc.py +409 -0
  120. ablation/analyzers/insn_riscv.py +219 -0
  121. ablation/analyzers/insn_v850.py +274 -0
  122. ablation/analyzers/insn_x86.py +429 -0
  123. ablation/analyzers/installer_binary_analyzer.py +374 -0
  124. ablation/analyzers/interproc_field_writer.py +679 -0
  125. ablation/analyzers/intoverflow_scanner_arm32.py +415 -0
  126. ablation/analyzers/ioctl_attack_surface.py +615 -0
  127. ablation/analyzers/ipreg_annotator.py +400 -0
  128. ablation/analyzers/isa_8051.py +660 -0
  129. ablation/analyzers/isa_arc.py +230 -0
  130. ablation/analyzers/isa_arm32.py +369 -0
  131. ablation/analyzers/isa_arm64.py +236 -0
  132. ablation/analyzers/isa_loongarch64.py +243 -0
  133. ablation/analyzers/isa_m88k.py +173 -0
  134. ablation/analyzers/isa_mips.py +276 -0
  135. ablation/analyzers/isa_ppc.py +412 -0
  136. ablation/analyzers/isa_riscv.py +297 -0
  137. ablation/analyzers/isa_v850.py +224 -0
  138. ablation/analyzers/isa_x86.py +364 -0
  139. ablation/analyzers/jni_bridge_scanner.py +348 -0
  140. ablation/analyzers/kernel_driver_analyzer.py +1731 -0
  141. ablation/analyzers/kernel_module_subsystem_classifier.py +231 -0
  142. ablation/analyzers/la64_heap_vuln_scanner.py +491 -0
  143. ablation/analyzers/length_underflow.py +436 -0
  144. ablation/analyzers/lib_graph.py +275 -0
  145. ablation/analyzers/libfunc_db.py +591 -0
  146. ablation/analyzers/library_inventory.py +718 -0
  147. ablation/analyzers/llm_analyst/__init__.py +31 -0
  148. ablation/analyzers/llm_analyst/agent_loop.py +324 -0
  149. ablation/analyzers/llm_analyst/context_builder.py +199 -0
  150. ablation/analyzers/llm_analyst/rag_retriever.py +134 -0
  151. ablation/analyzers/llm_analyst/tasks/__init__.py +0 -0
  152. ablation/analyzers/llm_analyst/tasks/function_namer.py +131 -0
  153. ablation/analyzers/llm_analyst/tasks/struct_reconstructor.py +222 -0
  154. ablation/analyzers/llm_analyst/tasks/vuln_hypothesis.py +127 -0
  155. ablation/analyzers/llm_analyst/tool_registry.py +403 -0
  156. ablation/analyzers/loongarch64_max_not_min_scanner.py +753 -0
  157. ablation/analyzers/loongarch_decoder.py +877 -0
  158. ablation/analyzers/loongarch_decoder_v2.py +348 -0
  159. ablation/analyzers/lsb_stego_extractor.py +377 -0
  160. ablation/analyzers/lua_injection_analyzer.py +534 -0
  161. ablation/analyzers/matrix_profile_diff.py +369 -0
  162. ablation/analyzers/mcp_tool_taint_scanner.py +342 -0
  163. ablation/analyzers/mips_analyzer.py +690 -0
  164. ablation/analyzers/mpy_lifter.py +602 -0
  165. ablation/analyzers/name_registry.py +119 -0
  166. ablation/analyzers/nanomips_decoder.py +324 -0
  167. ablation/analyzers/opseq.py +291 -0
  168. ablation/analyzers/path_solver.py +661 -0
  169. ablation/analyzers/pattern_library.py +435 -0
  170. ablation/analyzers/pdb_symbol_integrator.py +454 -0
  171. ablation/analyzers/pef_abi_clobber_scanner.py +397 -0
  172. ablation/analyzers/pef_binary_analyzer.py +495 -0
  173. ablation/analyzers/perl_taint_scanner.py +472 -0
  174. ablation/analyzers/physmem_elf_vfs.py +727 -0
  175. ablation/analyzers/ppc32_func_discovery.py +208 -0
  176. ablation/analyzers/ppc32_got2_resolver.py +563 -0
  177. ablation/analyzers/ppc32_plt_tracer.py +495 -0
  178. ablation/analyzers/ppc64_be_sink_classifier.py +577 -0
  179. ablation/analyzers/ppc64_dynds_classifier.py +475 -0
  180. ablation/analyzers/ppc64_elfv1_resolver.py +419 -0
  181. ablation/analyzers/ppc64_vmx_density.py +353 -0
  182. ablation/analyzers/preauth_route_auditor.py +493 -0
  183. ablation/analyzers/probe_adapters.py +538 -0
  184. ablation/analyzers/probe_ranker.py +241 -0
  185. ablation/analyzers/proto_fsm.py +591 -0
  186. ablation/analyzers/ps3_opd_vtable_scanner.py +484 -0
  187. ablation/analyzers/ps3_self_decryptor.py +359 -0
  188. ablation/analyzers/reg_annotator.py +650 -0
  189. ablation/analyzers/rpc_server_analyzer.py +457 -0
  190. ablation/analyzers/sanitizer_detector.py +854 -0
  191. ablation/analyzers/sax_index.py +357 -0
  192. ablation/analyzers/scan_result_version_cache.py +292 -0
  193. ablation/analyzers/seh_chain_analyzer.py +305 -0
  194. ablation/analyzers/semantic_search.py +529 -0
  195. ablation/analyzers/setuid_auth_oracle_scanner.py +304 -0
  196. ablation/analyzers/sig_library.py +268 -0
  197. ablation/analyzers/sink_arg_classifier.py +1161 -0
  198. ablation/analyzers/sink_propagator.py +535 -0
  199. ablation/analyzers/sink_sanitizer_filter.py +521 -0
  200. ablation/analyzers/source_arch_risk.py +289 -0
  201. ablation/analyzers/source_audit_compressor.py +392 -0
  202. ablation/analyzers/source_entry_classifier.py +319 -0
  203. ablation/analyzers/source_ingestion.py +317 -0
  204. ablation/analyzers/source_isolation_checker.py +498 -0
  205. ablation/analyzers/source_sink_scanner.py +314 -0
  206. ablation/analyzers/source_taint_tracker.py +567 -0
  207. ablation/analyzers/spu_disassembler.py +605 -0
  208. ablation/analyzers/sql_sink_scanner.py +551 -0
  209. ablation/analyzers/sse_slicer.py +392 -0
  210. ablation/analyzers/stage_commitment.py +230 -0
  211. ablation/analyzers/static_elf32_func_start_scanner.py +199 -0
  212. ablation/analyzers/structural_sim.py +343 -0
  213. ablation/analyzers/structurizer.py +538 -0
  214. ablation/analyzers/subsequence_searcher.py +361 -0
  215. ablation/analyzers/syscall_loongarch64.py +475 -0
  216. ablation/analyzers/taint_tracker.py +296 -0
  217. ablation/analyzers/taint_tracker_arc.py +548 -0
  218. ablation/analyzers/taint_tracker_arc_labeled.py +857 -0
  219. ablation/analyzers/taint_tracker_arm32.py +517 -0
  220. ablation/analyzers/taint_tracker_arm32_labeled.py +1209 -0
  221. ablation/analyzers/taint_tracker_arm64.py +1103 -0
  222. ablation/analyzers/taint_tracker_loongarch64.py +1049 -0
  223. ablation/analyzers/taint_tracker_mips.py +568 -0
  224. ablation/analyzers/taint_tracker_mips64.py +751 -0
  225. ablation/analyzers/taint_tracker_mips_labeled.py +915 -0
  226. ablation/analyzers/taint_tracker_nanomips.py +678 -0
  227. ablation/analyzers/taint_tracker_ppc32.py +1038 -0
  228. ablation/analyzers/taint_tracker_ppc64.py +713 -0
  229. ablation/analyzers/taint_tracker_ppc_labeled.py +963 -0
  230. ablation/analyzers/taint_tracker_rh850.py +350 -0
  231. ablation/analyzers/taint_tracker_riscv.py +578 -0
  232. ablation/analyzers/taint_tracker_riscv32.py +731 -0
  233. ablation/analyzers/taint_tracker_riscv64.py +666 -0
  234. ablation/analyzers/taint_tracker_tricore.py +875 -0
  235. ablation/analyzers/taint_tracker_v850.py +993 -0
  236. ablation/analyzers/taint_tracker_x86.py +1520 -0
  237. ablation/analyzers/taint_tracker_x86_32.py +653 -0
  238. ablation/analyzers/taint_tracker_x86_labeled.py +936 -0
  239. ablation/analyzers/ti_coff_loader.py +353 -0
  240. ablation/analyzers/ti_nnc_scanner.py +563 -0
  241. ablation/analyzers/v850_decoder.py +331 -0
  242. ablation/analyzers/vendor_profile.py +155 -0
  243. ablation/analyzers/version_delta.py +1016 -0
  244. ablation/analyzers/version_delta_finetune.py +217 -0
  245. ablation/analyzers/video_container.py +961 -0
  246. ablation/analyzers/vtable_dispatch_scanner.py +262 -0
  247. ablation/analyzers/vtable_resolver.py +473 -0
  248. ablation/analyzers/window_analyzer.py +610 -0
  249. ablation/analyzers/windows_pool_taint_tracker.py +361 -0
  250. ablation/analyzers/workflow_document.py +328 -0
  251. ablation/analyzers/xor_solver.py +605 -0
  252. ablation/analyzers/xref_graph.py +776 -0
  253. ablation/cli.py +1317 -0
  254. ablation/core/__init__.py +31 -0
  255. ablation/core/apk_parser.py +846 -0
  256. ablation/core/attck_tagger.py +829 -0
  257. ablation/core/bff_extractor.py +188 -0
  258. ablation/core/binary_parser.py +246 -0
  259. ablation/core/bv41_decoder.py +285 -0
  260. ablation/core/coff_m88k_parser.py +162 -0
  261. ablation/core/disasm_engine.py +952 -0
  262. ablation/core/elf_parser.py +1366 -0
  263. ablation/core/firmware_analyzer.py +518 -0
  264. ablation/core/guardian_pak_extractor.py +254 -0
  265. ablation/core/macho_analyzer.py +261 -0
  266. ablation/core/pe_analyzer.py +139 -0
  267. ablation/core/pe_parser.py +960 -0
  268. ablation/core/platform_detect.py +205 -0
  269. ablation/core/prose.py +166 -0
  270. ablation/core/render.py +124 -0
  271. ablation/core/shellcode_utils.py +1646 -0
  272. ablation/core/swift_demangle.py +364 -0
  273. ablation/core/tls_analyzer.py +2770 -0
  274. ablation/core/xcoff_parser.py +379 -0
  275. ablation/core/yara_generator.py +736 -0
  276. ablation/data/__init__.py +0 -0
  277. ablation/data/seed_corpus.json +173 -0
  278. ablation/data/sigs.json +326 -0
  279. ablation/export/__init__.py +5 -0
  280. ablation/export/json_export.py +66 -0
  281. ablation/export/sarif.py +202 -0
  282. ablation/integrations/__init__.py +1 -0
  283. ablation/integrations/binja_plugin.py +221 -0
  284. ablation_tool-2.81.0.dist-info/METADATA +1169 -0
  285. ablation_tool-2.81.0.dist-info/RECORD +326 -0
  286. ablation_tool-2.81.0.dist-info/WHEEL +5 -0
  287. ablation_tool-2.81.0.dist-info/entry_points.txt +7 -0
  288. ablation_tool-2.81.0.dist-info/licenses/LICENSE +657 -0
  289. ablation_tool-2.81.0.dist-info/top_level.txt +3 -0
  290. modules/__init__.py +2 -0
  291. modules/analyze_all_jni.py +343 -0
  292. modules/api_re.py +2971 -0
  293. modules/deep_jni_analysis.py +250 -0
  294. modules/docker_enum.py +1841 -0
  295. modules/forensics_enum.py +4213 -0
  296. modules/hyperflex_enum.py +1303 -0
  297. modules/ios_enum.py +5105 -0
  298. modules/java_decompiler.py +1972 -0
  299. modules/java_re.py +3961 -0
  300. modules/k8s_enum.py +5152 -0
  301. modules/lateral_movement.py +7809 -0
  302. modules/llm_enum.py +4506 -0
  303. modules/mcp_grammar_fuzzer.py +291 -0
  304. modules/net_sniffer.py +3419 -0
  305. modules/network_analyze.py +4223 -0
  306. modules/nexus_dashboard_enum.py +1520 -0
  307. modules/nginx_enum.py +2293 -0
  308. modules/nxos_enum.py +1593 -0
  309. modules/privesc_enum.py +4517 -0
  310. modules/process_enum.py +3859 -0
  311. modules/sip_enum.py +6006 -0
  312. modules/streaming_enum.py +4212 -0
  313. modules/syscall_trace.py +2642 -0
  314. modules/tls_enum.py +2441 -0
  315. modules/windows_enum.py +784 -0
  316. sweeps/__init__.py +0 -0
  317. sweeps/android_sweep.py +341 -0
  318. sweeps/base_sweep.py +388 -0
  319. sweeps/corpus_miner.py +491 -0
  320. sweeps/fortinet_sweep.py +714 -0
  321. sweeps/pe_sweep.py +1002 -0
  322. sweeps/report_generator.py +225 -0
  323. sweeps/ti_sweep.py +854 -0
  324. sweeps/win16_le_vxd_sweep.py +911 -0
  325. sweeps/win16_mz_dos_sweep.py +390 -0
  326. sweeps/win16_ne_sweep.py +1036 -0
ablation/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ """Ablation: semantic function matching for stripped firmware."""
2
+ __version__ = "2.81.0"
@@ -0,0 +1,264 @@
1
+ from .encoding_dag import (
2
+ Field, Template, EncodingNode,
3
+ MemRef, SemanticOp, DataflowEdge, SemanticBlock,
4
+ FieldBinding, Binding, ISASpec,
5
+ ISA24,
6
+ rgb_to_bytes, bytes_to_rgb, rgb_int,
7
+ EncodingError, DecodingError,
8
+ )
9
+ from .semantic_search import SemanticSearcher, describe_function, normalize_asm, WhiteningTransform
10
+ from .taint_tracker_arm32 import ARM32TaintTracker, TaintFinding32, TaintState32
11
+ from .intoverflow_scanner_arm32 import ARM32IntOverflowScanner, IntOverflowFinding32
12
+ from .arm32_reg_annotator import ARM32RegAnnotator
13
+ from .arm32_function_scanner import ARM32FunctionScanner
14
+ from .taint_tracker_arm64 import ARM64TaintTracker, TaintFindingARM64
15
+ from .arm64_fgets_fd_discriminator import ARM64FgetsFdDiscriminator, FgetsClassifiedFinding
16
+ from .version_delta import VersionTracker, diff_functions
17
+ from .func_id_db import FuncDB
18
+ from .go_pclntab import GoFuncTable
19
+ from .go_string_resolver import GoStringResolver, build_resolver_from_elf
20
+ from .go_subprocess_scanner import GoSubprocessScanner, scan_binary, SubprocessSite
21
+ from .finding_registry import FindingRegistry
22
+ from .xref_graph import XRefGraph
23
+ from .taint_tracker_x86 import TaintTracker, TaintFinding, TaintState, InterproceduralPath
24
+ from .cfg_builder import CFGBuilder, CFG, BasicBlock
25
+ from .bss_taint_tracker import BssTaintTracker, BSSSymbol, Function as BssFunction, BasicBlock as BssBasicBlock, build_function as bss_build_function
26
+ from .window_analyzer import WindowAnalyzer
27
+ from .binary_context import BinaryContext
28
+ from .lib_graph import LibGraph, LibCaller
29
+ from .reg_annotator import RegAnnotator, RegVal, CallSite, AnnotationResult
30
+ from .func_profiler import FuncProfiler, FuncProfile, ProfiledCall
31
+ from .pattern_library import PatternLibrary, Pattern, SweepResult
32
+ from .ipreg_annotator import IPRegAnnotator, IPChain, ChainResult, ChainCallSite
33
+ from .opseq import OpSeqEncoder, CAT_INDEX, CAT_NAMES, NUM_CATS, seq_to_str, seq_histogram, mnemonic_to_cat
34
+ from .matrix_profile_diff import MatrixProfileDiff, DiffResult, ChangeRegion
35
+ from .dtw_matcher import DTWMatcher, HomologMatch, SimilarityReport, dtw_distance, dtw_similarity
36
+ from .sax_index import SAXIndex, SAXMatch, IndexEntry, encode_sax, sax_mindist
37
+ from .subsequence_searcher import SubsequenceSearcher, PatternMatch, parse_pattern
38
+ from .taint_tracker_mips64 import MIPS64TaintTracker, TaintFinding64, InterproceduralPath64
39
+ from .nanomips_decoder import NanoMIPSDecoder, NanoMIPSDisasm, NanoFrame
40
+ from .taint_tracker_nanomips import NanoMIPSTaintTracker, NanoMIPSTaintFinding, NanoMIPSInterproceduralPath
41
+ from .taint_tracker_ppc32 import PPC32TaintTracker, TaintFindingPPC32
42
+ from .ppc32_plt_tracer import PPC32PLTTracer, PPC32ELF, PLTCallSite, batch_sweep as ppc32_batch_sweep, batch_scan as ppc32_batch_scan
43
+ from .taint_tracker_ppc64 import PPC64TaintTracker, TaintFindingPPC64
44
+ from .arc_decoder import ARCDecoder, ARCDisasm, ARCFrame
45
+ from .taint_tracker_arc import ARCTaintTracker, TaintFindingARC
46
+ from .taint_tracker_riscv32 import RISCV32TaintTracker, TaintFindingRISCV32
47
+ from .taint_tracker_riscv64 import RISCV64TaintTracker, TaintFindingRISCV64
48
+ from .v850_decoder import V850Decoder, V850Disasm, V850Frame
49
+ from .taint_tracker_v850 import V850TaintTracker, TaintFindingV850
50
+ from .taint_tracker_rh850 import RH850TaintTracker, TaintFindingRH850
51
+ from .taint_tracker_tricore import TriCoreTaintTracker, TaintFindingTriCore
52
+ from .epilogue_share_scanner import EpilogueShareScanner, EpilogueShareHit
53
+ from .loongarch_decoder import LoongArchDecoder, LoongArchFrame
54
+ from .loongarch_decoder_v2 import (
55
+ LoongArchDecoderV2, LoongArchFrameV2, LoongArchDisasmV2,
56
+ KASAN_SYMBOL_PREFIXES, KCOV_SYMBOL_PREFIXES,
57
+ )
58
+ from .loongarch64_max_not_min_scanner import LA64MaxNotMinScanner, LA64MaxNotMinFinding
59
+ from .la64_heap_vuln_scanner import LA64HeapVulnScanner, LA64HeapVulnFinding
60
+ from .taint_tracker_loongarch64 import (
61
+ LoongArch64TaintTracker, TaintFindingLA64,
62
+ _ESCALATION_NAMES as LOONGARCH_ESCALATION_NAMES,
63
+ )
64
+ from .syscall_loongarch64 import (
65
+ SYSCALL_TABLE as LOONGARCH_SYSCALL_TABLE,
66
+ classify_syscall as loongarch_classify_syscall,
67
+ )
68
+ from .dwarf_loongarch64 import (
69
+ extract_eh_frame_starts,
70
+ extract_debug_funcs,
71
+ extract_btf_funcs,
72
+ )
73
+ from .beam_context import (
74
+ BeamContext, BeamExport, BeamImport, BeamAstFunction,
75
+ BeamDiffEntry,
76
+ sweep_beam_dir, fmt_sweep,
77
+ sweep_beam_diff, fmt_sweep_diff,
78
+ SEVERITY_DISPATCH, SEVERITY_NETWORK, SEVERITY_INFO,
79
+ SEVERITY_CODE_EVAL, SEVERITY_CODE_EXEC,
80
+ )
81
+ # ── Source Code Auditor ───────────────────────────────────────────────────────
82
+ # Audit any large codebase for security vulnerabilities.
83
+ # Entry point: SourceAuditCompressor (source_audit_compressor.py)
84
+ # Full pipeline: SourceContext -> SourceAuditCompressor -> SourceEntryClassifier
85
+ # -> SourceSinkScanner -> SourceIsolationChecker -> SourceTaintTracker
86
+ from .source_ingestion import SourceContext
87
+ from .source_entry_classifier import SourceEntryClassifier, RouteClassification, AUTH_NONE, AUTH_API_KEY, AUTH_SESSION, AUTH_INTERNAL, AUTH_ADMIN
88
+ from .source_sink_scanner import SourceSinkScanner, SinkHit
89
+ from .source_arch_risk import SourceArchRiskScanner, ArchRiskFinding
90
+ from .lua_injection_analyzer import LuaInjectionAnalyzer, LuaInjectionFinding
91
+ from .mcp_tool_taint_scanner import MCPToolTaintScanner, MCPTaintFinding
92
+ from .source_audit_compressor import SourceAuditCompressor, FileProfile, ProfileBucket
93
+ from .source_isolation_checker import SourceIsolationChecker, IsolationFinding
94
+ from .source_taint_tracker import SourceTaintTracker, TaintPath, TaintHop, CallGraph
95
+ from .sink_arg_classifier import (
96
+ SinkArgClassifier, SinkClassification,
97
+ RODATA_CONST, SNPRINTF_RODATA, ARG_PROPAGATED, UNKNOWN as SINK_UNKNOWN,
98
+ _count_plt_callers, batch_plt_intersect,
99
+ )
100
+ from .sanitizer_detector import SanitizerDetector, SanitizerProfile, SHELL_METACHARACTERS
101
+ from .sink_sanitizer_filter import SinkSanitizerFilter, SANITIZER_VALIDATED
102
+ from .fork_exec_classifier import (
103
+ ForkExecClassifier, ForkCallerResult,
104
+ WORKER, EXEC_AFTER_FORK, EXIT_IN_CHILD, UNKNOWN as FORK_UNKNOWN,
105
+ )
106
+ from .vendor_profile import VendorProfile
107
+ from .dex_analyzer import DexAnalyzer, DexFinding
108
+ from .jni_bridge_scanner import JniBridgeScanner, JniBridgeFinding
109
+ from .binder_scanner import BinderScanner, BinderFinding
110
+ from .dex_disasm import DEXDisasm, DEXInstruction, decode_code_item
111
+ from .dex_lifter import DEXLifter, RegVal
112
+ from .binary_lifter import BinaryLifter, NativeVal
113
+ from .hypothesis_models import (
114
+ ConfidenceState, EvidenceRelation, EVIDENCE_FAMILIES, HYPOTHESIS_KINDS,
115
+ HypothesisRecord, EvidenceRecord, ProbeRecord, HypothesisSession,
116
+ )
117
+ from .evidence_scorer import EvidenceScorer, score_report
118
+ from .probe_ranker import ProbeRanker, probe_kinds
119
+ from .hypothesis_engine import HypothesisEngine
120
+ from .probe_adapters import (
121
+ ProbeAdapter,
122
+ DisassemblyAdapter, CFGAdapter, XRefAdapter,
123
+ LifterAdapter, SemanticAdapter, VersionAdapter,
124
+ TaintAdapter, ManualAdapter,
125
+ execute_probe, available_kinds,
126
+ )
127
+ from .dynamic_sandbox import DynamicSandbox, DynamicProbeAdapter, SandboxResult, LeafFunctionChecker
128
+ from .engine_pattern_library import (
129
+ EnginePatternLibrary, EngineSignature, EngineLabel,
130
+ ENGINES, CATEGORIES,
131
+ )
132
+ from .lsb_stego_extractor import (
133
+ LSBStegoReader, LagrangeKeyExtractor, BmpKeyExtractor,
134
+ StegoKeyResult, CoordPair,
135
+ )
136
+ from .crypto_pattern_detector import (
137
+ HashAlgoDiscriminator, HashAlgoMatch, ConstMatch,
138
+ CustomCBCDetector, CBCPattern,
139
+ )
140
+ from .abc_parser import (
141
+ ABCParser, ABCHeader, ABCIndexHeader,
142
+ MethodInfo, CodeItem, FieldInfo, ClassInfo,
143
+ )
144
+ from .abc_disasm import ARKDisasm, ARKInstruction
145
+ from .abc_decompiler import ABCDecompiler
146
+ # ── FORGE: module validation and local storage ────────────────────────────────
147
+ from .forge import FORGE, ForgeReport, ForgeFinding
148
+
149
+ __all__ = [
150
+ "SemanticSearcher", "describe_function", "normalize_asm", "WhiteningTransform",
151
+ "ARM32TaintTracker", "TaintFinding32", "TaintState32",
152
+ "ARM32IntOverflowScanner", "IntOverflowFinding32",
153
+ "ARM32RegAnnotator",
154
+ "ARM32FunctionScanner",
155
+ "ARM64TaintTracker", "TaintFindingARM64",
156
+ "ARM64FgetsFdDiscriminator", "FgetsClassifiedFinding",
157
+ "VersionTracker", "diff_functions",
158
+ "FuncDB",
159
+ "GoFuncTable",
160
+ "GoStringResolver", "build_resolver_from_elf",
161
+ "GoSubprocessScanner", "scan_binary", "SubprocessSite",
162
+ "FindingRegistry",
163
+ "XRefGraph",
164
+ "TaintTracker", "TaintFinding", "TaintState", "InterproceduralPath",
165
+ "CFGBuilder", "CFG", "BasicBlock",
166
+ "BssTaintTracker", "BSSSymbol", "BssFunction", "BssBasicBlock", "bss_build_function",
167
+ "WindowAnalyzer",
168
+ "BinaryContext",
169
+ "LibGraph", "LibCaller",
170
+ "RegAnnotator", "RegVal", "CallSite", "AnnotationResult",
171
+ "FuncProfiler", "FuncProfile", "ProfiledCall",
172
+ "PatternLibrary", "Pattern", "SweepResult",
173
+ "IPRegAnnotator", "IPChain", "ChainResult", "ChainCallSite",
174
+ "OpSeqEncoder", "CAT_INDEX", "CAT_NAMES", "NUM_CATS", "seq_to_str", "seq_histogram", "mnemonic_to_cat",
175
+ "MatrixProfileDiff", "DiffResult", "ChangeRegion",
176
+ "DTWMatcher", "HomologMatch", "SimilarityReport", "dtw_distance", "dtw_similarity",
177
+ "SAXIndex", "SAXMatch", "IndexEntry", "encode_sax", "sax_mindist",
178
+ "SubsequenceSearcher", "PatternMatch", "parse_pattern",
179
+ "MIPS64TaintTracker", "TaintFinding64", "InterproceduralPath64",
180
+ "NanoMIPSDecoder", "NanoMIPSDisasm", "NanoFrame",
181
+ "NanoMIPSTaintTracker", "NanoMIPSTaintFinding", "NanoMIPSInterproceduralPath",
182
+ "PPC32TaintTracker", "TaintFindingPPC32",
183
+ "PPC32PLTTracer", "PPC32ELF", "PLTCallSite", "ppc32_batch_sweep", "ppc32_batch_scan",
184
+ "PPC64TaintTracker", "TaintFindingPPC64",
185
+ "ARCDecoder", "ARCDisasm", "ARCFrame",
186
+ "ARCTaintTracker", "TaintFindingARC",
187
+ "RISCV32TaintTracker", "TaintFindingRISCV32",
188
+ "RISCV64TaintTracker", "TaintFindingRISCV64",
189
+ "V850Decoder", "V850Disasm", "V850Frame",
190
+ "V850TaintTracker", "TaintFindingV850",
191
+ "RH850TaintTracker", "TaintFindingRH850",
192
+ "TriCoreTaintTracker", "TaintFindingTriCore",
193
+ "EpilogueShareScanner", "EpilogueShareHit",
194
+ "LoongArchDecoder", "LoongArchFrame",
195
+ "LoongArchDecoderV2", "LoongArchFrameV2", "LoongArchDisasmV2",
196
+ "KASAN_SYMBOL_PREFIXES", "KCOV_SYMBOL_PREFIXES",
197
+ "LA64MaxNotMinScanner", "LA64MaxNotMinFinding",
198
+ "LA64HeapVulnScanner", "LA64HeapVulnFinding",
199
+ "LoongArch64TaintTracker", "TaintFindingLA64",
200
+ "LOONGARCH_ESCALATION_NAMES",
201
+ "LOONGARCH_SYSCALL_TABLE", "loongarch_classify_syscall",
202
+ "extract_eh_frame_starts", "extract_debug_funcs", "extract_btf_funcs",
203
+ "BeamContext", "BeamExport", "BeamImport", "BeamAstFunction", "BeamDiffEntry",
204
+ "sweep_beam_dir", "fmt_sweep", "sweep_beam_diff", "fmt_sweep_diff",
205
+ "SEVERITY_DISPATCH", "SEVERITY_NETWORK", "SEVERITY_INFO",
206
+ "SEVERITY_CODE_EVAL", "SEVERITY_CODE_EXEC",
207
+ "SourceContext",
208
+ "SourceEntryClassifier", "RouteClassification",
209
+ "AUTH_NONE", "AUTH_API_KEY", "AUTH_SESSION", "AUTH_INTERNAL", "AUTH_ADMIN",
210
+ "SourceSinkScanner", "SinkHit",
211
+ "SourceArchRiskScanner", "ArchRiskFinding",
212
+ "LuaInjectionAnalyzer", "LuaInjectionFinding",
213
+ "MCPToolTaintScanner", "MCPTaintFinding",
214
+ "SourceAuditCompressor", "FileProfile", "ProfileBucket",
215
+ "SourceIsolationChecker", "IsolationFinding",
216
+ "SourceTaintTracker", "TaintPath", "TaintHop", "CallGraph",
217
+ "SinkArgClassifier", "SinkClassification",
218
+ "RODATA_CONST", "SNPRINTF_RODATA", "ARG_PROPAGATED", "SINK_UNKNOWN",
219
+ "_count_plt_callers", "batch_plt_intersect",
220
+ "SanitizerDetector", "SanitizerProfile", "SHELL_METACHARACTERS",
221
+ "SinkSanitizerFilter", "SANITIZER_VALIDATED",
222
+ "ForkExecClassifier", "ForkCallerResult",
223
+ "WORKER", "EXEC_AFTER_FORK", "EXIT_IN_CHILD", "FORK_UNKNOWN",
224
+ "VendorProfile",
225
+ # ── Android / DEX / JNI / Binder ───────────────────────────────────────
226
+ "DexAnalyzer", "DexFinding",
227
+ "JniBridgeScanner", "JniBridgeFinding",
228
+ "BinderScanner", "BinderFinding",
229
+ "DEXDisasm", "DEXInstruction", "decode_code_item",
230
+ "DEXLifter", "RegVal",
231
+ "BinaryLifter", "NativeVal",
232
+ # ── Active Hypothesis Engine ────────────────────────────────────────────────
233
+ "ConfidenceState", "EvidenceRelation", "EVIDENCE_FAMILIES", "HYPOTHESIS_KINDS",
234
+ "HypothesisRecord", "EvidenceRecord", "ProbeRecord", "HypothesisSession",
235
+ "EvidenceScorer", "score_report",
236
+ "ProbeRanker", "probe_kinds",
237
+ "HypothesisEngine",
238
+ # ── Probe Adapters (Milestone 3 — auto-execution) ───────────────────────────
239
+ "ProbeAdapter",
240
+ "DisassemblyAdapter", "CFGAdapter", "XRefAdapter",
241
+ "LifterAdapter", "SemanticAdapter", "VersionAdapter",
242
+ "TaintAdapter", "ManualAdapter",
243
+ "execute_probe", "available_kinds",
244
+ # ── Dynamic Sandbox (Phase 3 — Unicorn leaf-function execution) ────────────
245
+ "DynamicSandbox", "DynamicProbeAdapter", "SandboxResult", "LeafFunctionChecker",
246
+ # ── Engine Pattern Library (PC game engine-stripping) ──────────────────────
247
+ "EnginePatternLibrary", "EngineSignature", "EngineLabel", "ENGINES", "CATEGORIES",
248
+ # ── Steganography / secret-sharing key extraction ───────────────────────
249
+ "LSBStegoReader", "LagrangeKeyExtractor", "BmpKeyExtractor",
250
+ "StegoKeyResult", "CoordPair",
251
+ # ── Crypto pattern recognition (binary / disassembly) ───────────────────
252
+ "HashAlgoDiscriminator", "HashAlgoMatch", "ConstMatch",
253
+ "CustomCBCDetector", "CBCPattern",
254
+ # ── HarmonyOS / ArkTS ────────────────────────────────────────────────────
255
+ "ABCParser", "ABCHeader", "ABCIndexHeader",
256
+ "MethodInfo", "CodeItem", "FieldInfo", "ClassInfo",
257
+ "ARKDisasm", "ARKInstruction",
258
+ "ABCDecompiler",
259
+ # ── FORGE ────────────────────────────────────────────────────────────────
260
+ "FORGE", "ForgeReport", "ForgeFinding",
261
+ # ── C++ Vtable Reconstruction ─────────────────────────────────────────────
262
+ "CppVtableReconstructorAnalyzer",
263
+ "VtableSpec", "SlotSpec", "TypePropSite", "VtableReconstructorResult",
264
+ ]