gemini-pt


Namegemini-pt JSON
Version 0.0.5 PyPI version JSON
download
home_pageNone
SummaryAutomatic pentest using AI
upload_time2024-09-04 12:49:19
maintainerNone
docs_urlNone
authorElouan Teissere
requires_pythonNone
licenseNone
keywords python gemini pentest ai cybersecurity nmap
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            > Pour l'instant c'est plutôt aléatoire donc si vous avez des idées pour gérer les prompts c'est cool, j'utilise le prompt v6 pour l'instant c'est le mieux mais je vais bientôt faire une session spécialisée pour les outils difficiles.
> Idéalement utilisez une vm kali comme ça vous aurez la plupart des outils
> Si vous voulez changer et utiliser une autre API d'IA, changez le fichier ai_config dans config.


# Pentest AI Automation Script 

## Description 

Ce projet est un script Python automatisant les tâches de pentest à l'aide d'IA. Il utilise des API pour interagir avec des modèles de langage avancés pour effectuer des tâches comme la sélection d'outils, la génération de commandes, l'exécution de ces commandes, et l'analyse des résultats. Le script est conçu pour optimiser le processus de pentest, en particulier pour les tâches répétitives et l'analyse des résultats.

## Prérequis 

### Logiciels 

- **Kali linux** de préférence mais une distribution **Debian** fonctionnera aussi.
  
- **Python 3.8+**
 
- **pip**  - Pour installer les dépendances Python
 
- **Api Gemini/Openai**
### Python Libraries 

Installez les dépendances avec pip:


```bash
pip install -r requirements.txt
```

### Fichiers nécessaires 
 
- `config/tools/authorized_tools.txt` : Liste des outils autorisés pour les tests de sécurité.
 
- `config/tools/tool_priority.txt` : Liste des outils préférés pour certaines tâches. (Déprécié, vous pouvez changer le code en commentaire dans la fonction command)

## Configuration 
Utilisez le mode --auto ou alors mettez au moins les paramètres -ip, -c et -key

```bash
options:
  -h, --help            show this help message and exit
  -ip TARGET, --target TARGET
                        Adresse IP à scanner
  -c CONTEXT, --context CONTEXT
                        Contexte
  -p PRIORITY_TOOL, --priority-tool PRIORITY_TOOL
                        Chemin vers le fichier des outils de priorité
  -s SAFE_TOOL, --safe-tool SAFE_TOOL
                        Chemin vers le fichier des outils autorisés
  -v PROMPT_VERSION, --prompt-version PROMPT_VERSION
                        Version du prompt
  -api API_TYPE, --api-type API_TYPE
                        Type d'API
  -key API_KEY, --api-key API_KEY
                        Clé API
  --auto                Activer le mode auto pour entrer les valeurs manuellement
```

## Utilisation 

### Lancement du script 

Pour lancer le script, exécutez la commande suivante :


```bash
sudo python main.py
```
- Il faut idéalement avoir les droits administrateur pour certaines commandes
### Fonctionnalités principales 
 
- **Initialisation**  : Le script démarre avec un écran de chargement et une initialisation des sessions IA.
 
- **Saisie des informations cible**  : Vous serez invité à entrer l'adresse IP cible et/ou le contexte du test.
 
- **Arbre des tâches**  : Le script crée un arbre des tâches basé sur les informations fournies et le modèle IA.
 
- **Sélection et exécution des tâches**  : Le script sélectionne la tâche appropriée, génère la commande correspondante, et l'exécute tout en vérifiant la sécurité.
 
- **Analyse et rapport**  : Le résultat de chaque commande est analysé et sauvegardé, et un rapport final est généré en format Markdown et PDF.

### Interruption du script 
Vous pouvez interrompre le script à tout moment avec `Ctrl+C`. Un rapport final sera généré automatiquement.
## Structure du Projet 
 
- **`config/`**  : Contient les fichiers de configuration pour les sessions IA.
 
- **`prompts/`**  : Fichiers de prompt utilisés pour communiquer avec l'IA.
 
- **`tasks/`**  : Scripts et fichiers relatifs aux tâches spécifiques comme la création de rapports, la vérification des installations, etc.
 
- **`outputs/`**  : Dossier où sont stockés les fichiers de sortie, y compris les rapports d'analyse.

- **`logs/`**  : Dossier où sont stockés les logs de commandes et de prompts.


