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.
- ablation/__init__.py +2 -0
- ablation/analyzers/__init__.py +264 -0
- ablation/analyzers/abc_decompiler.py +1098 -0
- ablation/analyzers/abc_disasm.py +608 -0
- ablation/analyzers/abc_parser.py +742 -0
- ablation/analyzers/ami_cramfs_extractor.py +310 -0
- ablation/analyzers/analysis_arc.py +114 -0
- ablation/analyzers/analysis_arm32.py +114 -0
- ablation/analyzers/analysis_arm64.py +110 -0
- ablation/analyzers/analysis_loongarch64.py +117 -0
- ablation/analyzers/analysis_mips.py +114 -0
- ablation/analyzers/analysis_ppc.py +114 -0
- ablation/analyzers/analysis_riscv.py +125 -0
- ablation/analyzers/analysis_v850.py +113 -0
- ablation/analyzers/analysis_x86.py +114 -0
- ablation/analyzers/appledouble_extractor.py +291 -0
- ablation/analyzers/arc_decoder.py +392 -0
- ablation/analyzers/arm32_function_scanner.py +181 -0
- ablation/analyzers/arm32_reg_annotator.py +278 -0
- ablation/analyzers/arm64_fgets_fd_discriminator.py +187 -0
- ablation/analyzers/arm64_global_tracker.py +459 -0
- ablation/analyzers/arm_disasm.py +326 -0
- ablation/analyzers/arm_symbolic.py +553 -0
- ablation/analyzers/bare_adapter.py +136 -0
- ablation/analyzers/beam_context.py +1487 -0
- ablation/analyzers/binary_context.py +2209 -0
- ablation/analyzers/binary_lifter.py +4596 -0
- ablation/analyzers/binder_scanner.py +247 -0
- ablation/analyzers/bss_taint_tracker.py +310 -0
- ablation/analyzers/byovd_detector.py +602 -0
- ablation/analyzers/callsite_tracer.py +314 -0
- ablation/analyzers/can_dbc_parser.py +309 -0
- ablation/analyzers/cfg_arc.py +165 -0
- ablation/analyzers/cfg_arm32.py +138 -0
- ablation/analyzers/cfg_arm64.py +121 -0
- ablation/analyzers/cfg_builder.py +409 -0
- ablation/analyzers/cfg_bypass_detector.py +339 -0
- ablation/analyzers/cfg_loongarch64.py +172 -0
- ablation/analyzers/cfg_mips.py +172 -0
- ablation/analyzers/cfg_ppc.py +127 -0
- ablation/analyzers/cfg_riscv.py +132 -0
- ablation/analyzers/cfg_sh2a.py +286 -0
- ablation/analyzers/cfg_v850.py +162 -0
- ablation/analyzers/cfg_x86.py +128 -0
- ablation/analyzers/chunk_walker_validator.py +366 -0
- ablation/analyzers/cmdb_surface_mapper.py +465 -0
- ablation/analyzers/com_attack_surface_mapper.py +381 -0
- ablation/analyzers/compiler_security_gate.py +459 -0
- ablation/analyzers/corpus_builder.py +281 -0
- ablation/analyzers/cpp_vtable_reconstructor.py +944 -0
- ablation/analyzers/cross_binary_taint.py +479 -0
- ablation/analyzers/crypto_audit.py +4677 -0
- ablation/analyzers/crypto_pattern_detector.py +395 -0
- ablation/analyzers/dataflow_engine.py +1627 -0
- ablation/analyzers/deprecated_func_scanner.py +299 -0
- ablation/analyzers/dex_analyzer.py +392 -0
- ablation/analyzers/dex_disasm.py +924 -0
- ablation/analyzers/dex_lifter.py +758 -0
- ablation/analyzers/dtw_matcher.py +327 -0
- ablation/analyzers/dwarf_loongarch64.py +299 -0
- ablation/analyzers/dynamic_sandbox.py +594 -0
- ablation/analyzers/ecu_a2l_parser.py +643 -0
- ablation/analyzers/ecu_arch_detector.py +648 -0
- ablation/analyzers/ecu_c28x_decoder.py +491 -0
- ablation/analyzers/ecu_cal_def.py +117 -0
- ablation/analyzers/ecu_conescan_parser.py +427 -0
- ablation/analyzers/ecu_m68k_decoder.py +295 -0
- ablation/analyzers/ecu_nissan_parser.py +523 -0
- ablation/analyzers/ecu_open_damos_parser.py +377 -0
- ablation/analyzers/ecu_rom_layout_analyzer.py +489 -0
- ablation/analyzers/ecu_romraider_parser.py +676 -0
- ablation/analyzers/ecu_security_access_scanner.py +245 -0
- ablation/analyzers/ecu_sh2a_decoder.py +484 -0
- ablation/analyzers/ecu_vle_decoder.py +572 -0
- ablation/analyzers/ecu_xdf_parser.py +354 -0
- ablation/analyzers/elf_vtable_reconstructor.py +304 -0
- ablation/analyzers/encoding_dag.py +596 -0
- ablation/analyzers/engine_pattern_library.py +896 -0
- ablation/analyzers/entropy_mapper.py +320 -0
- ablation/analyzers/epilogue_share_scanner.py +186 -0
- ablation/analyzers/etw_provider_extractor.py +378 -0
- ablation/analyzers/evidence_scorer.py +230 -0
- ablation/analyzers/finding_registry.py +525 -0
- ablation/analyzers/firmware_auth_bypass_detector.py +323 -0
- ablation/analyzers/firmware_container.py +212 -0
- ablation/analyzers/firmware_container_key_extractor.py +539 -0
- ablation/analyzers/flat_binary_func_start_scanner.py +464 -0
- ablation/analyzers/flatui_method_decoder.py +177 -0
- ablation/analyzers/forge.py +678 -0
- ablation/analyzers/fork_exec_classifier.py +530 -0
- ablation/analyzers/format_string_scanner.py +415 -0
- ablation/analyzers/fortibuild_track_classifier.py +180 -0
- ablation/analyzers/fortigate_cert_key_scanner.py +626 -0
- ablation/analyzers/fortimail_vmdk_extractor.py +588 -0
- ablation/analyzers/fortios_firmware_extractor.py +422 -0
- ablation/analyzers/func_id_db.py +574 -0
- ablation/analyzers/func_profiler.py +318 -0
- ablation/analyzers/go_binary_re.py +1278 -0
- ablation/analyzers/go_dangerous_callers.py +909 -0
- ablation/analyzers/go_garble_re.py +535 -0
- ablation/analyzers/go_pclntab.py +255 -0
- ablation/analyzers/go_string_resolver.py +469 -0
- ablation/analyzers/go_subprocess_scanner.py +470 -0
- ablation/analyzers/go_x86_strip_scanner.py +382 -0
- ablation/analyzers/hardware_root_finder.py +310 -0
- ablation/analyzers/heap_uaf_scanner.py +406 -0
- ablation/analyzers/heap_vuln_scanner.py +529 -0
- ablation/analyzers/hisi_rv32_ext.py +576 -0
- ablation/analyzers/huawei_squashfs_extractor.py +569 -0
- ablation/analyzers/hypothesis_engine.py +421 -0
- ablation/analyzers/hypothesis_models.py +440 -0
- ablation/analyzers/i386_absolute_xref_scanner.py +238 -0
- ablation/analyzers/insn_arc.py +254 -0
- ablation/analyzers/insn_arm32.py +475 -0
- ablation/analyzers/insn_arm64.py +266 -0
- ablation/analyzers/insn_loongarch64.py +118 -0
- ablation/analyzers/insn_m88k.py +259 -0
- ablation/analyzers/insn_mips.py +298 -0
- ablation/analyzers/insn_ppc.py +409 -0
- ablation/analyzers/insn_riscv.py +219 -0
- ablation/analyzers/insn_v850.py +274 -0
- ablation/analyzers/insn_x86.py +429 -0
- ablation/analyzers/installer_binary_analyzer.py +374 -0
- ablation/analyzers/interproc_field_writer.py +679 -0
- ablation/analyzers/intoverflow_scanner_arm32.py +415 -0
- ablation/analyzers/ioctl_attack_surface.py +615 -0
- ablation/analyzers/ipreg_annotator.py +400 -0
- ablation/analyzers/isa_8051.py +660 -0
- ablation/analyzers/isa_arc.py +230 -0
- ablation/analyzers/isa_arm32.py +369 -0
- ablation/analyzers/isa_arm64.py +236 -0
- ablation/analyzers/isa_loongarch64.py +243 -0
- ablation/analyzers/isa_m88k.py +173 -0
- ablation/analyzers/isa_mips.py +276 -0
- ablation/analyzers/isa_ppc.py +412 -0
- ablation/analyzers/isa_riscv.py +297 -0
- ablation/analyzers/isa_v850.py +224 -0
- ablation/analyzers/isa_x86.py +364 -0
- ablation/analyzers/jni_bridge_scanner.py +348 -0
- ablation/analyzers/kernel_driver_analyzer.py +1731 -0
- ablation/analyzers/kernel_module_subsystem_classifier.py +231 -0
- ablation/analyzers/la64_heap_vuln_scanner.py +491 -0
- ablation/analyzers/length_underflow.py +436 -0
- ablation/analyzers/lib_graph.py +275 -0
- ablation/analyzers/libfunc_db.py +591 -0
- ablation/analyzers/library_inventory.py +718 -0
- ablation/analyzers/llm_analyst/__init__.py +31 -0
- ablation/analyzers/llm_analyst/agent_loop.py +324 -0
- ablation/analyzers/llm_analyst/context_builder.py +199 -0
- ablation/analyzers/llm_analyst/rag_retriever.py +134 -0
- ablation/analyzers/llm_analyst/tasks/__init__.py +0 -0
- ablation/analyzers/llm_analyst/tasks/function_namer.py +131 -0
- ablation/analyzers/llm_analyst/tasks/struct_reconstructor.py +222 -0
- ablation/analyzers/llm_analyst/tasks/vuln_hypothesis.py +127 -0
- ablation/analyzers/llm_analyst/tool_registry.py +403 -0
- ablation/analyzers/loongarch64_max_not_min_scanner.py +753 -0
- ablation/analyzers/loongarch_decoder.py +877 -0
- ablation/analyzers/loongarch_decoder_v2.py +348 -0
- ablation/analyzers/lsb_stego_extractor.py +377 -0
- ablation/analyzers/lua_injection_analyzer.py +534 -0
- ablation/analyzers/matrix_profile_diff.py +369 -0
- ablation/analyzers/mcp_tool_taint_scanner.py +342 -0
- ablation/analyzers/mips_analyzer.py +690 -0
- ablation/analyzers/mpy_lifter.py +602 -0
- ablation/analyzers/name_registry.py +119 -0
- ablation/analyzers/nanomips_decoder.py +324 -0
- ablation/analyzers/opseq.py +291 -0
- ablation/analyzers/path_solver.py +661 -0
- ablation/analyzers/pattern_library.py +435 -0
- ablation/analyzers/pdb_symbol_integrator.py +454 -0
- ablation/analyzers/pef_abi_clobber_scanner.py +397 -0
- ablation/analyzers/pef_binary_analyzer.py +495 -0
- ablation/analyzers/perl_taint_scanner.py +472 -0
- ablation/analyzers/physmem_elf_vfs.py +727 -0
- ablation/analyzers/ppc32_func_discovery.py +208 -0
- ablation/analyzers/ppc32_got2_resolver.py +563 -0
- ablation/analyzers/ppc32_plt_tracer.py +495 -0
- ablation/analyzers/ppc64_be_sink_classifier.py +577 -0
- ablation/analyzers/ppc64_dynds_classifier.py +475 -0
- ablation/analyzers/ppc64_elfv1_resolver.py +419 -0
- ablation/analyzers/ppc64_vmx_density.py +353 -0
- ablation/analyzers/preauth_route_auditor.py +493 -0
- ablation/analyzers/probe_adapters.py +538 -0
- ablation/analyzers/probe_ranker.py +241 -0
- ablation/analyzers/proto_fsm.py +591 -0
- ablation/analyzers/ps3_opd_vtable_scanner.py +484 -0
- ablation/analyzers/ps3_self_decryptor.py +359 -0
- ablation/analyzers/reg_annotator.py +650 -0
- ablation/analyzers/rpc_server_analyzer.py +457 -0
- ablation/analyzers/sanitizer_detector.py +854 -0
- ablation/analyzers/sax_index.py +357 -0
- ablation/analyzers/scan_result_version_cache.py +292 -0
- ablation/analyzers/seh_chain_analyzer.py +305 -0
- ablation/analyzers/semantic_search.py +529 -0
- ablation/analyzers/setuid_auth_oracle_scanner.py +304 -0
- ablation/analyzers/sig_library.py +268 -0
- ablation/analyzers/sink_arg_classifier.py +1161 -0
- ablation/analyzers/sink_propagator.py +535 -0
- ablation/analyzers/sink_sanitizer_filter.py +521 -0
- ablation/analyzers/source_arch_risk.py +289 -0
- ablation/analyzers/source_audit_compressor.py +392 -0
- ablation/analyzers/source_entry_classifier.py +319 -0
- ablation/analyzers/source_ingestion.py +317 -0
- ablation/analyzers/source_isolation_checker.py +498 -0
- ablation/analyzers/source_sink_scanner.py +314 -0
- ablation/analyzers/source_taint_tracker.py +567 -0
- ablation/analyzers/spu_disassembler.py +605 -0
- ablation/analyzers/sql_sink_scanner.py +551 -0
- ablation/analyzers/sse_slicer.py +392 -0
- ablation/analyzers/stage_commitment.py +230 -0
- ablation/analyzers/static_elf32_func_start_scanner.py +199 -0
- ablation/analyzers/structural_sim.py +343 -0
- ablation/analyzers/structurizer.py +538 -0
- ablation/analyzers/subsequence_searcher.py +361 -0
- ablation/analyzers/syscall_loongarch64.py +475 -0
- ablation/analyzers/taint_tracker.py +296 -0
- ablation/analyzers/taint_tracker_arc.py +548 -0
- ablation/analyzers/taint_tracker_arc_labeled.py +857 -0
- ablation/analyzers/taint_tracker_arm32.py +517 -0
- ablation/analyzers/taint_tracker_arm32_labeled.py +1209 -0
- ablation/analyzers/taint_tracker_arm64.py +1103 -0
- ablation/analyzers/taint_tracker_loongarch64.py +1049 -0
- ablation/analyzers/taint_tracker_mips.py +568 -0
- ablation/analyzers/taint_tracker_mips64.py +751 -0
- ablation/analyzers/taint_tracker_mips_labeled.py +915 -0
- ablation/analyzers/taint_tracker_nanomips.py +678 -0
- ablation/analyzers/taint_tracker_ppc32.py +1038 -0
- ablation/analyzers/taint_tracker_ppc64.py +713 -0
- ablation/analyzers/taint_tracker_ppc_labeled.py +963 -0
- ablation/analyzers/taint_tracker_rh850.py +350 -0
- ablation/analyzers/taint_tracker_riscv.py +578 -0
- ablation/analyzers/taint_tracker_riscv32.py +731 -0
- ablation/analyzers/taint_tracker_riscv64.py +666 -0
- ablation/analyzers/taint_tracker_tricore.py +875 -0
- ablation/analyzers/taint_tracker_v850.py +993 -0
- ablation/analyzers/taint_tracker_x86.py +1520 -0
- ablation/analyzers/taint_tracker_x86_32.py +653 -0
- ablation/analyzers/taint_tracker_x86_labeled.py +936 -0
- ablation/analyzers/ti_coff_loader.py +353 -0
- ablation/analyzers/ti_nnc_scanner.py +563 -0
- ablation/analyzers/v850_decoder.py +331 -0
- ablation/analyzers/vendor_profile.py +155 -0
- ablation/analyzers/version_delta.py +1016 -0
- ablation/analyzers/version_delta_finetune.py +217 -0
- ablation/analyzers/video_container.py +961 -0
- ablation/analyzers/vtable_dispatch_scanner.py +262 -0
- ablation/analyzers/vtable_resolver.py +473 -0
- ablation/analyzers/window_analyzer.py +610 -0
- ablation/analyzers/windows_pool_taint_tracker.py +361 -0
- ablation/analyzers/workflow_document.py +328 -0
- ablation/analyzers/xor_solver.py +605 -0
- ablation/analyzers/xref_graph.py +776 -0
- ablation/cli.py +1317 -0
- ablation/core/__init__.py +31 -0
- ablation/core/apk_parser.py +846 -0
- ablation/core/attck_tagger.py +829 -0
- ablation/core/bff_extractor.py +188 -0
- ablation/core/binary_parser.py +246 -0
- ablation/core/bv41_decoder.py +285 -0
- ablation/core/coff_m88k_parser.py +162 -0
- ablation/core/disasm_engine.py +952 -0
- ablation/core/elf_parser.py +1366 -0
- ablation/core/firmware_analyzer.py +518 -0
- ablation/core/guardian_pak_extractor.py +254 -0
- ablation/core/macho_analyzer.py +261 -0
- ablation/core/pe_analyzer.py +139 -0
- ablation/core/pe_parser.py +960 -0
- ablation/core/platform_detect.py +205 -0
- ablation/core/prose.py +166 -0
- ablation/core/render.py +124 -0
- ablation/core/shellcode_utils.py +1646 -0
- ablation/core/swift_demangle.py +364 -0
- ablation/core/tls_analyzer.py +2770 -0
- ablation/core/xcoff_parser.py +379 -0
- ablation/core/yara_generator.py +736 -0
- ablation/data/__init__.py +0 -0
- ablation/data/seed_corpus.json +173 -0
- ablation/data/sigs.json +326 -0
- ablation/export/__init__.py +5 -0
- ablation/export/json_export.py +66 -0
- ablation/export/sarif.py +202 -0
- ablation/integrations/__init__.py +1 -0
- ablation/integrations/binja_plugin.py +221 -0
- ablation_tool-2.81.0.dist-info/METADATA +1169 -0
- ablation_tool-2.81.0.dist-info/RECORD +326 -0
- ablation_tool-2.81.0.dist-info/WHEEL +5 -0
- ablation_tool-2.81.0.dist-info/entry_points.txt +7 -0
- ablation_tool-2.81.0.dist-info/licenses/LICENSE +657 -0
- ablation_tool-2.81.0.dist-info/top_level.txt +3 -0
- modules/__init__.py +2 -0
- modules/analyze_all_jni.py +343 -0
- modules/api_re.py +2971 -0
- modules/deep_jni_analysis.py +250 -0
- modules/docker_enum.py +1841 -0
- modules/forensics_enum.py +4213 -0
- modules/hyperflex_enum.py +1303 -0
- modules/ios_enum.py +5105 -0
- modules/java_decompiler.py +1972 -0
- modules/java_re.py +3961 -0
- modules/k8s_enum.py +5152 -0
- modules/lateral_movement.py +7809 -0
- modules/llm_enum.py +4506 -0
- modules/mcp_grammar_fuzzer.py +291 -0
- modules/net_sniffer.py +3419 -0
- modules/network_analyze.py +4223 -0
- modules/nexus_dashboard_enum.py +1520 -0
- modules/nginx_enum.py +2293 -0
- modules/nxos_enum.py +1593 -0
- modules/privesc_enum.py +4517 -0
- modules/process_enum.py +3859 -0
- modules/sip_enum.py +6006 -0
- modules/streaming_enum.py +4212 -0
- modules/syscall_trace.py +2642 -0
- modules/tls_enum.py +2441 -0
- modules/windows_enum.py +784 -0
- sweeps/__init__.py +0 -0
- sweeps/android_sweep.py +341 -0
- sweeps/base_sweep.py +388 -0
- sweeps/corpus_miner.py +491 -0
- sweeps/fortinet_sweep.py +714 -0
- sweeps/pe_sweep.py +1002 -0
- sweeps/report_generator.py +225 -0
- sweeps/ti_sweep.py +854 -0
- sweeps/win16_le_vxd_sweep.py +911 -0
- sweeps/win16_mz_dos_sweep.py +390 -0
- sweeps/win16_ne_sweep.py +1036 -0
ablation/__init__.py
ADDED
|
@@ -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
|
+
]
|