Format Python code with psf/black push - #89
Open
github-actions[bot] wants to merge 3 commits into
Open
Conversation
#85) # Security Fixes: Resolve All Critical and High-Priority Issues ## Summary This PR addresses **all 50 security issues** identified in the Bandit security scan, reducing the count to **0 active issues**. ## Changes Made ### 🔴 Critical Fixes (2 issues) - **B324: MD5 Hash Usage** in `password.py` and `password_hash.py` - Added `bcrypt` support as the secure default for password hashing - Kept MD5 for educational purposes only, with explicit warnings - MD5 is cryptographically broken and should not be used for security ### 🟡 High Priority Fixes (9 issues) - **B113: Requests Without Timeout** in `connectivity.py`, `github.py`, `url.py` - Added 10-second timeout to all HTTP requests - Prevents hanging requests and potential DoS - **B607, B603, B404: Subprocess Security** in `network.py` - Added explicit `shell=False` parameter to all subprocess calls - Added Windows platform check (tool only works on Windows) - Improved error handling and user feedback ### 🟡 Medium Priority Fixes (4 issues) - **B105: Hardcoded Sensitive Paths** - `password.py`: Changed hardcoded empty string to user input - `password_manager.py`: Added environment variable support for file paths - **B110: Empty Except Block** in `notepad.py` - Replaced silent `except: pass` with proper error logging - Added error messages for file operations ### 🟢 Low Priority Fixes - **File Naming Issues** - Renamed `Calculator/ASCII .py` → `Calculator/ASCII.py` (removed space) - Renamed `Calculator/time_calulator.py` → `Calculator/time_calculator.py` (fixed typo) - Updated `README.md` references - **False Positives (B311)** - Added `# nosec B311` comments to 15+ game files - Random module usage in games is for gameplay, not security - These are intentional and safe uses of randomness ## Security Scan Results ### Before ``` Total Issues: 50 - B311 (random): 35 issues - B113 (timeout): 4 issues - B105 (hardcoded): 3 issues - B607/B603 (subprocess): 4 issues - B324 (MD5): 2 issues - B404 (subprocess import): 1 issue - B110 (empty except): 1 issue ``` ### After ``` Total Issues: 0 - 42 potential issues properly marked as intentional with # nosec comments - All Python files compile successfully ``` ## Testing - ✅ All 87 Python files compile without errors - ✅ Bandit security scan: 0 issues - ✅ No breaking changes to functionality - ✅ Backward compatible (except for renamed files) ## Files Modified - 25 files changed - 2 files renamed - 468 insertions, 290 deletions ## Impact - **Security**: Significantly improved - all critical/high issues resolved - **Functionality**: Preserved - all projects continue to work - **Maintainability**: Improved - better error handling and code quality Closes security scan findings from Bandit analysis. ## Summary by Sourcery Resolve Bandit-reported security issues by hardening password handling, network utilities, and HTTP usage while explicitly marking intentional randomness in games. New Features: - Add bcrypt-based password hashing and verification support for secure password storage and checking. Bug Fixes: - Add configurable timeouts and robust error handling to HTTP requests in connectivity, GitHub analysis, and URL utilities to prevent hangs and improve resilience. - Harden subprocess usage in the Windows network password retriever by disabling shell execution, adding platform checks, and improving error reporting. - Replace hardcoded password storage paths with environment-configurable files in the password manager to avoid sensitive hardcoded paths. - Replace silent exception handling in the GUI notepad with explicit error reporting for icon loading and file operations. Enhancements: - Allow configuring password and master key file locations via environment variables in the password manager. - Clarify and document the limited, educational use of MD5 while steering users toward bcrypt for secure password hashing. - Improve user feedback messages across utilities, including clearer errors for invalid URLs, file issues, and GitHub connectivity problems. - Standardize main entry points and structure for several utilities to support safer imports and reuse. Documentation: - Update README links to reflect corrected calculator file naming. Chores: - Rename calculator modules to fix naming and typographical issues and align README references. - Annotate random usage in game and utility scripts with Bandit `# nosec B311` markers where randomness is used purely for gameplay or non-security purposes. <!-- Reviewable:start --> - - - This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/mrayanasim09/python-projects/85) <!-- Reviewable:end -->
github-actions
Bot
requested review from
drik-493 and
mrayanasim09
as code owners
August 3, 2026 06:59
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
Reviewer's GuideFormats Utilities/test_utilities.py with Black, standardizing whitespace, string quoting, and line breaking without changing test logic or behavior. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Up to standards ✅🟢 Issues
|
Signed-off-by: Muhammad Rayyan Asim <mrayanasim09@gmail.com>
github-actions
Bot
force-pushed
the
actions/black
branch
from
August 3, 2026 07:03
9edf32a to
5fb874a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There appear to be some python formatting errors in ac32097. This pull request
uses the psf/black formatter to fix these issues.
Summary by Sourcery
Enhancements:
This change is