## Limitations 
 
- Le script est conçu pour être utilisé dans un environnement contrôlé avec des outils spécifiques listés dans `authorized_tools.txt`.

- Il nécessite une clé API valide pour interagir avec les services d'IA.

- L'IA peut halluciner ou rester dans des analyses de surface.

## Contributeur 
 
- **Elouan TEISSERE**  - Créateur du projet

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gemini-pt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "python, gemini, pentest, ai, cybersecurity, nmap",
    "author": "Elouan Teissere",
    "author_email": "<elouan.teissere@sii.fr>",
    "download_url": "https://files.pythonhosted.org/packages/19/fc/11f962409e77670c4368b688b35d8277e41bdbc30f510ee445f10ab7dd38/gemini_pt-0.0.5.tar.gz",
    "platform": null,
    "description": "> Pour l'instant c'est plut\u00f4t al\u00e9atoire donc si vous avez des id\u00e9es pour g\u00e9rer les prompts c'est cool, j'utilise le prompt v6 pour l'instant c'est le mieux mais je vais bient\u00f4t faire une session sp\u00e9cialis\u00e9e pour les outils difficiles.\n> Id\u00e9alement utilisez une vm kali comme \u00e7a vous aurez la plupart des outils\n> Si vous voulez changer et utiliser une autre API d'IA, changez le fichier ai_config dans config.\n\n\n# Pentest AI Automation Script \n\n## Description \n\nCe projet est un script Python automatisant les t\u00e2ches de pentest \u00e0 l'aide d'IA. Il utilise des API pour interagir avec des mod\u00e8les de langage avanc\u00e9s pour effectuer des t\u00e2ches comme la s\u00e9lection d'outils, la g\u00e9n\u00e9ration de commandes, l'ex\u00e9cution de ces commandes, et l'analyse des r\u00e9sultats. Le script est con\u00e7u pour optimiser le processus de pentest, en particulier pour les t\u00e2ches r\u00e9p\u00e9titives et l'analyse des r\u00e9sultats.\n\n## Pr\u00e9requis \n\n### Logiciels \n\n- **Kali linux** de pr\u00e9f\u00e9rence mais une distribution **Debian** fonctionnera aussi.\n  \n- **Python 3.8+**\n \n- **pip**  - Pour installer les d\u00e9pendances Python\n \n- **Api Gemini/Openai**\n### Python Libraries \n\nInstallez les d\u00e9pendances avec pip:\n\n\n```bash\npip install -r requirements.txt\n```\n\n### Fichiers n\u00e9cessaires \n \n- `config/tools/authorized_tools.txt` : Liste des outils autoris\u00e9s pour les tests de s\u00e9curit\u00e9.\n \n- `config/tools/tool_priority.txt` : Liste des outils pr\u00e9f\u00e9r\u00e9s pour certaines t\u00e2ches. (D\u00e9pr\u00e9ci\u00e9, vous pouvez changer le code en commentaire dans la fonction command)\n\n## Configuration \nUtilisez le mode --auto ou alors mettez au moins les param\u00e8tres -ip, -c et -key\n\n```bash\noptions:\n  -h, --help            show this help message and exit\n  -ip TARGET, --target TARGET\n                        Adresse IP \u00e0 scanner\n  -c CONTEXT, --context CONTEXT\n                        Contexte\n  -p PRIORITY_TOOL, --priority-tool PRIORITY_TOOL\n                        Chemin vers le fichier des outils de priorit\u00e9\n  -s SAFE_TOOL, --safe-tool SAFE_TOOL\n                        Chemin vers le fichier des outils autoris\u00e9s\n  -v PROMPT_VERSION, --prompt-version PROMPT_VERSION\n                        Version du prompt\n  -api API_TYPE, --api-type API_TYPE\n                        Type d'API\n  -key API_KEY, --api-key API_KEY\n                        Cl\u00e9 API\n  --auto                Activer le mode auto pour entrer les valeurs manuellement\n```\n\n## Utilisation \n\n### Lancement du script \n\nPour lancer le script, ex\u00e9cutez la commande suivante :\n\n\n```bash\nsudo python main.py\n```\n- Il faut id\u00e9alement avoir les droits administrateur pour certaines commandes\n### Fonctionnalit\u00e9s principales \n \n- **Initialisation**  : Le script d\u00e9marre avec un \u00e9cran de chargement et une initialisation des sessions IA.\n \n- **Saisie des informations cible**  : Vous serez invit\u00e9 \u00e0 entrer l'adresse IP cible et/ou le contexte du test.\n \n- **Arbre des t\u00e2ches**  : Le script cr\u00e9e un arbre des t\u00e2ches bas\u00e9 sur les informations fournies et le mod\u00e8le IA.\n \n- **S\u00e9lection et ex\u00e9cution des t\u00e2ches**  : Le script s\u00e9lectionne la t\u00e2che appropri\u00e9e, g\u00e9n\u00e8re la commande correspondante, et l'ex\u00e9cute tout en v\u00e9rifiant la s\u00e9curit\u00e9.\n \n- **Analyse et rapport**  : Le r\u00e9sultat de chaque commande est analys\u00e9 et sauvegard\u00e9, et un rapport final est g\u00e9n\u00e9r\u00e9 en format Markdown et PDF.\n\n### Interruption du script \nVous pouvez interrompre le script \u00e0 tout moment avec `Ctrl+C`. Un rapport final sera g\u00e9n\u00e9r\u00e9 automatiquement.\n## Structure du Projet \n \n- **`config/`**  : Contient les fichiers de configuration pour les sessions IA.\n \n- **`prompts/`**  : Fichiers de prompt utilis\u00e9s pour communiquer avec l'IA.\n \n- **`tasks/`**  : Scripts et fichiers relatifs aux t\u00e2ches sp\u00e9cifiques comme la cr\u00e9ation de rapports, la v\u00e9rification des installations, etc.\n \n- **`outputs/`**  : Dossier o\u00f9 sont stock\u00e9s les fichiers de sortie, y compris les rapports d'analyse.\n\n- **`logs/`**  : Dossier o\u00f9 sont stock\u00e9s les logs de commandes et de prompts.\n\n\n## Limitations \n \n- Le script est con\u00e7u pour \u00eatre utilis\u00e9 dans un environnement contr\u00f4l\u00e9 avec des outils sp\u00e9cifiques list\u00e9s dans `authorized_tools.txt`.\n\n- Il n\u00e9cessite une cl\u00e9 API valide pour interagir avec les services d'IA.\n\n- L'IA peut halluciner ou rester dans des analyses de surface.\n\n## Contributeur \n \n- **Elouan TEISSERE**  - Cr\u00e9ateur du projet\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Automatic pentest using AI",
    "version": "0.0.5",
    "project_urls": {
        "My github": "https://github.com/Yellowwaves"
    },
    "split_keywords": [
        "python",
        " gemini",
        " pentest",
        " ai",
        " cybersecurity",
        " nmap"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b411d7c5135f9404b28673a71be057cf6485b2aefcec4b1ab9347fed0d414a5c",
                "md5": "231700d7dcfca44b8915c13cd88ef36b",
                "sha256": "b32a2c8c02df7c272a935c9cda05fe93f382b74b18fa9c68ee3ff56ab1f3b629"
            },
            "downloads": -1,
            "filename": "gemini_pt-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "231700d7dcfca44b8915c13cd88ef36b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 20829,
            "upload_time": "2024-09-04T12:49:17",
            "upload_time_iso_8601": "2024-09-04T12:49:17.571153Z",
            "url": "https://files.pythonhosted.org/packages/b4/11/d7c5135f9404b28673a71be057cf6485b2aefcec4b1ab9347fed0d414a5c/gemini_pt-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "19fc11f962409e77670c4368b688b35d8277e41bdbc30f510ee445f10ab7dd38",
                "md5": "75320205809af796f185dcc8b64a3684",
                "sha256": "4c212bd70d5ea093143414c62bd1fd3c8a8e0df381067dbac2b516460010c343"
            },
            "downloads": -1,
            "filename": "gemini_pt-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "75320205809af796f185dcc8b64a3684",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 20164,
            "upload_time": "2024-09-04T12:49:19",
            "upload_time_iso_8601": "2024-09-04T12:49:19.072415Z",
            "url": "https://files.pythonhosted.org/packages/19/fc/11f962409e77670c4368b688b35d8277e41bdbc30f510ee445f10ab7dd38/gemini_pt-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-04 12:49:19",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gemini-pt"
}
        
Elapsed time: 1.88882s