Skip to content

Add String Extraction Framework with Noise Filtering and Benchmarks#108

Merged
unclesp1d3r merged 6 commits into
mainfrom
8-core-string-extraction-framework-stringextractor-trait-and-configuration
Nov 13, 2025
Merged

Add String Extraction Framework with Noise Filtering and Benchmarks#108
unclesp1d3r merged 6 commits into
mainfrom
8-core-string-extraction-framework-stringextractor-trait-and-configuration

Conversation

@unclesp1d3r
Copy link
Copy Markdown
Member

This pull request introduces a comprehensive benchmarking suite for ASCII string extraction and noise filtering, adds the entropy crate as a dependency, and significantly expands the documentation to detail the filtering architecture, configuration, and usage. The most important changes are grouped below:

Benchmarking and Performance Evaluation

  • Added a new benchmark suite in benches/ascii_extraction.rs to measure the performance of ASCII string extraction and all individual noise filters, including entropy, character distribution, linguistic, length, repetition, context-aware, and composite filtering. Also benchmarks large binary extraction scenarios.
  • Registered the new benchmark target ascii_extraction in Cargo.toml for Criterion-based performance testing.

Dependency Updates

  • Added the entropy crate (version 0.4) to Cargo.toml to enable Shannon entropy calculations in both filtering logic and benchmarks.

Documentation Improvements: Extraction & Filtering

  • Expanded the ASCII extraction documentation in docs/src/string-extraction.md to clarify algorithm details, provide code examples, and explain configuration options for minimum/maximum length. Added a new section for UTF-8 extraction.
  • Added a detailed "Noise Filtering" section describing the multi-layered filtering system, filter types, confidence scoring, configuration, and performance characteristics. Includes code samples for using and customizing filters. [1] [2]
  • Updated configuration documentation to reflect new options for extraction and noise filtering, including filter weights and validation of configuration.

These changes provide robust performance testing, enable advanced filtering, and make the documentation much more actionable for users and developers.

…tring extraction

- Added the BasicExtractor struct to implement a sequential ASCII/UTF-8 string extraction algorithm from binary data.
- Introduced the ExtractionConfig struct to allow customization of extraction parameters, including minimum and maximum string lengths, encoding selection, and section filtering.
- Updated documentation to include usage examples for both BasicExtractor and ExtractionConfig.
- Added integration tests to validate the functionality of string extraction from various binary formats, including ELF and PE.

This enhancement improves the library's ability to extract meaningful strings from binary files, facilitating better analysis and understanding of their content.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
…entation

- Introduced a new module for ASCII string extraction, providing foundational functionality for extracting contiguous printable ASCII sequences from binary data.
- Implemented `extract_ascii_strings` and `extract_from_section` functions, along with an `ExtractionConfig` struct for customizable extraction parameters.
- Updated the main extraction module documentation to include details about the new ASCII extraction capabilities and usage examples.
- Enhanced the existing documentation to reflect the addition of ASCII extraction in the library's structure and functionality.

This addition improves the library's ability to handle ASCII string extraction, paving the way for future enhancements in UTF-8 and other encoding types.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
…g and update related documentation

- Renamed `ExtractionConfig` to `AsciiExtractionConfig` to better reflect its purpose in ASCII string extraction.
- Updated all references in the codebase and documentation to use the new name, ensuring consistency.
- Enhanced documentation to clarify usage examples and configuration details for ASCII extraction.
- Improved function signatures and comments to align with the new naming convention.

This refactor improves code clarity and maintains a consistent naming scheme across the extraction module, facilitating better understanding and usage of the ASCII extraction functionality.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
…g and new benchmarks

- Added a new `entropy` dependency to support advanced noise filtering capabilities in ASCII string extraction.
- Introduced a new benchmark for ASCII extraction, `ascii_extraction`, to evaluate performance under various conditions.
- Updated the `FoundString` struct to include a `confidence` field, representing the likelihood of a string being legitimate versus noise.
- Enhanced the ASCII extraction functions to compute confidence scores using a composite noise filter, allowing for better filtering of false positives.
- Updated documentation to reflect the new noise filtering features and provided examples for configuring extraction parameters.
- Added unit and integration tests to validate the new noise filtering functionality and ensure robust performance.

