Shield Your Inbox, Block the Bait!
- π Overview
- πΎ Features
- π Project Structure
- π Getting Started
- π Project Roadmap
- π° Contributing
- π License
- π Acknowledgments
PhishKill is an innovative tool designed to enhance email security by detecting and assessing phishing risks. Utilizing advanced AI technology, it analyzes email content for potential threats, providing users with a risk assessment and practical advice on handling suspicious emails. Ideal for individuals and organizations aiming to bolster their cybersecurity measures, PhishKill offers a user-friendly interface and robust protection against email-based threats.
Feature | Summary | |
---|---|---|
βοΈ | Architecture |
|
π© | Code Quality |
|
π | Documentation |
|
π | Integrations |
|
𧩠| Modularity |
|
π§ͺ | Testing |
|
β‘οΈ | Performance |
|
π‘οΈ | Security |
|
βββ PhishKill/
βββ EmailPhishingScript
β βββ Mail1.txt
β βββ Mail2.txt
β βββ Main.py
β βββ Procfile
β βββ app.py
β βββ requirements.txt
β βββ responseToMail1.txt
β βββ responseToMail2.txt
β βββ results.txt
β βββ templates
β βββ test.py
βββ LICENSE
βββ README.md
βββ WebsiteLink
βββ requirements.txt
βββ tst
PHISHKILL/
__root__
WebsiteLink - Provides a critical component of the project's web infrastructure by hosting the main interface on Heroku
- The link directs users to the primary access point where they can interact with the application's features, facilitating user engagement and functionality testing in a live environment
- This setup is essential for real-time user feedback and iterative development.tst - Stores the API key for the OpenAI service, essential for authenticating and enabling API requests across the application
- It serves as a centralized configuration point, ensuring secure and efficient access to OpenAI functionalities required for the project's operations, such as generating text or processing data inputs
- This setup supports maintainability and scalability within the codebase architecture.requirements.txt - The `requirements.txt` file serves a crucial role within the overall architecture of the codebase by specifying the exact versions of external libraries and dependencies required for the project
- This file ensures that the environment for the project is consistent and predictable, mitigating issues that may arise from version discrepancies among different development setups
- It lists various Python libraries along with their specific versions, including frameworks for asynchronous operations (`aiohttp`, `anyio`), security components (`argon2-cffi`), and other utilities that support the project's functionality
- By maintaining this file, the project upholds a stable development, testing, and production environment, facilitating seamless collaboration and deployment processes across different systems and platforms.
EmailPhishingScript
Main.py - Main.py serves as the core component of an email phishing detection system, utilizing OpenAI's GPT-3.5-turbo model
- It processes user-inputted email content, evaluates the likelihood of phishing, and records the AI-generated risk assessment and indicators to a results file for review.results.txt - Analyzes and assesses the risk level of emails for phishing threats
- The script evaluates the content, subject, language, and tone of emails, along with checking for suspicious links or attachments
- It provides a risk probability and advises on caution, enhancing email security within the system.responseToMail1.txt - Analyzes potential phishing threats in emails by evaluating risk factors such as urgent language, claims of unusual activity, requests for identity verification, and suspicious links
- The analysis concludes with a high likelihood of phishing, aiding in the identification and prevention of email-based security threats within the system.Mail1.txt - Mail1.txt serves as a phishing simulation template within the EmailPhishingScript project, designed to educate users on recognizing fraudulent emails
- It mimics a security alert from a bank, instructing recipients to verify their account through a deceptive link, thereby highlighting common tactics used by cybercriminals to compromise personal information.app.py - EmailPhishingScript/app.py serves as the core interface for a web application that assesses email content to determine phishing risks
- Utilizing the OpenAI API, it processes user-submitted emails, evaluates potential phishing indicators, and outputs risk assessments
- The application also records responses for further analysis.responseToMail2.txt - EmailPhishingScript/responseToMail2.txt evaluates the security risk of a work-related email, assigning a low risk percentage
- It assesses the email's content, tone, sender's credentials, and absence of suspicious requests, concluding minimal phishing indicators
- Users are advised to verify sender details and exercise caution with links and attachments.Procfile - Specifies the command that a Heroku-based application should execute to start the server, using Python to run the script named app.py
- This setup is crucial for deploying the web application component of the EmailPhishingScript project, ensuring it is accessible and operational on the Heroku cloud platform.requirements.txt - Requirements.txt in the EmailPhishingScript directory specifies dependencies essential for the project's operation
- It includes Flask for web application framework, python-dotenv for environment variable management, and openai for integrating AI functionalities
- These dependencies ensure the software's compatibility and functionality within the broader codebase architecture.test.py - EmailPhishingScript/test.py serves as a diagnostic tool within the broader codebase, verifying the operational status of the local development environment
- It utilizes the OpenAI API to execute a simple test interaction, ensuring that the API key is correctly sourced from the environment and that the OpenAI client is properly configured and responsive.Mail2.txt - EmailPhishingScript/Mail2.txt serves as a simulated phishing email within the security training module
- It mimics a typical workplace communication about an upcoming meeting, complete with details like date, time, and location, crafted to test employee vigilance against phishing attempts in a controlled environment.templates
index.html - Serves as the primary user interface for the Phish Kill application, providing a web-based platform where users can input and analyze email content for spam indicators
- It features navigation, spam checking functionality, and sections detailing the app's features, about us information, and contact form.
Before getting started with PhishKill, ensure your runtime environment meets the following requirements:
- Programming Language: Error detecting primary_language: {'txt': 7, 'py': 3, 'html': 1}
- Package Manager: Pip
Install PhishKill using one of the following methods:
Build from source:
- Clone the PhishKill repository:
β― git clone https://github.com/sandeepsalwan1/PhishKill
- Navigate to the project directory:
β― cd PhishKill
- Install the project dependencies:
β― echo 'INSERT-INSTALL-COMMAND-HERE'
Run PhishKill using the following command:
Using pip
Β
β― echo 'INSERT-RUN-COMMAND-HERE'
Run the test suite using the following command:
Using pip
Β
β― echo 'INSERT-TEST-COMMAND-HERE'
-
Task 1
:Create end-to-end app. -
Task 2
: More advanced algorithm detection. -
Task 3
: More userfriendly UI.
- π¬ Join the Discussions: Share your insights, provide feedback, or ask questions.
- π Report Issues: Submit bugs found or log feature requests for the
PhishKill
project. - π‘ Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/sandeepsalwan1/PhishKill
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is released under the MIT License. For more details, please refer to the LICENSE file.