Commit Graph
5882 Commits
Author SHA1 Message Date
David McDonald 46e3b8ffdb Check for 'hidden' attribute when determining classes to validate 2025-03-28 15:22:37 -05:00
David McDonald 196556eab3 Test: Allow for other types of coding style violations 2025-03-28 15:18:22 -05:00
David McDonald d0a1daf82c ModuleExtract: Add missing requirement 2025-03-28 13:24:51 -05:00
David McDonald 27e59263a6 Docstring: explain version-checking script
This documents the general behavior and expectations of the
version-checking CI script.
2025-03-28 13:22:01 -05:00
David McDonald 03c6477902 Volshell: Attempt to resolve requirement conflicts
This change sets the `script`, `script-only`, and `primary` requirements
to only apply to the `generic.Volshell` class. `regex-scanner` is okay
to be shared between the base and inherited classes, but `script` and
`script-only` have to be generic-only in order to avoid conflicts when
populating the argparse parser.

`primary` must be generic-only in order to avoid ending up unsatisfied
when superclass requirements require a module, suppressing construction
of the `primary` layer.
2025-03-28 13:22:01 -05:00
David McDonald 9f024cf0f4 Refactor: use builtin ast lib instead of treesitter
Instead of using the tree-sitter third party library, this uses Python's
`ast` module to parse the source code and traverse the tree with a
visitor pattern. This is preferred because it's native to the language
itself, and Python developers are more likely to be familiar with it.
The traversal also handles nested scopes better than the prior
implementation. For example, classes that are declared inside of other
classes can now be looked up even though they don't exist at the top
level of the module namespace, since any time a class definition is
entered, that class is pushed to the top of a stack that can be examined
when visiting inner classes.

This also adds lots of log messages at different levels, plus a command
line argument for specifying verbosity, which should help with debugging
down the line.
2025-03-28 13:22:01 -05:00
David McDonald 68116556a8 Add calls to super().get_requirements() on inherited classes 2025-03-28 13:22:01 -05:00
David McDonald 0f73686364 Framework: Fix remaining missing requirements
This adds all of the missing requirements discovered via the new code
analysis script.
2025-03-28 13:22:01 -05:00
David McDonald 2ad1536b4e Testing: Verify VersionRequirements
This adds a script and GitHub action to the `test` directory that
dynamically imports all modules in `volatility3`, searches for usages of
`VersionableInterface` objects within classes that inherit from
`ConfigurableInterface` but don't enumerate the used component as a
requirement in `get_requirements()`, and returns -1 if any violations
are found.

Fixes
2025-03-28 13:21:10 -05:00
ikelosandGitHub 49d0404031 Merge pull request #1747 from volatilityfoundation/issues/update-api-changes-log
Update the various MINOR version bumps to the current version
2025-03-28 16:37:40 +00:00
ikelosandGitHub f844f80d2a Update API_CHANGES.md
Fix typo highlighted by @eve-mem
2025-03-28 14:29:35 +00:00
ikelosandGitHub d77d69cffa Merge pull request #1746 from volatilityfoundation/fix_hidden_modules
Fix hidden_modules to actually list hidden modules...
2025-03-28 01:48:12 +00:00
Mike Auty ee0ad0b4af Update the various MINOR version bumps to the current version 2025-03-28 01:46:14 +00:00
Andrew Case a3069a3192 Fix hidden_modules to actually list hidden modules... 2025-03-27 20:06:09 -05:00
ikelosandGitHub e8e8e76e79 Merge pull request #1740 from volatilityfoundation/lkm_extraction
Add module extraction API. Add plugin to directly extract modules. Ho…
2025-03-28 00:55:57 +00:00
Andrew Case 61575ca2b1 Require parity framework version 2025-03-27 19:30:58 -05:00
Andrew Case aab95ea18e Add required interface version to plugin 2025-03-27 18:39:29 -05:00
Andrew Case 5cfd55eba8 ordering fix 2025-03-27 17:17:08 -05:00
Andrew Case ed7e013aac Bug fix 2025-03-27 17:06:14 -05:00
Andrew Case 82d4de90df Address feedback update 2025-03-27 17:02:23 -05:00
Andrew Case 7f55ec6dd5 Address feedback 2025-03-27 16:46:51 -05:00
ikelosandGitHub f33e9daa48 Merge pull request #1707 from volatilityfoundation/1471-registry-plugins-spread-across-directories-needs-standardization
1471 registry plugins spread across directories needs standardization
2025-03-27 16:36:58 +00:00
ikelosGitHubCopilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
70e101ff90 Potential fix for code scanning alert no. 407: First argument to super() is not enclosing class
Think this is more correct

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-03-27 14:13:25 +00:00
Dave Lassalle bfc7e01d75 fix merge conflicts 2025-03-27 08:25:34 -05:00
Dave Lassalle ef29008cc8 #1471 - fix class deprecation and update other plugins 2025-03-26 17:53:19 -05:00
ikelosandGitHub 8de46033d7 Merge pull request #1737 from Abyss-W4tcher/additional_windows_testing
Windows: Additional testing
2025-03-26 20:30:15 +00:00
Abyss Watcher dca182dc72 trigger tests 2025-03-26 15:59:35 +01:00
ikelosandGitHub f74082ec36 Merge pull request #1742 from volatilityfoundation/1741-consoles-requirements
Consoles: Fix requirement versions
2025-03-26 14:50:15 +00:00
David McDonald 1c21b3cd04 Consoles: Fix requirement versions
When I updated the requirements for `Consoles` in #1738, I bumped the
version number on the `VerInfo` requirement instead of on the `Info`
requirement.

