Text Classification
Transformers
Safetensors
English
roberta
cybersecurity
pentesting
phase-detection
Eval Results (legacy)
text-embeddings-inference
Instructions to use MattP30098638/PenTest-AI with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use MattP30098638/PenTest-AI with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="MattP30098638/PenTest-AI")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("MattP30098638/PenTest-AI") model = AutoModelForSequenceClassification.from_pretrained("MattP30098638/PenTest-AI", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,10 +1,28 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
license: mit
|
| 3 |
language:
|
| 4 |
- en
|
| 5 |
metrics:
|
| 6 |
- accuracy
|
| 7 |
- f1
|
|
|
|
|
|
|
| 8 |
base_model:
|
| 9 |
- FacebookAI/xlm-roberta-large
|
| 10 |
pipeline_tag: text-classification
|
|
@@ -16,197 +34,67 @@ tags:
|
|
| 16 |
- roberta
|
| 17 |
- phase-detection
|
| 18 |
---
|
| 19 |
-
# Model Card for Model ID
|
| 20 |
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
This modelcard aims to be a base template for new models. It has been generated using [this raw template](https://github.com/huggingface/huggingface_hub/blob/main/src/huggingface_hub/templates/modelcard_template.md?plain=1).
|
| 24 |
|
| 25 |
## Model Details
|
| 26 |
|
| 27 |
### Model Description
|
| 28 |
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
|
| 33 |
-
- **Developed by:** [
|
| 34 |
-
- **Funded by
|
| 35 |
-
- **
|
| 36 |
-
- **
|
| 37 |
-
- **
|
| 38 |
-
- **
|
| 39 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
| 40 |
|
| 41 |
-
### Model Sources
|
| 42 |
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
- **
|
| 46 |
-
- **Paper [optional]:** [More Information Needed]
|
| 47 |
-
- **Demo [optional]:** [More Information Needed]
|
| 48 |
|
| 49 |
## Uses
|
| 50 |
|
| 51 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 52 |
-
|
| 53 |
### Direct Use
|
| 54 |
|
| 55 |
-
|
| 56 |
|
| 57 |
-
|
| 58 |
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
<!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
|
| 62 |
-
|
| 63 |
-
[More Information Needed]
|
| 64 |
|
| 65 |
### Out-of-Scope Use
|
| 66 |
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
[More Information Needed]
|
| 70 |
|
| 71 |
## Bias, Risks, and Limitations
|
| 72 |
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
[More Information Needed]
|
| 76 |
-
|
| 77 |
-
### Recommendations
|
| 78 |
-
|
| 79 |
-
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
| 80 |
-
|
| 81 |
-
Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
|
| 82 |
|
| 83 |
## How to Get Started with the Model
|
| 84 |
|
| 85 |
-
Use the code below to get started with the model.
|
| 86 |
-
|
| 87 |
-
[More Information Needed]
|
| 88 |
-
|
| 89 |
-
## Training Details
|
| 90 |
-
|
| 91 |
-
### Training Data
|
| 92 |
-
|
| 93 |
-
<!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
| 94 |
-
|
| 95 |
-
[More Information Needed]
|
| 96 |
-
|
| 97 |
-
### Training Procedure
|
| 98 |
-
|
| 99 |
-
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
| 100 |
-
|
| 101 |
-
#### Preprocessing [optional]
|
| 102 |
-
|
| 103 |
-
[More Information Needed]
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
#### Training Hyperparameters
|
| 107 |
-
|
| 108 |
-
- **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
|
| 109 |
-
|
| 110 |
-
#### Speeds, Sizes, Times [optional]
|
| 111 |
-
|
| 112 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 113 |
-
|
| 114 |
-
[More Information Needed]
|
| 115 |
-
|
| 116 |
-
## Evaluation
|
| 117 |
-
|
| 118 |
-
<!-- This section describes the evaluation protocols and provides the results. -->
|
| 119 |
-
|
| 120 |
-
### Testing Data, Factors & Metrics
|
| 121 |
-
|
| 122 |
-
#### Testing Data
|
| 123 |
-
|
| 124 |
-
<!-- This should link to a Dataset Card if possible. -->
|
| 125 |
-
|
| 126 |
-
[More Information Needed]
|
| 127 |
-
|
| 128 |
-
#### Factors
|
| 129 |
-
|
| 130 |
-
<!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
|
| 131 |
-
|
| 132 |
-
[More Information Needed]
|
| 133 |
-
|
| 134 |
-
#### Metrics
|
| 135 |
-
|
| 136 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 137 |
-
|
| 138 |
-
[More Information Needed]
|
| 139 |
-
|
| 140 |
-
### Results
|
| 141 |
-
|
| 142 |
-
[More Information Needed]
|
| 143 |
-
|
| 144 |
-
#### Summary
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
## Model Examination [optional]
|
| 149 |
-
|
| 150 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 151 |
-
|
| 152 |
-
[More Information Needed]
|
| 153 |
-
|
| 154 |
-
## Environmental Impact
|
| 155 |
-
|
| 156 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 157 |
-
|
| 158 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 159 |
-
|
| 160 |
-
- **Hardware Type:** [More Information Needed]
|
| 161 |
-
- **Hours used:** [More Information Needed]
|
| 162 |
-
- **Cloud Provider:** [More Information Needed]
|
| 163 |
-
- **Compute Region:** [More Information Needed]
|
| 164 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 165 |
-
|
| 166 |
-
## Technical Specifications [optional]
|
| 167 |
-
|
| 168 |
-
### Model Architecture and Objective
|
| 169 |
-
|
| 170 |
-
[More Information Needed]
|
| 171 |
-
|
| 172 |
-
### Compute Infrastructure
|
| 173 |
-
|
| 174 |
-
[More Information Needed]
|
| 175 |
-
|
| 176 |
-
#### Hardware
|
| 177 |
-
|
| 178 |
-
[More Information Needed]
|
| 179 |
-
|
| 180 |
-
#### Software
|
| 181 |
-
|
| 182 |
-
[More Information Needed]
|
| 183 |
-
|
| 184 |
-
## Citation [optional]
|
| 185 |
-
|
| 186 |
-
<!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
|
| 187 |
-
|
| 188 |
-
**BibTeX:**
|
| 189 |
-
|
| 190 |
-
[More Information Needed]
|
| 191 |
-
|
| 192 |
-
**APA:**
|
| 193 |
-
|
| 194 |
-
[More Information Needed]
|
| 195 |
-
|
| 196 |
-
## Glossary [optional]
|
| 197 |
-
|
| 198 |
-
<!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
|
| 199 |
-
|
| 200 |
-
[More Information Needed]
|
| 201 |
-
|
| 202 |
-
## More Information [optional]
|
| 203 |
|
| 204 |
-
|
|
|
|
| 205 |
|
| 206 |
-
#
|
|
|
|
| 207 |
|
| 208 |
-
|
|
|
|
| 209 |
|
| 210 |
-
#
|
|
|
|
|
|
|
| 211 |
|
| 212 |
-
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
model-index:
|
| 3 |
+
- name: PenTest-AI
|
| 4 |
+
results:
|
| 5 |
+
- task:
|
| 6 |
+
type: text-classification
|
| 7 |
+
metrics:
|
| 8 |
+
- type: loss
|
| 9 |
+
value: 0.3195
|
| 10 |
+
- type: accuracy
|
| 11 |
+
value: 0.9318
|
| 12 |
+
- type: f1
|
| 13 |
+
value: 0.8989
|
| 14 |
+
- type: precision
|
| 15 |
+
value: 0.8683
|
| 16 |
+
- type: recall
|
| 17 |
+
value: 0.9318
|
| 18 |
license: mit
|
| 19 |
language:
|
| 20 |
- en
|
| 21 |
metrics:
|
| 22 |
- accuracy
|
| 23 |
- f1
|
| 24 |
+
- precision
|
| 25 |
+
- recall
|
| 26 |
base_model:
|
| 27 |
- FacebookAI/xlm-roberta-large
|
| 28 |
pipeline_tag: text-classification
|
|
|
|
| 34 |
- roberta
|
| 35 |
- phase-detection
|
| 36 |
---
|
|
|
|
| 37 |
|
| 38 |
+
# Model Card for PenTest-AI
|
|
|
|
|
|
|
| 39 |
|
| 40 |
## Model Details
|
| 41 |
|
| 42 |
### Model Description
|
| 43 |
|
| 44 |
+
PenTest-AI is a fine-tuned transformer model based on `FacebookAI/xlm-roberta-large`. It is specifically designed for text classification within the cybersecurity domain, with a primary focus on penetration testing phase detection. By analyzing security logs, audit reports, or threat intelligence texts, the model can categorize the information into distinct phases of the penetration testing lifecycle (e.g., Reconnaissance, Scanning, Exploitation, Post-Exploitation).
|
|
|
|
|
|
|
| 45 |
|
| 46 |
+
- **Developed by:** [Your Name/Organization]
|
| 47 |
+
- **Funded by:** [Your Organization/Grant Info, or "N/A"]
|
| 48 |
+
- **Model type:** Transformer-based Text Classification
|
| 49 |
+
- **Language(s) (NLP):** English (`en`)
|
| 50 |
+
- **License:** MIT
|
| 51 |
+
- **Finetuned from model:** `FacebookAI/xlm-roberta-large`
|
|
|
|
| 52 |
|
| 53 |
+
### Model Sources
|
| 54 |
|
| 55 |
+
- **Repository:** [Link to your Hugging Face or GitHub Repo]
|
| 56 |
+
- **Paper:** [Link to paper, if applicable]
|
| 57 |
+
- **Demo:** [Link to demo space, if applicable]
|
|
|
|
|
|
|
| 58 |
|
| 59 |
## Uses
|
| 60 |
|
|
|
|
|
|
|
| 61 |
### Direct Use
|
| 62 |
|
| 63 |
+
The model is intended to be used by cybersecurity professionals, SOC analysts, and automated security pipelines to classify and tag security-related text data. It helps in automatically mapping unstructured text to specific penetration testing phases, streamlining reporting and threat analysis.
|
| 64 |
|
| 65 |
+
### Downstream Use
|
| 66 |
|
| 67 |
+
PenTest-AI can be integrated into larger cybersecurity platforms, such as SIEM (Security Information and Event Management) systems or automated report generators, to provide context and phase-tagging for ingested alerts and logs.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
|
| 69 |
### Out-of-Scope Use
|
| 70 |
|
| 71 |
+
This model is intended for defensive and analytical purposes only. It is not designed to generate exploits, conduct automated attacks, or execute active offensive security measures. Furthermore, it should not be solely relied upon for critical incident response decisions without human oversight.
|
|
|
|
|
|
|
| 72 |
|
| 73 |
## Bias, Risks, and Limitations
|
| 74 |
|
| 75 |
+
While PenTest-AI achieves high accuracy, it inherits the biases present in its training data and the base XLM-RoBERTa model. The model's performance may degrade when analyzing highly obfuscated text, non-standard terminology, or logs from proprietary tools not represented in the training set. False positives and false negatives are possible, so human verification is recommended for critical security assessments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
|
| 77 |
## How to Get Started with the Model
|
| 78 |
|
| 79 |
+
Use the code below to get started with the model via the `transformers` library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
|
| 81 |
+
```python
|
| 82 |
+
from transformers import pipeline
|
| 83 |
|
| 84 |
+
# Initialize the pipeline
|
| 85 |
+
classifier = pipeline("text-classification", model="[your-huggingface-username]/PenTest-AI")
|
| 86 |
|
| 87 |
+
# Example text
|
| 88 |
+
text = "The attacker utilized Nmap to discover open ports on the target subnet."
|
| 89 |
|
| 90 |
+
# Get predictions
|
| 91 |
+
result = classifier(text)
|
| 92 |
+
print(result)
|
| 93 |
|
| 94 |
+
Training DetailsTraining DataThe model was trained on a proprietary/open-source dataset consisting of [describe dataset, e.g., thousands of sanitized penetration testing reports, CVE descriptions, and security write-ups]. The dataset was curated to represent various phases of the penetration testing lifecycle.(See [Dataset Card Link] for more details).Training ProcedureTraining HyperparametersTraining regime: [e.g., fp16 mixed precision]Epochs: [Number of epochs]Batch Size: [Batch size]Learning Rate: [Learning rate, e.g., 2e-5]EvaluationTesting Data, Factors & MetricsThe model was evaluated on a held-out test set from the original training corpus, focusing on accurate phase detection across diverse writing styles and technical tooling mentions.Metrics Used:Accuracy: To measure overall correctness.F1 Score: To balance precision and recall, especially if classes were imbalanced.Precision & Recall: To understand the model's reliability in positively identifying specific phases without over-tagging.ResultsThe model achieved the following performance metrics on the evaluation set:MetricValueLoss0.3195Accuracy0.9318F1 Score0.8989Precision0.8683Recall0.9318Environmental ImpactCarbon emissions can be estimated using the Machine Learning Impact calculator.Hardware Type: [e.g., 1x NVIDIA A100]Hours used: [e.g., 12 hours]Cloud Provider: [e.g., AWS / GCP]Compute Region: [e.g., us-east-1]Carbon Emitted: [e.g., 0.5 kg eq. CO2]CitationIf you use this model in your research or project, please cite it as follows:BibTeX:Code snippet@misc{pentestai2024,
|
| 95 |
+
author = {MattP8638/Organization]},
|
| 96 |
+
title = {PenTest-AI: A Fine-Tuned XLM-RoBERTa Model for Penetration Testing Phase Detection},
|
| 97 |
+
year = {2026},
|
| 98 |
+
publisher = {Hugging Face},
|
| 99 |
+
howpublished = {\url{[https://huggingface.co/](https://huggingface.co/)[your-huggingface-username]/PenTest-AI}}
|
| 100 |
+
}
|