This enhancement significantly improves the accuracy and reliability of ASCII string extraction, making it more effective for analyzing binary data.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
@unclesp1d3r unclesp1d3r linked an issue Nov 13, 2025 that may be closed by this pull request
10 tasks
@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Nov 13, 2025
@unclesp1d3r unclesp1d3r linked an issue Nov 13, 2025 that may be closed by this pull request
17 tasks
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Nov 13, 2025

Caution

Review failed

The pull request is closed.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Summary by CodeRabbit

Release Notes

  • New Features

    • Added ASCII string extraction with configurable minimum and maximum length filtering
    • Implemented multi-layer noise filtering system with six independent filters (character distribution, entropy, linguistic patterns, length, repetition, context-aware)
    • Added confidence scoring (0.0–1.0) for extracted strings to prioritize results
    • Enabled section-aware extraction preserving metadata and RVA information
  • Documentation

    • Added comprehensive guides with configuration examples and best practices for string extraction and noise filtering

Walkthrough

Adds a complete ASCII/UTF-8 string extraction framework with a BasicExtractor and ExtractionConfig, a multi-filter noise‑filtering system with weighted filters and per-string confidence, AsciiExtraction utilities and benchmarks, docs updates, and extensive unit/integration tests; integrates confidence into existing extraction paths and re-exports new APIs at the crate root.

Changes

