Skip to content

Conversation

@script3r
Copy link
Owner

Implement cryptofind, a fast, modular Rust scanner for third-party cryptographic libraries across multiple languages.

This PR delivers the full workspace, including scanner-core with comment stripping and a flexible pattern engine, language-specific detectors for Go, Java, C, C++, Rust, Python, and PHP, and a CLI with JSONL/SARIF output. It includes a seeded patterns.toml, comprehensive fixtures, unit tests, and a benchmark to ensure functionality and performance.


Open in Cursor Open in Web

Co-authored-by: script3r <script3r@gmail.com>
@cursor
Copy link

cursor bot commented Sep 13, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

cursoragent and others added 3 commits September 13, 2025 02:47
This commit expands the API patterns for various cryptographic libraries to improve detection accuracy.

Co-authored-by: script3r <script3r@gmail.com>
@script3r script3r marked this pull request as ready for review September 13, 2025 15:29
cursor[bot]

This comment was marked as outdated.

…otlin

- Add comprehensive default glob patterns for all supported languages
- Add support for Swift (.swift), Objective-C (.m, .mm, .M), and Kotlin (.kt, .kts)
- Implement glob-based file filtering to only process source files
- Update language detection to handle new file extensions
- Add --patterns CLI argument for specifying patterns file path
- Update README with new language support and performance optimizations
- Optimize file discovery by pre-filtering with glob patterns

Performance improvements:
- Only processes relevant source files, skipping docs/images/binaries
- Significant speedup on large repositories with many non-source files
- Maintains accuracy while reducing unnecessary file processing
cursor[bot]

This comment was marked as outdated.

- Apply consistent formatting across all Rust files
- Fix line length and spacing issues
- Ensure code follows Rust style guidelines
- Add --progress CLI flag to show progress bar during scanning
- Implement progress callback system in scanner core
- Add indicatif dependency for beautiful progress bars
- Show file count, percentage, and findings count in real-time
- Progress bar displays: [████████████████████████████████████████] 8943/10880 files (82%) | Found 8 findings
- Works with parallel processing using crossbeam channels
- Optional feature - no progress shown by default
- Update README with new --progress flag documentation

Example usage:
  cryptofind --progress /path/to/large/project
  cryptofind --patterns custom.toml --progress --threads 8 /src
- Apply consistent formatting across all Rust files
- Fix spacing and indentation issues in progress reporting code
- Ensure code follows Rust style guidelines
@script3r script3r merged commit dd1a148 into main Sep 13, 2025
5 checks passed
}
}))
} else {
None
Copy link

Choose a reason for hiding this comment

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

Bug: Progress Callback Fails to Track Findings

The progress callback consistently reports 0 findings. The progress thread initializes findings_count to 0 but never updates it, as it only receives file processing completion signals and doesn't track findings sent to the main findings channel.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants