github mandiant/capa v9.4.0

5 hours ago

This release includes Ghidra PyGhidra support, performance improvements, dependency updates, and 26 new rules. We'd like to thank the following contributors: @devs6186, Daniel Adeboye (@AdeboyeDN), Aditya Pandey (@EclipseAditya), aryanyk, Ben Knutson (@blenbot), @CosmoWorker, kamran ul haq (@kami922), @Maijin, @res2500, and others!

New Features

Breaking Changes

New Rules (26)

Bug Fixes

  • main: suggest --os flag in unsupported OS error message to help users override ELF OS detection @devs6186 #2577
  • render: escape sample-controlled strings before passing to Rich to prevent MarkupError @devs6186 #2699
  • rules: handle empty or invalid YAML documents gracefully in Rule.from_yaml and get_rules @devs6186 #2900
  • Fixed insecure deserialization vulnerability in YAML loading @0x1622 (#2770)
  • loader: gracefully handle ELF files with unsupported architectures kamranulhaq2002@gmail.com #2800
  • loader: handle SegmentationViolation for malformed ELF files @kami922 #2799
  • lint: disable rule caching during linting @Maijin #2817
  • vmray: skip processes with invalid PID or missing filename @EclipseAditya #2807
  • features: fix Regex.get_value_str() returning escaped pattern instead of raw regex @EclipseAditya #1909
  • render: use default styling for dynamic -vv API/call details so they are easier to see @devs6186 #1865
  • loader: handle struct.error from dnfile and show clear CorruptFile message @devs6186 #2442
  • address: fix TypeError when sorting locations containing mixed address types @devs6186 #2195
  • loader: skip PE files with unrealistically large section virtual sizes to prevent resource exhaustion @devs6186 #1989
  • engine/render: fix unbounded range sentinel precedence so count(...): N or more uses explicit ((1 << 64) - 1) @blenbot #2936
  • cache: support *BSD @williballenthin @res2500 #2949

capa Explorer Web

  • webui: fix 404 for "View rule in capa-rules" by using encodeURIComponent for rule name in URL @devs6186 #2482
  • webui: show error when JSON does not follow expected result document schema; suggest reanalyzing for VT URLs @devs6186 #2363
  • webui: fix global search to match feature types (match, regex, api, …) @devs6186 #2349

capa Explorer IDA Pro plugin

Performance

  • perf: eliminate O(n²) tuple growth and reduce per-match overhead @devs6186 #2890

Development

  • doc: document that default output shows top-level matches only; -v/-vv show nested matches @devs6186 #1410
  • doc: fix typo in usage.md, add documentation links to README @devs6186 #2274
  • doc: add table comparing ways to consume capa output (CLI, IDA, Ghidra, dynamic sandbox, web) @devs6186 #2273
  • binja: add mypy config for top-level binaryninja module to fix mypy issues @devs6186 #2399
  • rules: pre-filter extracted bytes with 4-byte prefixes for faster candidate selection instead of linear scan #2128
  • ci: deprecate macos-13 runner and use Python v3.13 for testing @mike-hunhoff #2777
  • ci: pin pip-audit action SHAs and update to v1.1.0 @kami922 #1131

Raw diffs

Don't miss a new capa release

NewReleases is sending notifications on new releases.