From f7759c68afacb921b65030df4a8b94289226d817 Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Sat, 25 Nov 2023 18:10:45 +0100 Subject: [PATCH 01/13] docs: add Readme.md --- src/pii-removal/README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/pii-removal/README.md diff --git a/src/pii-removal/README.md b/src/pii-removal/README.md new file mode 100644 index 0000000..f63545c --- /dev/null +++ b/src/pii-removal/README.md @@ -0,0 +1,38 @@ +# 🛡️ PhishNet - PII Removal / Privacy Compliance + +## Introduction + +As part of our commitment to ethical AI research and development, this module is dedicated to the meticulous removal of any private, sensitive or personally identifiable information (PII) from our datasets. Ensuring privacy and compliance is paramount in our quest to create a high-quality synthetic dataset of phishing emails. + +## Objective + +Our primary goal is to pre-process and sanitize the datasets used in **PhishNet** training, effectively stripping out all **PII** and **sensitive** information. This process is crucial in maintaining the integrity of our research and upholding our ethical standards. + +## How It Works + +- **Automated Detection**: Utilizing advanced NLP techniques, this tool automatically identifies and flags potential PII in raw datasets under `data/raw`. +- **Removal Process**: Once detected, PII is removed or anonymized to ensure no sensitive information is retained. +- **Quality Assurance**: Post-processing checks are conducted to verify the thoroughness of PII removal. + +## Usage + +1. **Preparation**: Ensure that raw datasets are placed in the `data/raw` directory. +2. **Execution**: Run the PII Removal script by executing `python3 pii-removal.py` directory. +3. **Output**: Processed datasets, free from PII, are saved in `data/processed`. + +## Technologies Used + +- **NLP Libraries**: [Spacy](https://spacy.io/). +- **Programming Language**: Python 3.10. + +## Contributing + +We appreciate contributions from the community! If you have suggestions or improvements, feel free to fork the repository and submit a pull request. + +## Disclaimer + +*The PII Removal tool is a part of the **PhishNet** project, which is intended strictly for educational and research purposes **ONLY**. While we strive for accuracy, we offer no warranty regarding the completeness of PII removal. Usage is at your own risk.* + +## License + +This PII Removal module, like the rest of the **PhishNet** project, is released under the [MIT License](LICENSE). \ No newline at end of file From a873ab49894e4d4bbf2dd4998eb3985bec1cd566 Mon Sep 17 00:00:00 2001 From: dann <85698684+sirlolcat@users.noreply.github.com> Date: Sat, 25 Nov 2023 18:17:07 +0100 Subject: [PATCH 02/13] docs: update README.md Signed-off-by: dann <85698684+sirlolcat@users.noreply.github.com> --- src/pii-removal/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pii-removal/README.md b/src/pii-removal/README.md index f63545c..a67deef 100644 --- a/src/pii-removal/README.md +++ b/src/pii-removal/README.md @@ -1,5 +1,8 @@ # 🛡️ PhishNet - PII Removal / Privacy Compliance +![pii-removal](https://github.com/sirlolcat/PhishNet/assets/85698684/279c7efc-b716-4122-bed7-13a6577df4d9) + + ## Introduction As part of our commitment to ethical AI research and development, this module is dedicated to the meticulous removal of any private, sensitive or personally identifiable information (PII) from our datasets. Ensuring privacy and compliance is paramount in our quest to create a high-quality synthetic dataset of phishing emails. @@ -35,4 +38,4 @@ We appreciate contributions from the community! If you have suggestions or impro ## License -This PII Removal module, like the rest of the **PhishNet** project, is released under the [MIT License](LICENSE). \ No newline at end of file +This PII Removal module, like the rest of the **PhishNet** project, is released under the [MIT License](LICENSE). From e288eeaa4db25fead40d9e43447c5b44b001fb33 Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Sun, 26 Nov 2023 12:49:12 +0100 Subject: [PATCH 03/13] feat: add basic removal script --- src/pii-removal/pii_removal.py | 104 +++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 src/pii-removal/pii_removal.py diff --git a/src/pii-removal/pii_removal.py b/src/pii-removal/pii_removal.py new file mode 100644 index 0000000..ca4e549 --- /dev/null +++ b/src/pii-removal/pii_removal.py @@ -0,0 +1,104 @@ +import os +import re +from concurrent.futures import ProcessPoolExecutor +import spacy +import pandas as pd +from tqdm.auto import tqdm +import matplotlib.pyplot as plt + +# Load a spaCy model with NER, disabling unnecessary components +nlp = spacy.load('en_core_web_md', disable=['parser', 'tagger', 'lemmatizer']) + +# Regex for email detection +email_regex = re.compile(r'\b\S+@\S+\.\S+\b') + +# Function to process a batch of texts +def process_batch(batch): + results = [] + for text in batch: + if isinstance(text, str): + # Split large texts into smaller parts if they exceed a certain length + max_length = 1000000 # Set the max length for a part + parts = [text[i:i + max_length] for i in range(0, len(text), max_length)] + + combined_cleaned_text = "" + combined_improvement_score = 0 + for part in parts: + original_length = len(part) + part = re.sub(email_regex, '[EMAIL]', part) + doc = nlp(part) + pii_labels = {'PERSON', 'ORG', 'CARDINAL', 'GPE', 'LOC'} + for ent in doc.ents: + if ent.label_ in pii_labels: + part = part.replace(ent.text, f'[{ent.label_}]') + cleaned_length = len(part) + combined_cleaned_text += part + combined_improvement_score += (original_length - cleaned_length) / original_length if original_length > 0 else 0 + + results.append((combined_cleaned_text, 1, combined_improvement_score / len(parts))) + else: + results.append((text, 0, 0.0)) + return results + +def process_csv_in_chunks(file, chunksize=1000, batchsize=100): + cleaned_file_path = file.replace('raw', 'processed').replace('.csv', '_cleaned.csv') + replacements_tracker = [] + improvement_metric = [] + + total_rows = pd.read_csv(file, usecols=['Email Text']).shape[0] + total_chunks = (total_rows + chunksize - 1) // chunksize + + for chunk_number, chunk in enumerate(pd.read_csv(file, chunksize=chunksize)): + desc = f"Processing Chunk {chunk_number+1}/{total_chunks}" + replacements = 0 + improvement_score = 0.0 + + updated_texts = [] + with tqdm(total=len(chunk), desc=desc, unit="rows") as pbar: + batches = [chunk['Email Text'][i:i+batchsize] for i in range(0, len(chunk), batchsize)] + with ProcessPoolExecutor() as executor: + for batch_results in executor.map(process_batch, batches): + for text, repl, score in batch_results: + updated_texts.append(text) + replacements += repl + improvement_score += score + pbar.update(len(batch_results)) + + replacements_tracker.append(replacements) + improvement_metric.append(improvement_score / len(chunk) if len(chunk) > 0 else 0) + + chunk['Email Text'] = updated_texts + mode = 'w' if chunk_number == 0 else 'a' + header = mode == 'w' + chunk.to_csv(cleaned_file_path, index=False, mode=mode, header=header) + + return pd.DataFrame({ + 'chunk_index': range(len(replacements_tracker)), + 'replacements': replacements_tracker, + 'improvement_score': improvement_metric + }) + +# Main execution block +if __name__ == "__main__": + script_dir = os.path.dirname(os.path.realpath(__file__)) + file_path = os.path.join(script_dir, '..', '..', 'data', 'raw', 'Phishing_Email.csv') + + chunk_size = 1000 # Adjust as needed + batch_size = 100 # Adjust the batch size as needed + + replacements_df = process_csv_in_chunks(file_path, chunk_size, batch_size) + + # Plotting the results + fig, ax1 = plt.subplots() + + ax2 = ax1.twinx() + ax1.bar(replacements_df['chunk_index'], replacements_df['replacements'], color='g') + ax2.plot(replacements_df['chunk_index'], replacements_df['improvement_score'], color='b') + + ax1.set_xlabel('Chunk Index') + ax1.set_ylabel('Number of Replacements', color='g') + ax2.set_ylabel('Average Improvement Score', color='b') + + plt.title('PII Replacements and Improvement Score per Chunk') + plt.savefig(os.path.join(script_dir, '..', '..', 'docs', 'replacements_and_improvement_chart.png')) + plt.show() From beff4f1202d9e38fbde982793c77db5377314e4b Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Sun, 26 Nov 2023 12:49:30 +0100 Subject: [PATCH 04/13] docs: update pii-removal README --- src/pii-removal/README.md | 40 +++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/src/pii-removal/README.md b/src/pii-removal/README.md index a67deef..5878e30 100644 --- a/src/pii-removal/README.md +++ b/src/pii-removal/README.md @@ -1,32 +1,56 @@ # 🛡️ PhishNet - PII Removal / Privacy Compliance -![pii-removal](https://github.com/sirlolcat/PhishNet/assets/85698684/279c7efc-b716-4122-bed7-13a6577df4d9) +![PhishNet Art](/assets/phishnet-art-pii-removal.png) +## Table of Contents + +- [Introduction](#introduction) +- [Objective](#objective) +- [How It Works](#how-it-works) +- [Usage](#usage) +- [Technologies Used](#technologies-used) +- [Results and Methodological Approach](#results-and-methodological-approach) + - [Quantitative Metrics](#quantitative-metrics) +- [Contributing](#contributing) +- [Disclaimer](#disclaimer) +- [License](#license) ## Introduction -As part of our commitment to ethical AI research and development, this module is dedicated to the meticulous removal of any private, sensitive or personally identifiable information (PII) from our datasets. Ensuring privacy and compliance is paramount in our quest to create a high-quality synthetic dataset of phishing emails. +As part of our commitment to ethical AI research and development, this module is dedicated to the meticulous removal of any private, sensitive, or personally identifiable information (PII) from our datasets. Ensuring privacy and compliance is paramount in our quest to create a high-quality synthetic dataset of phishing emails. ## Objective -Our primary goal is to pre-process and sanitize the datasets used in **PhishNet** training, effectively stripping out all **PII** and **sensitive** information. This process is crucial in maintaining the integrity of our research and upholding our ethical standards. +Our primary goal is to pre-process and sanitize the datasets used in **PhishNet** training, effectively stripping out all **PII** and **sensitive** information. This process, conducted on **T4** GPUs, is crucial in maintaining the integrity of our research and upholding our ethical standards. We ensure that our model is **NEVER** trained on `raw` datasets, only on data that has been thoroughly sanitized for PII (`processed`). ## How It Works -- **Automated Detection**: Utilizing advanced NLP techniques, this tool automatically identifies and flags potential PII in raw datasets under `data/raw`. -- **Removal Process**: Once detected, PII is removed or anonymized to ensure no sensitive information is retained. +- **Automated Detection**: Utilizing Named-Entity Recognition (**NER**), this tool automatically identifies potential PII in raw datasets under `data/raw`. (PII is defined as: `EMAIL`, `PERSON`, `ORG`, `CARDINAL`, `GPE`, `LOC`) +- **Removal Process**: Once detected, PII is obfuscated or anonymized to ensure no sensitive information is retained. - **Quality Assurance**: Post-processing checks are conducted to verify the thoroughness of PII removal. ## Usage 1. **Preparation**: Ensure that raw datasets are placed in the `data/raw` directory. -2. **Execution**: Run the PII Removal script by executing `python3 pii-removal.py` directory. +2. **Execution**: Run the PII Removal script by executing `python3 pii-removal.py` directly. 3. **Output**: Processed datasets, free from PII, are saved in `data/processed`. ## Technologies Used -- **NLP Libraries**: [Spacy](https://spacy.io/). -- **Programming Language**: Python 3.10. +- **NLP Library**: [Spacy](https://spacy.io/) +- **Programming Language**: [Python 3.10](https://www.python.org/downloads) +- **Regular Expressions**: [re](https://docs.python.org/3/library/re.html) + +## Results and Methodological Approach + +The process of PII removal for each raw dataset is encapsulated respectively in charts named `_replacements_and_improvement_chart.png`, found in the `docs/pii-removal` directory. Instances of this chart illustrate both the quantity of PII entities removed (represented by the green bars) and the relative improvement in privacy (depicted by the blue line) for each chunk of data processed. + +### Quantitative Metrics + +- **Number of Replacements**: Indicates the count of PII entities detected and removed per chunk, providing a direct measure of the tool's activity. +- **Improvement Score**: A normalized measure indicating the proportion of text altered due to PII removal. It is calculated as the ratio of the number of characters removed to the total characters in the chunk, providing a standardized metric for comparing privacy enhancement across chunks. + +For a comprehensive explanation of the chart and its significance in the context of privacy enhancement, please refer to the README in the `docs/pii-removal` folder. ## Contributing From c9aafa9122513e9578cdb3a0edcf2265820f5731 Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Sun, 26 Nov 2023 12:50:02 +0100 Subject: [PATCH 05/13] docs: provide performance chart and README --- docs/pii-removal/README.md | 40 ++++++++++++++++++ ...ail_replacements_and_improvement_chart.png | Bin 0 -> 42381 bytes 2 files changed, 40 insertions(+) create mode 100644 docs/pii-removal/README.md create mode 100644 docs/pii-removal/phishing_mail_replacements_and_improvement_chart.png diff --git a/docs/pii-removal/README.md b/docs/pii-removal/README.md new file mode 100644 index 0000000..ad17ef7 --- /dev/null +++ b/docs/pii-removal/README.md @@ -0,0 +1,40 @@ +# 🔎 Privacy Enhancement Analysis for PII Removal + +![PhishNet Art](/assets/phishnet-art-analysis.png) + +## Overview + +This documentation provides an in-depth analysis of the privacy enhancement results generated by the PII Removal module in the **PhishNet** project. The visualization aids in understanding the effectiveness and the scientific rigor behind the data sanitization process. + +## Table of Contents + +- [Overview of Visualization](#overview-of-visualization) + - [Green Bars (Number of Replacements)](#green-bars-number-of-replacements) + - [Blue Line (Improvement Score)](#blue-line-improvement-score) +- [Scientific Implications](#scientific-implications) +- [Interpretation of Results](#interpretation-of-results) +- [Conclusion](#conclusion) + +## Detailed Explanation + +Instances of `_replacements_and_improvement_chart.png` chart demonstrate the PII removal process's effectiveness across the given dataset processed on a **T4** GPU. The green bars and blue line represent the count of PII entities removed and the improvement score, respectively, providing quantitative insights into the privacy enhancement achieved. + +### Green Bars (Number of Replacements) + +The number of green bars corresponds to the absolute number of PII entities detected and anonymized. This serves as an indicator of the tool's effectiveness in identifying and obfuscating sensitive information. + +### Blue Line (Improvement Score) + +The blue line reflects the improvement score, a normalized metric that indicates the extent of PII removed from the dataset. It is a relative measure that standardizes the comparison of privacy enhancement across different chunks, irrespective of their size. + +## Mathematical Implications + +The variation in the metrics reflects the inherent inconsistencies in PII distribution, which is typical of real-world datasets. The improvement score is a testament to the tool's ability to handle diverse data sets, providing a statistically sound measure of its performance. + +## Interpretation of Results + +The results depicted in the chart provide a visual and quantitative analysis of the PII removal module's performance. They are crucial for verifying the module's effectiveness in enhancing privacy and maintaining data integrity. + +## Conclusion + +The privacy enhancement visualization underscores the project's commitment to ethical data practices and its contribution to the field of AI safety and data privacy. It exemplifies the scientific foundation underpinning the **PhishNet** project's approach to PII removal. diff --git a/docs/pii-removal/phishing_mail_replacements_and_improvement_chart.png b/docs/pii-removal/phishing_mail_replacements_and_improvement_chart.png new file mode 100644 index 0000000000000000000000000000000000000000..a96c8fcba9d2edb59b08545ef5a0685da532ba81 GIT binary patch literal 42381 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 H5y$@ls9BB% literal 0 HcmV?d00001 From e9f75d066f88f58bac0e737c7aa619802aef0380 Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Sun, 26 Nov 2023 12:50:15 +0100 Subject: [PATCH 06/13] chore: add phishnet art assets --- assets/phishnet-art-analysis.png | Bin 0 -> 75155 bytes assets/phishnet-art-base.png | Bin 0 -> 52831 bytes assets/phishnet-art-pii-removal.png | Bin 0 -> 54641 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/phishnet-art-analysis.png create mode 100644 assets/phishnet-art-base.png create mode 100644 assets/phishnet-art-pii-removal.png diff --git a/assets/phishnet-art-analysis.png b/assets/phishnet-art-analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..c9dbf96c8493de171a196953c6723893a292c26e GIT binary patch literal 75155 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/phishnet-art-base.png b/assets/phishnet-art-base.png new file mode 100644 index 0000000000000000000000000000000000000000..d19c24e8eb67626dd09c7df19b4d8a6b8b376f83 GIT binary patch literal 52831 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 Date: Sun, 26 Nov 2023 12:50:54 +0100 Subject: [PATCH 07/13] build: update requirements file --- requirements.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/requirements.txt b/requirements.txt index 70db91d..e7ffc15 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,32 +1,63 @@ accelerate==0.24.1 +annotated-types==0.6.0 bleach==6.1.0 +blis==0.7.11 +catalogue==2.0.10 certifi==2023.11.17 charset-normalizer==3.3.2 +click==8.1.7 +cloudpathlib==0.16.0 +confection==0.1.4 +contourpy==1.2.0 +cycler==0.12.1 +cymem==2.0.8 filelock==3.13.1 +fonttools==4.45.1 fsspec==2023.10.0 huggingface-hub==0.19.4 idna==3.4 Jinja2==3.1.2 kaggle==1.5.16 +kiwisolver==1.4.5 +langcodes==3.3.0 MarkupSafe==2.1.3 +matplotlib==3.8.2 mpmath==1.3.0 +murmurhash==1.0.10 networkx==3.2.1 numpy==1.26.2 packaging==23.2 +pandas==2.1.3 +Pillow==10.1.0 +preshed==3.0.9 psutil==5.9.6 +pydantic==2.5.2 +pydantic_core==2.14.5 +pyparsing==3.1.1 python-dateutil==2.8.2 python-slugify==8.0.1 +pytz==2023.3.post1 PyYAML==6.0.1 regex==2023.10.3 requests==2.31.0 safetensors==0.4.0 six==1.16.0 +smart-open==6.4.0 +spacy==3.7.2 +spacy-legacy==3.0.12 +spacy-loggers==1.0.5 +srsly==2.4.8 sympy==1.12 text-unidecode==1.3 +thinc==8.2.1 tokenizers==0.15.0 torch==2.1.1 tqdm==4.66.1 transformers==4.35.2 +typer==0.9.0 typing_extensions==4.8.0 +tzdata==2023.3 urllib3==2.1.0 +wasabi==1.1.2 +weasel==0.3.4 webencodings==0.5.1 From 4c206c6e6dbc7f79269221264a43273e6df60d0a Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Sun, 26 Nov 2023 12:51:06 +0100 Subject: [PATCH 08/13] chore: update gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f5fe7e1..a78c4c9 100644 --- a/.gitignore +++ b/.gitignore @@ -159,4 +159,4 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ -datasets \ No newline at end of file +data/* \ No newline at end of file From 14736632040704f91c0f26638b7de2ae3577c14b Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Mon, 27 Nov 2023 12:49:40 +0100 Subject: [PATCH 09/13] docs: update assets folder --- assets/README.md | 45 +++++++++++++++++++++++++++++++++ assets/phishnet-art-assets.png | Bin 0 -> 57523 bytes 2 files changed, 45 insertions(+) create mode 100644 assets/README.md create mode 100644 assets/phishnet-art-assets.png diff --git a/assets/README.md b/assets/README.md new file mode 100644 index 0000000..7038911 --- /dev/null +++ b/assets/README.md @@ -0,0 +1,45 @@ +# 🏞️ PhishNet Assets + +![PhishNet Art](/assets/phishnet-art-assets.png) + +## Overview + +This directory represents a collection, each artwork is a visual representation of what **PhishNet** stands for. These pieces are not just for show; they are carefully designed to reflect the core ideas and goals of our project. As you explore the **PhishNet** documentation and interfaces, these images serve as a quick visual guide to our concept. The images here, referred to as *"PhishNet Art"*, are the result of generative art created by [*DALL.E-3*](https://openai.com/dall-e-3). + +## Artwork Description + +Each piece visually translate this project's principles, to make the documentation more accessible and engaging. Think of these images as a prelude to our research docs, offering an easy-to-grasp visual introduction before diving into the detailed concepts + +### Style and Inspiration + +The artwork is inspired by retro computer software aesthetics, specifically reminiscent of the classic Windows 98 graphics. The design is intentionally pixelated, providing a vintage look that evokes a sense of 1990s tech nostalgia. + +### Theme and Symbolism + +Central to each image is a fish figure, creatively used to symbolize the concept of 'phishing' in the realm of cybersecurity. The fish figure is not just a literal representation of the term 'phishing' but also serves as a playful yet relevant element that ties back to the core theme of the project. + +### Artwork Creation Prompt + +The following prompt was used as the foundation of the *PhishNet Art*: + +``` +Create a retro computer software style logo for 'PhishNet', featuring a fish figure. The design should be reminiscent of classic Windows 98 graphics, with a vintage, pixelated look. The logo should be playful yet relevant to the concept of phishing in cybersecurity, incorporating the fish figure creatively to symbolize the 'phish' in PhishNet. The overall style should evoke a sense of 1990s tech nostalgia. +``` + +## Usage + +The images in this folder are used across various parts of the PhishNet project, including: + +- Main README.md +- PII Removal / Privacy Compliance module +- Privacy Enhancement Analysis documentation + +Each image tailors the [base prompt](#artwork-creation-prompt) subjectively to fit the context in which it is used while maintaining a consistent thematic and stylistic approach. + +## Contributing + +If you wish to contribute to the *PhishNet Art* collection or suggest modifications, please adhere to the style and thematic guidelines outlined above. + +## License + +All *PhishNet Art* is part of the **PhishNet** project and is subject to the same [MIT License](../LICENSE) as the rest of the project. diff --git a/assets/phishnet-art-assets.png b/assets/phishnet-art-assets.png new file mode 100644 index 0000000000000000000000000000000000000000..d32118b69ff2b849ed50ee2eb1c753529298c191 GIT binary patch literal 57523 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 Date: Mon, 27 Nov 2023 12:50:05 +0100 Subject: [PATCH 10/13] feat: add dataset merge functionality --- scripts/merge_datasets.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 scripts/merge_datasets.py diff --git a/scripts/merge_datasets.py b/scripts/merge_datasets.py new file mode 100644 index 0000000..55899c2 --- /dev/null +++ b/scripts/merge_datasets.py @@ -0,0 +1,39 @@ +import os +import pandas as pd + +def merge_datasets(raw_data_dir, processed_data_dir, output_filename): + # Define the path for raw and processed data directories + raw_data_path = os.path.join(raw_data_dir) + processed_data_path = os.path.join(processed_data_dir) + + # Ensure the processed data directory exists + if not os.path.exists(processed_data_path): + os.makedirs(processed_data_path) + + # List of dataset filenames in the raw data directory + dataset_filenames = [f for f in os.listdir(raw_data_path) if os.path.isfile(os.path.join(raw_data_path, f))] + + # Initialize an empty DataFrame to append data + combined_df = pd.DataFrame() + + # Read and append all datasets into one DataFrame + for filename in dataset_filenames: + file_path = os.path.join(raw_data_path, filename) + # Read the CSV file and append it + if filename.endswith('.csv'): + df = pd.read_csv(file_path) + combined_df = combined_df._append(df, ignore_index=True) + elif filename.endswith('.txt'): # Assuming the .txt file is in a readable format + df = pd.read_csv(file_path, sep='\t') + combined_df = combined_df._append(df, ignore_index=True) + + # Save the combined data to a new CSV file in the processed data directory + combined_df.to_csv(os.path.join(processed_data_path, output_filename), index=False) + print(f"Combined dataset saved to {os.path.join(processed_data_path, output_filename)}") + +if __name__ == "__main__": + RAW_DATA_DIR = 'data/raw' + PROCESSED_DATA_DIR = 'data/processed' + OUTPUT_FILENAME = 'combined_dataset.csv' + + merge_datasets(RAW_DATA_DIR, PROCESSED_DATA_DIR, OUTPUT_FILENAME) From cd6ddc5dc25d1450374fd0ffa7b09b5d7002e210 Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Mon, 27 Nov 2023 12:51:08 +0100 Subject: [PATCH 11/13] refactor: adjust based datasets download script --- scripts/download_base_datasets.py | 56 +++++++++++++++++-------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/scripts/download_base_datasets.py b/scripts/download_base_datasets.py index 9edf539..573f728 100644 --- a/scripts/download_base_datasets.py +++ b/scripts/download_base_datasets.py @@ -1,45 +1,49 @@ """ -This module downloads various datasets from Kaggle and saves them locally. +This script downloads various datasets from Kaggle and saves them in the 'data/raw' directory. """ import os -import requests from tqdm import tqdm from kaggle.api.kaggle_api_extended import KaggleApi -def download_file(url, filename): - """ - Downloads a file from the given URL and saves it to the specified filename. - """ - with requests.get(url, stream=True, timeout=10) as r: # Added timeout - total_length = int(r.headers.get('content-length')) - with open(filename, 'wb') as f: - for chunk in tqdm(r.iter_content(chunk_size=1024), total=total_length//1024, unit='KB', desc=f'Downloading {filename}'): - if chunk: - f.write(chunk) -if not os.path.exists('datasets'): - os.makedirs('datasets') - # Kaggle datasets kaggle_datasets = [ "wcukierski/enron-email-dataset", "rtatman/fraudulent-email-corpus", - "venky73/spam-mails-dataset", "subhajournal/phishingemails", "suraj520/customer-support-ticket-dataset", "ozlerhakan/spam-or-not-spam-dataset", ] -# Initialize Kaggle API -api = KaggleApi() -api.authenticate() +# Function to initialize Kaggle API +def initialize_kaggle_api(): + api_instance = KaggleApi() + api_instance.authenticate() + return api_instance + +# Function to download datasets from Kaggle and extract them +def download_and_extract_dataset(api_instance, dataset_identifier, path='data/raw'): + dataset_key = dataset_identifier.split('/')[-1] + dataset_path = f'{path}/{dataset_key}' -# Download Kaggle datasets -for dataset in kaggle_datasets: - dataset_key = dataset.rsplit('/', maxsplit=1)[-1] - dataset_path = f'datasets/{dataset_key}' if not os.path.exists(dataset_path): - print(f'Trying to download {dataset_key}...') - api.dataset_download_files(dataset, path='datasets', unzip=True, quiet=False) + api_instance.dataset_download_files(dataset_identifier, path=path, unzip=True) + tqdm.write(f'Dataset {dataset_key} downloaded and extracted in {path}.') + else: + tqdm.write(f'Dataset {dataset_key} already exists in {path}.') + +if __name__ == "__main__": + # Initialize Kaggle API + api = initialize_kaggle_api() + + # Create 'data/raw' directory if it doesn't exist + if not os.path.exists('data/raw'): + os.makedirs('data/raw') + + # Download Kaggle datasets + with tqdm(total=len(kaggle_datasets), desc='Downloading datasets') as pbar: + for dataset in kaggle_datasets: + download_and_extract_dataset(api, dataset) + pbar.update(1) -print("Datasets downloaded and renamed successfully.") + print("All datasets have been downloaded and extracted successfully.") From 30ba5530589066c1193e2f0a713bf37b0a1c83fa Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Mon, 27 Nov 2023 12:51:48 +0100 Subject: [PATCH 12/13] fix: improve pii-removal over combined csv --- src/pii-removal/pii_removal.py | 174 +++++++++++++++++---------------- 1 file changed, 92 insertions(+), 82 deletions(-) diff --git a/src/pii-removal/pii_removal.py b/src/pii-removal/pii_removal.py index ca4e549..380a29f 100644 --- a/src/pii-removal/pii_removal.py +++ b/src/pii-removal/pii_removal.py @@ -1,104 +1,114 @@ import os import re -from concurrent.futures import ProcessPoolExecutor import spacy import pandas as pd from tqdm.auto import tqdm import matplotlib.pyplot as plt +from concurrent.futures import ProcessPoolExecutor -# Load a spaCy model with NER, disabling unnecessary components -nlp = spacy.load('en_core_web_md', disable=['parser', 'tagger', 'lemmatizer']) - -# Regex for email detection -email_regex = re.compile(r'\b\S+@\S+\.\S+\b') - -# Function to process a batch of texts -def process_batch(batch): - results = [] - for text in batch: +# Constants and configurations +NLP_MODEL = 'en_core_web_md' +PII_LABELS = {'PERSON', 'ORG', 'CARDINAL', 'GPE', 'LOC'} +EMAIL_REGEX = re.compile(r'\b\S+@\S+\.\S+\b') +MAX_LENGTH = 2000000 + +# Initialize spaCy model with configurations +def init_spacy_model(): + nlp = spacy.load(NLP_MODEL, disable=['parser', 'tagger', 'lemmatizer']) + nlp.max_length = MAX_LENGTH + return nlp + +nlp = init_spacy_model() + +# Function to remove PII using regex and NER +def remove_pii(text, nlp): + text = re.sub(EMAIL_REGEX, '[EMAIL]', text) + doc = nlp(text) + replacements_count = 0 + for ent in doc.ents: + if ent.label_ in PII_LABELS: + text = text.replace(ent.text, f'[{ent.label_}]') + replacements_count += 1 + return text, replacements_count + +# Process a single row of data +def process_row(row, text_columns, nlp): + row_replacements = 0 + for col in text_columns: + text = row[col] if isinstance(text, str): - # Split large texts into smaller parts if they exceed a certain length - max_length = 1000000 # Set the max length for a part - parts = [text[i:i + max_length] for i in range(0, len(text), max_length)] - - combined_cleaned_text = "" - combined_improvement_score = 0 - for part in parts: - original_length = len(part) - part = re.sub(email_regex, '[EMAIL]', part) - doc = nlp(part) - pii_labels = {'PERSON', 'ORG', 'CARDINAL', 'GPE', 'LOC'} - for ent in doc.ents: - if ent.label_ in pii_labels: - part = part.replace(ent.text, f'[{ent.label_}]') - cleaned_length = len(part) - combined_cleaned_text += part - combined_improvement_score += (original_length - cleaned_length) / original_length if original_length > 0 else 0 - - results.append((combined_cleaned_text, 1, combined_improvement_score / len(parts))) - else: - results.append((text, 0, 0.0)) - return results - -def process_csv_in_chunks(file, chunksize=1000, batchsize=100): - cleaned_file_path = file.replace('raw', 'processed').replace('.csv', '_cleaned.csv') + cleaned_text, replacements = remove_pii(text, nlp) + row[col] = cleaned_text + row_replacements += replacements + return row, row_replacements + +# Apply PII removal to a chunk of data +def process_chunk(chunk, text_columns, nlp): + chunk_replacements = 0 + for i, row in chunk.iterrows(): + processed_row, row_replacements = process_row(row, text_columns, nlp) + chunk.iloc[i] = processed_row + chunk_replacements += row_replacements + return chunk, chunk_replacements + +# Parallel processing of chunks +def parallel_process_chunks(chunks, text_columns, nlp): + processed_chunks = [] replacements_tracker = [] - improvement_metric = [] - - total_rows = pd.read_csv(file, usecols=['Email Text']).shape[0] - total_chunks = (total_rows + chunksize - 1) // chunksize - - for chunk_number, chunk in enumerate(pd.read_csv(file, chunksize=chunksize)): - desc = f"Processing Chunk {chunk_number+1}/{total_chunks}" - replacements = 0 - improvement_score = 0.0 - - updated_texts = [] - with tqdm(total=len(chunk), desc=desc, unit="rows") as pbar: - batches = [chunk['Email Text'][i:i+batchsize] for i in range(0, len(chunk), batchsize)] - with ProcessPoolExecutor() as executor: - for batch_results in executor.map(process_batch, batches): - for text, repl, score in batch_results: - updated_texts.append(text) - replacements += repl - improvement_score += score - pbar.update(len(batch_results)) - - replacements_tracker.append(replacements) - improvement_metric.append(improvement_score / len(chunk) if len(chunk) > 0 else 0) - - chunk['Email Text'] = updated_texts - mode = 'w' if chunk_number == 0 else 'a' - header = mode == 'w' - chunk.to_csv(cleaned_file_path, index=False, mode=mode, header=header) - - return pd.DataFrame({ - 'chunk_index': range(len(replacements_tracker)), - 'replacements': replacements_tracker, - 'improvement_score': improvement_metric - }) + with ProcessPoolExecutor() as executor: + futures = [executor.submit(process_chunk, chunk, text_columns, nlp) for chunk in chunks] + for future in tqdm(futures, total=len(futures), desc="Processing Chunks"): + processed_chunk, chunk_replacements = future.result() + processed_chunks.append(processed_chunk) + replacements_tracker.append(chunk_replacements) + return processed_chunks, replacements_tracker + +# Calculate improvement score based on replacements +def calculate_improvement_score(replacements_tracker, data_length): + total_replacements = sum(replacements_tracker) + return total_replacements / (data_length * MAX_LENGTH) + +# Process the CSV in chunks and apply PII removal +def process_csv_in_chunks(file_path, chunksize=1000): + # Get text columns to process + sample_df = pd.read_csv(file_path, nrows=0) + text_columns = sample_df.select_dtypes(include=['object']).columns.tolist() + + # Read the dataset in chunks + chunks = [chunk for chunk in pd.read_csv(file_path, chunksize=chunksize)] + cleaned_file_path = file_path.replace('.csv', '_cleaned.csv') + + # Process chunks in parallel + processed_chunks, replacements_tracker = parallel_process_chunks(chunks, text_columns, nlp) + + # Calculate the improvement score + improvement_score = calculate_improvement_score(replacements_tracker, len(chunks)) + + # Write processed data back to a cleaned CSV + for i, processed_chunk in enumerate(processed_chunks): + mode = 'w' if i == 0 else 'a' + header = True if i == 0 else False + processed_chunk.to_csv(cleaned_file_path, index=False, mode=mode, header=header) + + return replacements_tracker, improvement_score # Main execution block if __name__ == "__main__": script_dir = os.path.dirname(os.path.realpath(__file__)) - file_path = os.path.join(script_dir, '..', '..', 'data', 'raw', 'Phishing_Email.csv') + data_dir = os.path.join(script_dir, '..', '..', 'data', 'processed') + file_name = 'combined_dataset.csv' + file_path = os.path.join(data_dir, file_name) - chunk_size = 1000 # Adjust as needed - batch_size = 100 # Adjust the batch size as needed - - replacements_df = process_csv_in_chunks(file_path, chunk_size, batch_size) + replacements_tracker, improvement_score = process_csv_in_chunks(file_path, chunksize=3000) # Plotting the results fig, ax1 = plt.subplots() - ax2 = ax1.twinx() - ax1.bar(replacements_df['chunk_index'], replacements_df['replacements'], color='g') - ax2.plot(replacements_df['chunk_index'], replacements_df['improvement_score'], color='b') - + ax1.bar(range(len(replacements_tracker)), replacements_tracker, color='g') + ax2.plot(range(len(replacements_tracker)), [improvement_score] * len(replacements_tracker), color='b', linestyle='--') ax1.set_xlabel('Chunk Index') ax1.set_ylabel('Number of Replacements', color='g') - ax2.set_ylabel('Average Improvement Score', color='b') - + ax2.set_ylabel('Improvement Score', color='b') plt.title('PII Replacements and Improvement Score per Chunk') - plt.savefig(os.path.join(script_dir, '..', '..', 'docs', 'replacements_and_improvement_chart.png')) + plt.savefig(os.path.join(script_dir, '..', '..', 'docs', 'replacements_chart.png')) plt.show() From b16674f1783b1325cc18d4bc32cac7f52f554f5a Mon Sep 17 00:00:00 2001 From: sirlolcat Date: Mon, 27 Nov 2023 12:52:46 +0100 Subject: [PATCH 13/13] docs: update project README --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 5e04947..bd6dc5e 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,51 @@ # 🐟 PhishNet -![PhishNet Art](https://github.com/sirlolcat/PhishNet/assets/85698684/1cc320ce-3878-4cb0-b2fd-c6c757dd82af) +![PhishNet Art](/assets/phishnet-art-base.png) -**DISCLAIMER**: *The content provided by **PhishNet** is exclusively for educational and research purposes **ONLY**. The training data for our GPT-2 derived model has been carefully cleaned to remove any private or personally identifiable information (**PII**) to ensure ethical compliance and privacy. The views and opinions expressed are solely those of the authors and do not reflect any associated organizations. No warranty is provided regarding the accuracy or reliability of the information. Usage of **PhishNet** and its outputs is at your own risk, with no liability for any resultant damages. This project does not endorse illegal activities and should be used responsibly.* +**DISCLAIMER**: *The content provided by **PhishNet** is exclusively for educational and research purposes **ONLY**. The training data for the models under **PhishNet** umbrella; have been carefully cleaned to remove any **sensitive** or **personally identifiable information (PII)** to ensure ethical compliance and privacy. The views and opinions expressed are solely those of the authors and do not reflect any associated organizations. No warranty is provided regarding the accuracy or reliability of the information. Usage of **PhishNet** and its outputs is at your own risk, with no liability for any resultant damages. This project does not endorse illegal activities and should be used responsibly.* ## TL;DR -**PhishNet** is a research project utilizing **Reinforced Self-Training (ReST)** and fine-tuned **GPT-2** to create a high-quality synthetic dataset of phishing emails. Trained on various valuable email datasets (see citations), this project aims to dive into the exploration of adversarial AI and expand our understanding of AI safety. + +**PhishNet** is a research project utilizing **Reinforced Self-Training (ReST)** and fine-tuned set of **Large Language Models (LLMs)** to create a high-quality synthetic dataset of phishing emails. Trained on various valuable email datasets (see [citations](#citations)), this project aims to dive into the exploration of adversarial AI and expand our understanding of AI safety. + +## Table Of Content + +- [Disclaimer](#disclaimer) +- [TL;DR](#tldr) +- [Methodology](#methodology) + - [Data Collection](#data-collection) + - [Model Training](#model-training) + - [Data Generation](#data-generation) + +- [Local Installation & Usage](#local-installation--usage) +- [Results and Evaluation](#results-and-evaluation) +- [Citations](#citations) +- [License](#license) + +## Methodology + +- **Data Collection**: Various datasets such as Enron Email Dataset, Spam Mails Database, etc. +- **Model Training**: Using various LLMs with Reinforced Self-Training. +- **Data Generation**: Synthesizing phishing emails for research. + +## Local Installation & Usage + +If you prefer to run PhishNet locally: + +1. Clone the repository. +2. Install dependencies: `pip install -r requirements.txt`. +3. Run the model with your input data. + +## Results and Evaluation + +This section is under development and will be updated soon. ## Citations + - Radford, A., Wu, J., Child, R., et al. (2019). Language Models are Unsupervised Multitask Learners. [Link](https://github.com/openai/gpt-2) + ``` @article{radford2019language, title={Language Models are Unsupervised Multitask Learners}, @@ -16,7 +53,9 @@ year={2019} } ``` + - Gulcehre, C., Le Paine, T., Srinivasan, S., et al. (2023). Reinforced Self-Training (ReST) for Language Modeling. arXiv preprint arXiv:2308.08998. [Link](https://arxiv.org/abs/2308.08998) + ``` @misc{gulcehre2023reinforced, title={Reinforced Self-Training (ReST) for Language Modeling}, @@ -27,22 +66,12 @@ primaryClass={cs.CL} } ``` -- The Enron Email Dataset. Carnegie Mellon University. [Link](https://www.cs.cmu.edu/~enron/). + - The Enron Email Dataset. Kaggle. [Link](https://www.kaggle.com/datasets/wcukierski/enron-email-dataset) -- Fraudulent Email Corpus. Kaggle. [Link](https://www.kaggle.com/datasets/rtatman/fraudulent-email-corpus) -- Spam Mails Database. Kaggle. [Link](https://www.kaggle.com/datasets/venky73/spam-mails-dataset) - Phishing Email Detection. Kaggle. [Link](https://www.kaggle.com/datasets/subhajournal/phishingemails) - Customer Support Ticket Dataset. Kaggle [Link](https://www.kaggle.com/datasets/suraj520/customer-support-ticket-dataset) - Spam or Not Spam Dataset. Kaggle [Link](https://www.kaggle.com/datasets/ozlerhakan/spam-or-not-spam-dataset) -## Table Of Content -- [Getting Started](#getting-started) - - [Installation](#installation) - - [Usage](#usage) -- [Methodology](#methodology) - - [Data Collection](#data-collection) - - [Model Training](#model-training) - - [Data Generation](#data-generation) -- [Results and Evaluation](#results-and-evaluation) -- [Contributing](#contributing) -- [License](#license) +## License + +**PhishNet** is released under the **MIT** License. The full text of the license can be found via [LICENSE.md](LICENSE).