Willi Ballenthin
dc4d64cb01
vverbose: use capa.helpers.assert_never
...
typing.assert_never isn't available until py3.11
2026-04-23 16:11:58 +03:00
Willi Ballenthin
f5e3aa4a3b
fix: address Pyright diagnostics in vivisect extractors (chunk 8)
...
- basicblock.py: fix real bug (/ -> // for integer division in get_printable_len); type: ignore for _dis_regctx (dynamically set)
- extractor.py: cast+assert for funcy.cached_property basic_blocks/instructions; type: ignore for get_function_name Address vs int
- file.py: assert pe/IMAGE_NT_HEADERS not None instead of type: ignore
- function.py: cast+assert for funcy.cached_property basic_blocks/instructions; type: ignore for getBranches() base return type
- insn.py: type hint derefs() as Iterator[int]; isinstance guard before derefs calls; import Elf + isinstance assert for parsedbin; cast for f.basic_blocks[0] and bb.instructions; type: ignore for dynamically-injected REG_* constants and getBranches()
2026-04-23 16:11:58 +03:00
Willi Ballenthin
191c889adf
fix: remaining import, type annotation, and xfail type issues (chunk 7)
...
- fixtures.py: add import capa.render.result_document; local import capa.loader in functions
- fixtures.py: fix xfail reason type annotation (None -> str = "")
- main.py: type: ignore for PyInstaller-injected sys._MEIPASS
2026-04-23 16:11:58 +03:00
Willi Ballenthin
89a365fa3d
fix: address Optional member access and type mismatch in tests (chunk 6)
...
- test_binexport_accessors.py: type: ignore on .expression accesses guarded by test assertions
- test_freeze_dynamic.py: assert isinstance DynamicFeatureExtractor before compare_extractors
- test_binja_features.py: type: ignore on binaryninja guarded by skipif decorator
2026-04-23 16:11:58 +03:00
Willi Ballenthin
2b536e2f53
fix: address type override, alias parameter, and Statement.children issues (chunk 5)
...
- engine.py: type: ignore for children/replace_child hasattr-guarded subclass attrs
- result_document.py: type: ignore for Pydantic analysis field override and alias args
- render/proto/__init__.py: type: ignore on Pydantic alias argument lines
- rules/__init__.py: type: ignore on ensure_feature_valid_for_scopes StringFactory calls
- result_document.py: fix Scope|None by extracting scope var with assert
2026-04-23 16:11:58 +03:00
Willi Ballenthin
96cabbcc6b
fix: address reportAttributeAccessIssue and override mismatches (chunk 4)
...
- dnfile/helpers.py, insn.py: add import dnfile.mdtable; type: ignore dnfile Unknown returns
- dnfile/extractor.py: rename get_basic_blocks param f->fh
- pefile.py: rename f/bb->fh/bbh stub params; type: ignore for pefile OPTIONAL_HEADER stubs
- ghidra/file.py, helpers.py: initialize addr=0 before conditional loop
2026-04-23 16:11:58 +03:00
Willi Ballenthin
b34079208c
fix: address reportPossiblyUnbound diagnostics (chunk 3)
...
- elf.py: fix bug where vdso_guess except handler set symtab_guess=None
- result_document.py: add assert_never after StaticAnalysis/DynamicAnalysis
- binexport2/helpers.py: guard empty operand_expressions with early return
- tests/fixtures.py: restructure kernel32-64.dll_ workaround to single if/else
2026-04-23 16:11:58 +03:00
Willi Ballenthin
ad8ed3b0b3
fix: align base_extractor abstract method parameter names with all concrete implementations
2026-04-23 16:11:58 +03:00
Willi Ballenthin
d16a85bdba
fix: add missing explicit submodule imports for Pyright attribute resolution
2026-04-23 16:11:58 +03:00
Willi Ballenthin
25edb58fdd
rules: raise InvalidRule instead of asserting
2026-04-23 16:11:58 +03:00
Willi Ballenthin
ab629e9a8a
changelog
2026-04-23 16:11:58 +03:00
Willi Ballenthin
30b97dc9af
fix: use tempfile.TemporaryFile as context manager, drop tfile=None guard
2026-04-23 16:11:58 +03:00
Willi Ballenthin
fe4fece1bc
fix: revert disable_progress to bool=False, drop Optional[bool]=None workaround
2026-04-23 16:11:58 +03:00
Willi Ballenthin
295ae3ee4b
fix: add missing submodule imports for Pyright attribute access
2026-04-23 16:11:58 +03:00
Willi Ballenthin
0655263ed3
fix: add inline explanations to all type: ignore comments
2026-04-23 16:11:58 +03:00
Willi Ballenthin
eb0d313264
fix: type: ignore placement for Pydantic alias parameters in freeze/__init__.py
2026-04-23 16:11:58 +03:00
Willi Ballenthin
aa502d3523
fix: rename unused self to _self in filter closures in base_extractor.py
2026-04-23 16:11:58 +03:00
Willi Ballenthin
546f0b77ea
fix: private imports, return types, and unused imports in elffile.py and test_optimizer.py
2026-04-23 16:11:58 +03:00
Willi Ballenthin
7e75f97614
fix: type narrowing, unused imports, and TextIOWrapper guard in main.py
2026-04-23 16:11:58 +03:00
Willi Ballenthin
98d62bd39a
fix: assert_never for exhaustive checks, tfile/line unbound, import paths, progress columns
2026-04-23 16:11:58 +03:00
Willi Ballenthin
dadf8b0961
fix: type annotations for disable_progress and module attribute access
2026-04-23 16:11:58 +03:00
Willi Ballenthin
2881939dc3
fix: possibly unbound variables and type annotations in elf.py and address.py
2026-04-23 16:11:58 +03:00
Moritz
74276c8c40
Merge pull request #3006 from mandiant/dependabot/pip/pydantic-2.13.0
...
build(deps): bump pydantic from 2.12.4 to 2.13.0
2026-04-17 15:23:57 +00:00
dependabot[bot]
e72f8baea6
build(deps): bump rich from 14.3.2 to 15.0.0 ( #3007 )
...
Bumps [rich](https://github.com/Textualize/rich ) from 14.3.2 to 15.0.0.
- [Release notes](https://github.com/Textualize/rich/releases )
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Textualize/rich/compare/v14.3.2...v15.0.0 )
---
updated-dependencies:
- dependency-name: rich
dependency-version: 15.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-16 12:36:42 -06:00
Mike Hunhoff
3cd0e7867b
Merge branch 'master' into dependabot/pip/pydantic-2.13.0
2026-04-16 12:36:15 -06:00
Moritz
557f521713
tests: update expected Binary Ninja version to 5.3 ( #3011 )
2026-04-16 12:35:43 -06:00
Moritz
c0ce1a3fb5
build(deps): bump msgspec from 0.20.0 to 0.21.1 ( #3008 )
...
Bumps [msgspec](https://github.com/jcrist/msgspec ) from 0.20.0 to 0.21.1.
- [Release notes](https://github.com/jcrist/msgspec/releases )
- [Changelog](https://github.com/jcrist/msgspec/blob/main/docs/changelog.md )
- [Commits](https://github.com/jcrist/msgspec/compare/0.20.0...0.21.1 )
---
updated-dependencies:
- dependency-name: msgspec
dependency-version: 0.21.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-15 07:59:11 +00:00
dependabot[bot]
b4e307b85d
build(deps): bump msgspec from 0.20.0 to 0.21.1
...
Bumps [msgspec](https://github.com/jcrist/msgspec ) from 0.20.0 to 0.21.1.
- [Release notes](https://github.com/jcrist/msgspec/releases )
- [Changelog](https://github.com/jcrist/msgspec/blob/main/docs/changelog.md )
- [Commits](https://github.com/jcrist/msgspec/compare/0.20.0...0.21.1 )
---
updated-dependencies:
- dependency-name: msgspec
dependency-version: 0.21.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-13 16:00:22 +00:00
dependabot[bot]
d71dc8520f
build(deps): bump pydantic from 2.12.4 to 2.13.0
...
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 2.12.4 to 2.13.0.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v2.12.4...v2.13.0 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-version: 2.13.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-13 16:00:05 +00:00
Moritz
99ecd65852
ci: update GitHub Actions to Node.js 24 ( #2984 )
...
* ci: update GitHub Actions to Node.js 24 and pin more versions
2026-04-13 16:35:55 +02:00
Mike Hunhoff
0798528b7b
ci: use explicit and per job permissions ( #3002 )
...
* ci: use explicit and per job permissions
* update CHANGELOG
2026-04-07 14:39:41 -06:00
Mike Hunhoff
c55b06860c
ci: fix web rules failure ( #3003 )
...
* ci: fix web rules failure
* address feedback
* ruff cleanup
2026-04-07 13:01:23 -06:00
Mike Hunhoff
ed7e0cd77d
lint: replace black/isort/flake8 with ruff ( #2992 )
...
* lint: replace isort/flake8 with ruff
* update ruff links
* remove stale isort reference
* update CHANGELOG
* address review
* remove unused imports
* remove unnecessary list comprehension
* remove quotes from type annotation
* use dict.get instead of if-else block
* remove unnecessary utf-8 encoding declaration
* Revert "remove unused imports"
This reverts commit 18ba50a22b .
* skip check for unused imports
* fix UP036 Version block is outdated for minimum Python version
* add TODO comment for unused imports
* replace black with ruff
* address review comments
2026-04-07 12:10:41 -06:00
Moritz
ac1cba74b3
feat: update vivisect to 1.3.2 ( #3001 )
2026-04-07 10:30:21 -06:00
Moritz
ed6b40e967
Merge pull request #3000 from mandiant/dependabot/npm_and_yarn/web/explorer/vite-6.4.2
...
build(deps-dev): bump vite from 6.4.1 to 6.4.2 in /web/explorer
2026-04-07 09:36:36 +00:00
dependabot[bot]
c07b9e1d33
build(deps-dev): bump vite from 6.4.1 to 6.4.2 in /web/explorer
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-06 18:21:14 +00:00
dependabot[bot]
70f275ac0b
build(deps-dev): bump types-protobuf ( #2994 )
...
Bumps [types-protobuf](https://github.com/python/typeshed ) from 6.32.1.20250918 to 7.34.1.20260403.
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: types-protobuf
dependency-version: 7.34.1.20260403
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com >
2026-04-06 12:15:37 -06:00
dependabot[bot]
63aa5729ee
build(deps-dev): bump mypy from 1.19.1 to 1.20.0 ( #2993 )
...
Bumps [mypy](https://github.com/python/mypy ) from 1.19.1 to 1.20.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md )
- [Commits](https://github.com/python/mypy/compare/v1.19.1...v1.20.0 )
---
updated-dependencies:
- dependency-name: mypy
dependency-version: 1.20.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-06 10:42:18 -06:00
dependabot[bot]
63edbedb7c
build(deps-dev): bump lodash from 4.17.23 to 4.18.1 in /web/explorer ( #2991 )
...
Bumps [lodash](https://github.com/lodash/lodash ) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1 )
---
updated-dependencies:
- dependency-name: lodash
dependency-version: 4.18.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-06 08:59:48 -06:00
Rizky Mirzaviandy Priambodo
ac82a25e11
build: bump linux standalone build to Python 3.13 ( #2941 )
...
Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com >
2026-04-03 09:42:00 -06:00
Capa Bot
0b7a5f4b78
Sync capa-testfiles submodule
2026-04-03 15:12:39 +00:00
eversinc33
6aeec0f2b2
Change capa-rules version in installation guide ( #2965 )
...
* Change capa-rules version in installation guide
Updated the installation instructions to reflect the newest version of capa-rules.
* add md files from /doc to bumpversion.toml
* adjust rule installation command
* bump to 9.4.0
2026-04-03 09:06:49 -06:00
Moritz
7a79f799a7
Merge pull request #2982 from mandiant/fix/workflow-zip-env
...
ci: fix ZIP_NAME environment variable in build workflow
v9.4.0
2026-04-01 09:28:48 +00:00
mr-tz
4e4e16391a
ci: fix ZIP_NAME environment variable in build workflow
2026-04-01 09:27:00 +00:00
Moritz
3276e351db
Prepare release v9.4.0 ( #2981 )
...
* Prepare release v9.4.0
2026-04-01 10:58:02 +02:00
Capa Bot
d9b05ed534
Sync capa rules submodule
2026-03-31 16:39:30 +00:00
dependabot[bot]
c5fd75f118
build(deps): bump pyasn1 from 0.5.1 to 0.6.3 ( #2939 )
2026-03-30 21:12:42 +00:00
Moritz
b82c07d87e
Merge pull request #2980 from mandiant/dependabot/pip/pygments-2.20.0
2026-03-30 21:12:06 +00:00
dependabot[bot]
0933594ae9
build(deps): bump pygments from 2.19.1 to 2.20.0
...
Bumps [pygments](https://github.com/pygments/pygments ) from 2.19.1 to 2.20.0.
- [Release notes](https://github.com/pygments/pygments/releases )
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES )
- [Commits](https://github.com/pygments/pygments/compare/2.19.1...2.20.0 )
---
updated-dependencies:
- dependency-name: pygments
dependency-version: 2.20.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 18:43:24 +00:00
Moritz
db84b2cf33
Merge pull request #2978 from mandiant/dependabot/pip/pygithub-2.9.0
...
build(deps-dev): bump pygithub from 2.8.1 to 2.9.0
2026-03-30 20:42:45 +02:00