closes #1741
2025-03-26 09:07:32 -05:00
Abyss-W4tcherandGitHub ff8d6dbd42 Merge branch 'develop' into additional_windows_testing 2025-03-26 14:42:14 +01:00
Abyss Watcher b80a34110e adjust thrdscan 2025-03-26 14:41:05 +01:00
Dave Lassalle f431f519b6 #1471 - black and ruff fixes 2025-03-26 08:22:37 -05:00
Dave Lassalle 67533b034a #1471 - deprecation class for moving 2025-03-26 08:21:28 -05:00
Andrew Case 25eaaff06c Bring hidden module to expose dump option. Fix CodeQL found bug 2025-03-26 01:30:26 +00:00
Andrew Case e93df37649 Add module extraction API. Add plugin to directly extract modules. Hook module dumping into existing module listing plugins. 2025-03-26 01:16:53 +00:00
ikelosandGitHub 4fd0f20ff9 Merge pull request #1739 from volatilityfoundation/fix_thrdscan_checks
Fix checks in thrdscan that broke tests
2025-03-26 00:55:32 +00:00
Andrew Case 444305afc2 Handle kernel processes properly this time 2025-03-26 00:55:48 +00:00
Andrew Case 43ab95f4c5 Change thrdscan from looking for kernel processes 2025-03-26 00:50:34 +00:00
Andrew Case e52aea886e Fix checks in thrdscan that broke tests 2025-03-26 00:41:26 +00:00
ikelosandGitHub 2ebda44482 Merge pull request #1738 from volatilityfoundation/framework/missing_version_requirements
Framework: Missing `VersionRequirement`s
2025-03-25 23:16:25 +00:00
David McDonald 66992a5d9a Requirements: Insert missing version requirements
This audits the entire codebase for missing `VersionRequirements` and
adds them as needed.
2025-03-25 17:44:35 -05:00
David McDonald d5fc050224 Timeliner: add VersionableInterface superclass
This adds `interfaces.configuration.VersionableInterface` as a
superclass to `TimelinerInterface` in order to be consistent with other
versioned interfaces such as `PluginInterface`.
2025-03-25 17:44:35 -05:00
Abyss Watcher d70d8820a9 use winxp against scanner plugins (performances) 2025-03-25 11:41:28 +01:00
ikelosandGitHub b881fa1fac Merge pull request #1731 from volatilityfoundation/process_ghosting_update_with_delete_on_close
Add delete on close detection to process ghosting. Update plugin to c…
2025-03-25 09:15:23 +00:00
ikelosandGitHub d0e32e593a Merge pull request #1735 from volatilityfoundation/issue_1732_pe_symbols
Fix issue when pe_symbols limited to searching one process. Remove ne…
2025-03-25 09:13:52 +00:00
ikelosandGitHub 4ac8599d17 Merge pull request #1730 from volatilityfoundation/threads_useful_columns
Add win32 start address listing. Add paths for both thread starting a…
2025-03-25 09:12:57 +00:00
Andrew Case 3a4e622854 Change pending checking and OS version 2025-03-24 20:19:59 -05:00
Andrew Case 1a2427b54b Change column order 2025-03-24 20:18:54 -05:00
Andrew Case 0f098fc160 Address feedback 2025-03-24 20:13:10 -05:00
Andrew CaseandGitHub 19520799bb Merge branch 'develop' into threads_useful_columns 2025-03-24 20:03:07 -05:00