Cohort / File(s) Change Summary
Core extraction framework
src/extraction/mod.rs
New trait-based extraction framework (StringExtractor, ExtractionConfig, BasicExtractor), exports and integration for ASCII/UTF-8 extraction and noise filtering; test coverage and helpers added.
ASCII extraction
src/extraction/ascii.rs, tests/test_ascii_extraction.rs, tests/test_ascii_integration.rs
New ASCII scanner and section-aware extraction (AsciiExtractionConfig, is_printable_ascii, extract_ascii_strings, extract_from_section), section/RVA population, noise-filter integration, and unit/integration tests.
Noise filtering config
src/extraction/config.rs
New NoiseFilterConfig and FilterWeights with Default and validate() logic and unit tests.
Noise filtering implementation
src/extraction/filters.rs, tests/test_noise_filters.rs
Pluggable filters and trait (NoiseFilter, FilterContext, CharDistributionFilter, EntropyFilter, LinguisticFilter, LengthFilter, RepetitionFilter, ContextFilter) and CompositeNoiseFilter with weighted aggregation and tests.
Types & integration edits
src/types.rs, src/extraction/macho_load_commands.rs, src/extraction/pe_resources.rs
FoundString.confidence added (public), helper methods (is_high_confidence, is_low_confidence), and confidence initialized (1.0) in existing extraction paths.
Crate root & exports
src/lib.rs
Re-exported AsciiExtractionConfig, BasicExtractor, ExtractionConfig, StringExtractor at crate root and updated docs/examples.
Benchmarks & Cargo
Cargo.toml, benches/ascii_extraction.rs
Added entropy = "0.4.2" dependency, bumped several dev deps, and new Criterion bench ascii_extraction.
Documentation
docs/src/string-extraction.md
Expanded docs: ASCII extraction algorithm, multi-filter noise filtering, configuration examples, and updated public API descriptions.
Tests & CI
tests/*, .github/workflows/release.yml, dist-workspace.toml
Added comprehensive test suites (unit + integration + benches), bumped GitHub Actions versions and adjusted distribution config formatting/keys.

Sequence Diagram(s)

sequenceDiagram
    participant Caller as User Code
    participant BE as BasicExtractor
    participant AS as ASCII Scanner
    participant CNF as CompositeNoiseFilter
    participant SF as Sub-filter
    participant FS as FoundString

    Caller->>BE: extract(data, ExtractionConfig)
    activate BE
    BE->>AS: scan section bytes (AsciiExtractionConfig)
    AS-->>BE: candidates (Vec<FoundString>)
    alt noise_filtering_enabled
        BE->>CNF: CompositeNoiseFilter::new(NoiseFilterConfig)
        loop each candidate
            BE->>CNF: calculate_confidence(text, FilterContext)
            loop enabled sub-filters
                CNF->>SF: calculate_confidence(text, context)
                SF-->>CNF: score
            end
            CNF-->>BE: normalized confidence
            BE->>FS: set confidence, apply threshold
        end
    else filtering_disabled
        loop each candidate
            BE->>FS: set confidence = 1.0
        end
    end
    BE-->>Caller: filtered Vec<FoundString>
    deactivate BE
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

  • Cross-file review needed for interdependent modules (mod.rs, ascii.rs, config.rs, filters.rs).
  • Pay attention to entropy computation → 0..1 mapping, FilterWeights validation/normalization, CompositeNoiseFilter aggregation, and Section/RVA offset math.
  • Review additions to FoundString and places where confidence is initialized (PE/Mach-O extractors).
  • Check tests that rely on timing/fixtures for flakiness.

Files needing extra attention:

  • src/extraction/filters.rs
  • src/extraction/config.rs
  • src/extraction/ascii.rs and src/extraction/mod.rs
  • Integration tests under tests/ that use fixtures and timing assertions

Possibly related issues

Possibly related PRs

Suggested labels

github_actions

Suggested reviewers

  • Copilot

Poem

🐇
I hop through bytes and sift the night,
I chase false noise and chase it right,
Filters hum and confidence grows,
I pull the strings where meaning shows,
Hooray — the extractor gleams with light! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title describes the introduction of a core string extraction framework with StringExtractor trait and configuration, which matches the main focus of implementation changes (new extraction module, config structures, filters, and BasicExtractor). However, the PR also adds significant benchmarking, dependencies, and documentation improvements that are equally substantial but not reflected in the title.
Description check ✅ Passed The description comprehensively covers all major changes: benchmarking suite, entropy dependency addition, and documentation expansion with filtering architecture details. It accurately reflects the changeset scope and provides context for each major component.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between baf4526 and a3060ca.

📒 Files selected for processing (17)
  • .github/workflows/release.yml (11 hunks)
  • Cargo.toml (2 hunks)
  • benches/ascii_extraction.rs (1 hunks)
  • dist-workspace.toml (2 hunks)
  • docs/src/string-extraction.md (4 hunks)
  • src/extraction/ascii.rs (1 hunks)
  • src/extraction/config.rs (1 hunks)
  • src/extraction/filters.rs (1 hunks)
  • src/extraction/macho_load_commands.rs (2 hunks)
  • src/extraction/mod.rs (2 hunks)
  • src/extraction/pe_resources.rs (3 hunks)
  • src/lib.rs (4 hunks)
  • src/types.rs (1 hunks)
  • tests/integration_extraction.rs (1 hunks)
  • tests/test_ascii_extraction.rs (1 hunks)
  • tests/test_ascii_integration.rs (1 hunks)
  • tests/test_noise_filters.rs (1 hunks)

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • UTF-8: Entity not found: Issue - Could not find referenced Issue.

Comment @coderabbitai help to get the list of available commands and usage tips.

@unclesp1d3r unclesp1d3r linked an issue Nov 13, 2025 that may be closed by this pull request
6 tasks
@dosubot dosubot Bot added dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation labels Nov 13, 2025
@dosubot
Copy link
Copy Markdown

dosubot Bot commented Nov 13, 2025

Related Documentation

Checked 14 published document(s) in 1 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

@coderabbitai coderabbitai Bot added enhancement New feature or request lang:rust Rust implementation labels Nov 13, 2025
- Bumped `entropy` to version 0.4.2 for improved functionality.
- Updated `pelite` to version 0.10.0 for better compatibility.
- Upgraded `serde_json` to version 1.0.145 to incorporate the latest features and fixes.
- Updated `insta` to version 1.43.2 and `tempfile` to version 3.23.0 for enhanced testing capabilities.

These updates ensure the project utilizes the latest versions of dependencies, improving overall stability and performance.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
@coderabbitai coderabbitai Bot added area:analyzer Binary analyzer functionality lgtm This PR has been approved by a maintainer labels Nov 13, 2025
- Updated `actions/upload-artifact` from version 4 to 5 across multiple workflows for improved artifact management.
- Updated `actions/download-artifact` from version 5 to 6 to leverage new features and enhancements.
- Updated `actions/attest-build-provenance` from version 2 to 3 for better build provenance tracking.
- Adjusted the `targets` list formatting in `dist-workspace.toml` for improved readability.

These updates ensure the workflows are utilizing the latest versions of the actions, enhancing overall CI/CD performance and reliability.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
@unclesp1d3r
Copy link
Copy Markdown
Member Author

@coderabbitai fix the PR title

@unclesp1d3r unclesp1d3r requested a review from Copilot November 13, 2025 00:33
@unclesp1d3r unclesp1d3r self-assigned this Nov 13, 2025
@coderabbitai coderabbitai Bot changed the title 8 core string extraction framework stringextractor trait and configuration Add String Extraction Framework with Noise Filtering and Benchmarks Nov 13, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Nov 13, 2025

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

@unclesp1d3r I'll update the PR title to be more descriptive and properly formatted.


🏁 Script executed:

#!/bin/bash
# Update the PR title to be more descriptive and properly formatted
gh pr edit 108 --title "Add String Extraction Framework with Noise Filtering and Benchmarks"

# Verify the change
gh pr view 108 --json title -q '.title'

Length of output: 128


@unclesp1d3r Done! I've updated the PR title from:

Old: 8 core string extraction framework stringextractor trait and configuration (PR #108)

New: Add String Extraction Framework with Noise Filtering and Benchmarks

The new title is properly capitalized, removes the issue number prefix and redundant PR reference, and clearly describes the key features introduced in this PR.

@unclesp1d3r unclesp1d3r merged commit c50e9b6 into main Nov 13, 2025
21 of 22 checks passed
@unclesp1d3r unclesp1d3r deleted the 8-core-string-extraction-framework-stringextractor-trait-and-configuration branch November 13, 2025 00:35
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request introduces a comprehensive string extraction and noise filtering framework for StringyMcStringFace. The implementation provides ASCII string extraction as a foundational encoding type, along with multi-layered heuristic noise filtering to reduce false positives. The changes also include extensive benchmarking infrastructure and detailed documentation.

Key Changes:

  • Added ASCII string extraction module with configurable min/max length filtering
  • Implemented 6-layer noise filtering system (entropy, character distribution, linguistic patterns, length, repetition, context-aware)
  • Added confidence field (0.0-1.0) to FoundString to track noise filtering results
  • Introduced StringExtractor trait and BasicExtractor implementation for framework-based extraction
  • Added comprehensive benchmark suite for performance validation
  • Expanded documentation with filtering architecture details and usage examples

Reviewed Changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/extraction/ascii.rs New ASCII extraction module with byte-level scanning
src/extraction/filters.rs Multi-layered noise filtering implementation
src/extraction/config.rs Configuration structures for extraction and filtering
src/extraction/mod.rs Core extraction framework with StringExtractor trait
src/types.rs Added confidence field to FoundString
tests/test_noise_filters.rs Comprehensive unit tests for noise filters
tests/test_ascii_extraction.rs Unit tests for ASCII extraction
tests/test_ascii_integration.rs Integration tests with noise filtering
tests/integration_extraction.rs Integration tests for extraction framework
benches/ascii_extraction.rs Benchmark suite for extraction and filtering
docs/src/string-extraction.md Expanded documentation for extraction and filtering
Cargo.toml Added entropy dependency and benchmark registration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/extraction/ascii.rs
Comment on lines +142 to +143
pub fn is_printable_ascii(byte: u8) -> bool {
(0x20..=0x7E).contains(&byte)
Copy link

Copilot AI Nov 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The is_printable_ascii function in the ASCII module excludes whitespace control characters (tab, newline, carriage return) from the printable range, only accepting 0x20-0x7E. However, the documentation mentions that this differs from is_printable_text_byte in extraction::mod which includes these characters. This inconsistency may cause confusion when strings contain whitespace.

Consider whether ASCII extraction should include common whitespace characters like tab (\t, 0x09), newline (\n, 0x0A), and carriage return (\r, 0x0D) to better handle formatted text and multi-line strings. The current strict definition may filter out legitimate strings that contain these characters.

Copilot uses AI. Check for mistakes.
Comment thread src/extraction/filters.rs
Comment on lines +360 to +398
// Check for repeated substrings (optimized to avoid O(n^3))
// Cap pattern_len to a small bound (8-16) to avoid excessive computation
let max_pattern_len = (total as usize / 3).min(16).min(chars.len());

if total >= 6.0 && max_pattern_len > 0 {
// Early exit optimization: if we can't possibly get 3 repetitions, skip
let min_pattern_len_for_3_reps = ((total as usize) as f32 / 3.0).ceil() as usize;
if min_pattern_len_for_3_reps > max_pattern_len {
return 1.0; // Can't have 3 repetitions, so no issue
}

// Check patterns starting from length 1 up to max_pattern_len
for pattern_len in 1..=max_pattern_len {
// Early exit: if pattern_len is too large to repeat 3 times, skip
if pattern_len * 3 > chars.len() {
break;
}

// Use slice comparison instead of constructing String
let pattern_slice = &chars[0..pattern_len];
let mut count = 1; // First occurrence
let mut pos = pattern_len;

// Check for repetitions
while pos + pattern_len <= chars.len() && count < 3 {
let candidate_slice = &chars[pos..pos + pattern_len];
// Compare slices directly (char comparison)
if pattern_slice == candidate_slice {
count += 1;
pos += pattern_len;
} else {
break; // Pattern broken, try next pattern length
}
}

if count >= 3 {
return 0.2; // Low confidence (repetitive pattern)
}
}
Copy link

Copilot AI Nov 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The repetition filter uses a nested loop with pattern matching that could be inefficient for very long strings. While there's a max_pattern_len cap at 16 characters, the algorithm still has O(n²) complexity in the worst case when checking multiple pattern lengths. For strings approaching the max_length threshold (200 characters default), this could cause performance degradation.

Consider adding early exit optimizations or reducing the max pattern length further if benchmarks show this is a bottleneck.

Copilot uses AI. Check for mistakes.
Comment thread src/extraction/mod.rs
Comment on lines +139 to +153
pub encodings: Vec<Encoding>,
/// Whether to scan executable sections (default: true)
pub scan_code_sections: bool,
/// Whether to include debug sections (default: false)
pub include_debug: bool,
/// Section types to prioritize (default: StringData, ReadOnlyData, Resources)
pub section_priority: Vec<SectionType>,
/// Whether to include import/export names (default: true)
pub include_symbols: bool,
/// Minimum length for ASCII strings (default: 4, same as min_length)
pub min_ascii_length: usize,
/// Minimum length for UTF-16 strings (default: 3, for future use)
pub min_wide_length: usize,
/// Which encodings to extract (default: ASCII, UTF-8)
pub enabled_encodings: Vec<Encoding>,
Copy link

Copilot AI Nov 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ExtractionConfig struct has both encodings and enabled_encodings fields (lines 139 and 153), which appear to serve the same purpose. This duplication creates confusion about which field should be used and requires checking both in the code (see lines 467-468 and 493-494 in mod.rs where both are checked with ||).

Recommend consolidating these into a single field, likely enabled_encodings, to simplify the API and reduce confusion.

Copilot uses AI. Check for mistakes.
@coderabbitai coderabbitai Bot added the github_actions Pull requests that update GitHub Actions code label Nov 13, 2025
unclesp1d3r added a commit that referenced this pull request Feb 25, 2026
…108)

* feat(extraction): Introduce BasicExtractor and ExtractionConfig for string extraction

- Added the BasicExtractor struct to implement a sequential ASCII/UTF-8 string extraction algorithm from binary data.
- Introduced the ExtractionConfig struct to allow customization of extraction parameters, including minimum and maximum string lengths, encoding selection, and section filtering.
- Updated documentation to include usage examples for both BasicExtractor and ExtractionConfig.
- Added integration tests to validate the functionality of string extraction from various binary formats, including ELF and PE.

This enhancement improves the library's ability to extract meaningful strings from binary files, facilitating better analysis and understanding of their content.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>

* feat(extraction): Add ASCII string extraction module and update documentation

- Introduced a new module for ASCII string extraction, providing foundational functionality for extracting contiguous printable ASCII sequences from binary data.
- Implemented `extract_ascii_strings` and `extract_from_section` functions, along with an `ExtractionConfig` struct for customizable extraction parameters.
- Updated the main extraction module documentation to include details about the new ASCII extraction capabilities and usage examples.
- Enhanced the existing documentation to reflect the addition of ASCII extraction in the library's structure and functionality.

This addition improves the library's ability to handle ASCII string extraction, paving the way for future enhancements in UTF-8 and other encoding types.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>

* refactor(extraction): Rename ExtractionConfig to AsciiExtractionConfig and update related documentation

- Renamed `ExtractionConfig` to `AsciiExtractionConfig` to better reflect its purpose in ASCII string extraction.
- Updated all references in the codebase and documentation to use the new name, ensuring consistency.
- Enhanced documentation to clarify usage examples and configuration details for ASCII extraction.
- Improved function signatures and comments to align with the new naming convention.

This refactor improves code clarity and maintains a consistent naming scheme across the extraction module, facilitating better understanding and usage of the ASCII extraction functionality.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>

* feat(extraction): Enhance ASCII string extraction with noise filtering and new benchmarks

- Added a new `entropy` dependency to support advanced noise filtering capabilities in ASCII string extraction.
- Introduced a new benchmark for ASCII extraction, `ascii_extraction`, to evaluate performance under various conditions.
- Updated the `FoundString` struct to include a `confidence` field, representing the likelihood of a string being legitimate versus noise.
- Enhanced the ASCII extraction functions to compute confidence scores using a composite noise filter, allowing for better filtering of false positives.
- Updated documentation to reflect the new noise filtering features and provided examples for configuring extraction parameters.
- Added unit and integration tests to validate the new noise filtering functionality and ensure robust performance.

This enhancement significantly improves the accuracy and reliability of ASCII string extraction, making it more effective for analyzing binary data.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>

* chore(deps): Update dependencies in Cargo.toml

- Bumped `entropy` to version 0.4.2 for improved functionality.
- Updated `pelite` to version 0.10.0 for better compatibility.
- Upgraded `serde_json` to version 1.0.145 to incorporate the latest features and fixes.
- Updated `insta` to version 1.43.2 and `tempfile` to version 3.23.0 for enhanced testing capabilities.

These updates ensure the project utilizes the latest versions of dependencies, improving overall stability and performance.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>

* chore(ci): Update GitHub Actions dependencies and configuration

- Updated `actions/upload-artifact` from version 4 to 5 across multiple workflows for improved artifact management.
- Updated `actions/download-artifact` from version 5 to 6 to leverage new features and enhancements.
- Updated `actions/attest-build-provenance` from version 2 to 3 for better build provenance tracking.
- Adjusted the `targets` list formatting in `dist-workspace.toml` for improved readability.

These updates ensure the workflows are utilizing the latest versions of the actions, enhancing overall CI/CD performance and reliability.

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>

---------

Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:analyzer Binary analyzer functionality dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation enhancement New feature or request github_actions Pull requests that update GitHub Actions code lang:rust Rust implementation lgtm This PR has been approved by a maintainer size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

2 participants