ai-pentestsii


Nameai-pentestsii JSON
Version 0.0.1 PyPI version JSON
download
home_pageNone
SummaryAutomatic Pentest using Gemini API
upload_time2024-09-02 12:19:48
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseCopyright (c) 2016 The Python Packaging Authority (PyPA) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords sample setuptools development
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**
  
- **Python 3.8+**
 
- **pip**  - Pour installer les dépendances Python
 
- **Environment variables**  - Fichier `.env` avec les configurations nécessaires (voir la section "Configuration")

### 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 
Créez un fichier `.env` à la racine du projet pour définir les variables d'environnement nécessaires :

```dotenv
# Clé API pour interagir avec les services d'IA
API_TYPE="gemini/openai"

# Clé API pour interagir avec les services d'IA
API_KEY="votre_clé_api_ici"

# Chemin vers le fichier des outils autorisés
SAFE_TOOL='config/tools/authorized_tools.txt'

# Chemin vers le fichier de priorité des outils
PRIORITY_TOOL='config/tools/tool_priority.txt'

# Nom du prompt que vous souhaitez utiliser
PROMPT_VERSION='prompt_v8_modif'
```

## 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": "ai-pentestsii",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "\"A. Great Maintainer\" <maintainer@example.com>",
    "keywords": "sample, setuptools, development",
    "author": null,
    "author_email": "\"A. Random Developer\" <author@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/fa/e7/7363c319d98ec0e7243472e8c59af3e8ffa6bd61ad9e9f4371977f3341d9/ai_pentestsii-0.0.1.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.\r\n> Id\u00e9alement utilisez une vm kali comme \u00e7a vous aurez la plupart des outils\r\n> Si vous voulez changer et utiliser une autre API d'IA, changez le fichier ai_config dans config.\r\n\r\n\r\n# Pentest AI Automation Script \r\n\r\n## Description \r\n\r\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.\r\n\r\n## Pr\u00e9requis \r\n\r\n### Logiciels \r\n\r\n- **Kali linux**\r\n  \r\n- **Python 3.8+**\r\n \r\n- **pip**  - Pour installer les d\u00e9pendances Python\r\n \r\n- **Environment variables**  - Fichier `.env` avec les configurations n\u00e9cessaires (voir la section \"Configuration\")\r\n\r\n### Python Libraries \r\n\r\nInstallez les d\u00e9pendances avec pip:\r\n\r\n\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n### Fichiers n\u00e9cessaires \r\n \r\n- `config/tools/authorized_tools.txt` : Liste des outils autoris\u00e9s pour les tests de s\u00e9curit\u00e9.\r\n \r\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)\r\n\r\n## Configuration \r\nCr\u00e9ez un fichier `.env` \u00e0 la racine du projet pour d\u00e9finir les variables d'environnement n\u00e9cessaires :\r\n\r\n```dotenv\r\n# Cl\u00e9 API pour interagir avec les services d'IA\r\nAPI_TYPE=\"gemini/openai\"\r\n\r\n# Cl\u00e9 API pour interagir avec les services d'IA\r\nAPI_KEY=\"votre_cl\u00e9_api_ici\"\r\n\r\n# Chemin vers le fichier des outils autoris\u00e9s\r\nSAFE_TOOL='config/tools/authorized_tools.txt'\r\n\r\n# Chemin vers le fichier de priorit\u00e9 des outils\r\nPRIORITY_TOOL='config/tools/tool_priority.txt'\r\n\r\n# Nom du prompt que vous souhaitez utiliser\r\nPROMPT_VERSION='prompt_v8_modif'\r\n```\r\n\r\n## Utilisation \r\n\r\n### Lancement du script \r\n\r\nPour lancer le script, ex\u00e9cutez la commande suivante :\r\n\r\n\r\n```bash\r\nsudo python main.py\r\n```\r\n- Il faut id\u00e9alement avoir les droits administrateur pour certaines commandes\r\n### Fonctionnalit\u00e9s principales \r\n \r\n- **Initialisation**  : Le script d\u00e9marre avec un \u00e9cran de chargement et une initialisation des sessions IA.\r\n \r\n- **Saisie des informations cible**  : Vous serez invit\u00e9 \u00e0 entrer l'adresse IP cible et/ou le contexte du test.\r\n \r\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.\r\n \r\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.\r\n \r\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.\r\n\r\n### Interruption du script \r\nVous pouvez interrompre le script \u00e0 tout moment avec `Ctrl+C`. Un rapport final sera g\u00e9n\u00e9r\u00e9 automatiquement.\r\n## Structure du Projet \r\n \r\n- **`config/`**  : Contient les fichiers de configuration pour les sessions IA.\r\n \r\n- **`prompts/`**  : Fichiers de prompt utilis\u00e9s pour communiquer avec l'IA.\r\n \r\n- **`tasks/`**  : Scripts et fichiers relatifs aux t\u00e2ches sp\u00e9cifiques comme la cr\u00e9ation de rapports, la v\u00e9rification des installations, etc.\r\n \r\n- **`outputs/`**  : Dossier o\u00f9 sont stock\u00e9s les fichiers de sortie, y compris les rapports d'analyse.\r\n\r\n- **`logs/`**  : Dossier o\u00f9 sont stock\u00e9s les logs de commandes et de prompts.\r\n\r\n\r\n## Limitations \r\n \r\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`.\r\n\r\n- Il n\u00e9cessite une cl\u00e9 API valide pour interagir avec les services d'IA.\r\n\r\n- L'IA peut halluciner ou rester dans des analyses de surface.\r\n\r\n## Contributeur \r\n \r\n- **Elouan TEISSERE**  - Cr\u00e9ateur du projet\r\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2016 The Python Packaging Authority (PyPA)  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "Automatic Pentest using Gemini API",
    "version": "0.0.1",
    "project_urls": {
        "Bug Reports": "https://github.com/pypa/sampleproject/issues",
        "Funding": "https://donate.pypi.org",
        "Homepage": "https://github.com/pypa/sampleproject",
        "Say Thanks!": "http://saythanks.io/to/example",
        "Source": "https://github.com/pypa/sampleproject/"
    },
    "split_keywords": [
        "sample",
        " setuptools",
        " development"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a0a7716609a10d3a770ef4969b56f11e5426841814c73ab6474a9a6da730c81",
                "md5": "f56efa3357998614b8e0702c8a8da962",
                "sha256": "c117187f14495c92f261f44b6455d4987629cc741b560df6850959a99488780f"
            },
            "downloads": -1,
            "filename": "ai_pentestsii-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f56efa3357998614b8e0702c8a8da962",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 42082,
            "upload_time": "2024-09-02T12:19:47",
            "upload_time_iso_8601": "2024-09-02T12:19:47.041986Z",
            "url": "https://files.pythonhosted.org/packages/4a/0a/7716609a10d3a770ef4969b56f11e5426841814c73ab6474a9a6da730c81/ai_pentestsii-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fae77363c319d98ec0e7243472e8c59af3e8ffa6bd61ad9e9f4371977f3341d9",
                "md5": "dd8fc14a450960870550e40052017d17",
                "sha256": "e9d2c85e12dd0be08c490f4b51c2bb82aa0ed5ab2633325b779ec73c321309be"
            },
            "downloads": -1,
            "filename": "ai_pentestsii-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "dd8fc14a450960870550e40052017d17",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 23008,
            "upload_time": "2024-09-02T12:19:48",
            "upload_time_iso_8601": "2024-09-02T12:19:48.705287Z",
            "url": "https://files.pythonhosted.org/packages/fa/e7/7363c319d98ec0e7243472e8c59af3e8ffa6bd61ad9e9f4371977f3341d9/ai_pentestsii-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-02 12:19:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pypa",
    "github_project": "sampleproject",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "ai-pentestsii"
}
        
Elapsed time: 0.34140s