
apex v2.3.0-canary.52dcca8a
Tests de sécurité offensifs propulsés par l'IA à l'aide d'agents autonomes, directement dans votre terminal.
Pensar Apex
Tests d'intrusion assistés par IA utilisant des agents autonomes — directement dans votre terminal. Exécutez des pentests blackbox et whitebox qui explorent, raisonnent et font remonter de véritables vulnérabilités.
Vous souhaitez l'exécuter depuis le cloud ou l'intégrer à votre CI/CD ? Consultez Pensar Console.
Cas d'usage
Développeurs
- Exécutez
/pentestavant de fusionner une PR — détectez les vulnérabilités aussi naturellement que vous lancez des tests - Obtenez des résultats exploitables avec des scores de gravité, des preuves et des correctifs suggérés — aucune compétence en sécurité requise
- Intégrez à votre CI/CD via des commandes CLI headless ou Pensar Console
Ingénieurs sécurité
- Déployez des tests en essaim pilotés par agents sur de grandes surfaces d'attaque
- Utilisez le mode
/operatorpour l'investigation manuelle, le chaînage d'exploits et la validation - Automatisez les workflows de test répétitifs grâce à une mémoire persistante qui s'accumule au fil des missions
- Passez à l'échelle sur plusieurs équipes et projets via Pensar Console
Installation
| Méthode | Commande |
|---|---|
| Installation rapide (macOS/Linux) | curl -fsSL https://pensarai.com/install.sh | bash |
| Homebrew | brew tap pensarai/tap && brew install apex |
| npm | npm install -g @pensar/apex |
| Windows (PowerShell) | irm https://www.pensarai.com/apex.ps1 | iex |
Utilisation
Ouvrez l'interface TUI d'Apex :
pensar
CLI headless
Exécutez des pentests sans la TUI pour le scripting, la CI ou l'intégration evalgate :
# Pentest basique
pensar pentest --target https://example.com
# Avec réflexion étendue et mode piloté par tâches
pensar pentest --target https://example.com --extended-thinking --task-driven
# Whitebox (avec accès au code source)
pensar pentest --target https://example.com --cwd ./my-app
# Pentest ciblé avec des objectifs spécifiques
pensar targeted-pentest --target https://example.com --objective "Test authentication bypass"
| Option | Commande | Description |
|---|---|---|
--target <url> | pentest, targeted-pentest | URL cible (obligatoire) |
--cwd <path> | pentest | Chemin du code source pour le mode whitebox |
--mode <mode> | pentest | exfil pour le pivotement et l'extraction de flags |
--model <model> | pentest, targeted-pentest | Modèle IA (par défaut : sélection automatique) |
--extended-thinking | pentest | Active la réflexion étendue pour les modèles compatibles |
--task-driven | pentest | Active l'architecture pilotée par tâches (expérimental) |
--prompt <text|@file> | pentest | Consignes personnalisées pour l'agent |
--threat-model <text|@file> | pentest | Modèle de menace pour guider les tests |
--objective <text> | targeted-pentest | Objectif de test (répétable) |
Inférence Hoonify
Connectez Hoonify dans /providers ou définissez HOONIFY_API_KEY, puis sélectionnez un
modèle découvert dans /models. Les commandes headless acceptent
--model-provider hoonify --model <catalog-model-id>. Consultez
Configuration Hoonify pour la découverte de modèles, les budgets de tokens et les vérifications en direct.
Points de terminaison d'inférence personnalisés
Apportez un point de terminaison compatible OpenAI et un jeton bearer via la configuration
customProviders ou la variable d'environnement worker APEX_CUSTOM_PROVIDERS. Sélectionnez-le
avec --model-provider <id> --model <model>, ou choisissez ses modèles déclarés dans
le sélecteur /models de l'opérateur. Consultez configuration d'inférence personnalisée
pour les paramètres GLM, la configuration des jobs headless et un test de connexion en direct.
Journalisation
Apex achemine la journalisation diagnostique/opérationnelle via un logger structuré centralisé
(src/core/logger). Il écrit du JSON sur une ligne vers stderr lorsque la sortie n'est pas un TTY — le gardant
séparé du stdout du programme et facile à expédier vers un pipeline de logs (par ex. CloudWatch) —
et une sortie colorée et lisible dans un terminal interactif. La sortie CLI/TUI destinée à l'utilisateur reste sur
stdout.
Définissez le niveau (du plus au moins verbeux : debug < info < warn < error, par défaut info) :
pensar pentest --target https://example.com --log-level debug # ou --verbose / --quiet
PENSAR_LOG_LEVEL=debug pensar ... # via l'environnement
PENSAR_DEBUG=1 pensar ... # alias rétrocompatible pour debug
Ordre de résolution : option CLI → PENSAR_LOG_LEVEL → PENSAR_DEBUG → info par défaut.
PENSAR_LOG_FORMAT=json|pretty force le format de sortie. Lorsqu'Apex s'exécute en tant qu'agent géré,
PENSAR_LOG_LEVEL est fourni par l'environnement hôte.
Traçage W&B Weave
Diffusez des traces d'agent au niveau des étapes vers Weights & Biases Weave pour l'analyse et le fine-tuning :
export WANDB_API_KEY=your-key
export WANDB_ENTITY=your-entity
# WANDB_PROJECT defaults to "apex-traces"
pensar pentest --target https://example.com
Les traces incluent les étapes de raisonnement, les appels d'outils, l'utilisation des tokens et les points de contrôle d'état. Lorsque les identifiants ne sont pas définis, le traçage est silencieusement désactivé.
OpenTelemetry (Observabilité)
Apex émet des spans OpenTelemetry pour les exécutions d'agents, les appels LLM et les exécutions d'outils via @opentelemetry/api. Les spans sont des no-ops sauf si votre processus enregistre un SDK OpenTelemetry comme fournisseur de traceur global ; Apex ne fournit aucun SDK.
Enregistrez un SDK avant d'importer le code Apex :