Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
hulak — Un client API CLI léger basé sur des fichiers, avec des secrets chiffrés par age, une prise en charge GraphQL native et un serveur MCP intégré pour les workflows d'agents IA. | Kitploit
Outils/GitHubGitHub/xaaha/hulak
Outils de Chiffrement/DéchiffrementTests de Sécurité des APIDevSecOpsUtilitaires et FrameworksDétection de SecretsAuthentificationSécurité des API
GitHubxaaha/hulak

hulak

Un client API CLI léger basé sur des fichiers, avec des secrets chiffrés par age, une prise en charge GraphQL native et un serveur MCP intégré pour les workflows d'agents IA.

Voir le dépôt
90641il y a 7 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
<p align="center">
  <img alt="Hulak" src="https://raw.githubusercontent.com/xaaha/hulak/main/assets/hulak-logo.svg" width="180" />
</p>

<h1 align="center">Hulak</h1>

<h3 align="center">
  Votre messager dans le terminal.
</h3>

<p align="center">
  <a href="#quick-start">Démarrage rapide</a> &bull;
  <a href="#graphql-explorer">Explorateur GraphQL</a> &bull;
  <a href="#project-layout">Structure du projet</a> &bull;
  <a href="#documentation">Documentation</a>
</p>

---

### Exécutez une requête, un répertoire entier, ou restez en interactif

<img alt="Concurrent Execution" src="https://assets.kitploit.com/production/public/readmes/12535/3ea47749f291ed181923d64f3751b68e0fa035e3c16ec44c973a65fb32ee4c5a.gif" width="720" />

```bash
hulak run ./requests/
```

Hulak exécute les fichiers de requête directement depuis votre projet. Il prend en charge l'exécution concurrente de répertoires. Il bascule vers un sélecteur interactif lorsque vous lancez simplement `hulak`.

### Explorateur GraphQL dédié

<img alt="GraphQL Explorer" src="https://assets.kitploit.com/production/public/readmes/12535/be3004f25dc07831b622ac6bae4a8cf276dbe450518d70d0de4641accd1cb454.gif" width="720" />

Parcourez les schémas de plusieurs endpoints. Recherchez des opérations. Construisez des requêtes de manière interactive. Exécutez en ligne. Enregistrez les fichiers générés depuis le terminal.

## Démarrage rapide

### Installation

Hulak est distribué via [xaaha/tap](https://github.com/xaaha/homebrew-tap). Homebrew 6.0+ exige une confiance explicite pour les taps tiers ; sans cela, `brew upgrade` ignore silencieusement hulak. Étape unique par machine :

```bash
brew trust xaaha/tap
brew install --cask xaaha/tap/hulak
```

Autres options d'installation :

- `go install github.com/xaaha/hulak@latest`
- Compiler depuis les sources avec `go build -o hulak`

#### Complétion shell (go install / compilations depuis les sources)

Homebrew installe la complétion automatiquement. Si vous avez installé via `go install`
ou compilé depuis les sources, activez-la une fois :

```bash
# zsh
hulak completion zsh > "${fpath[1]}/_hulak"        # puis redémarrez votre shell

# bash (macOS, Homebrew bash-completion)
hulak completion bash > $(brew --prefix)/etc/bash_completion.d/hulak

# bash (Linux)
hulak completion bash | sudo tee /etc/bash_completion.d/hulak >/dev/null
```

Zsh nécessite `autoload -Uz compinit && compinit` dans votre `.zshrc`.

### Voie A. Client API avec secrets chiffrés (par défaut)

```bash
mkdir my-apis && cd my-apis
hulak init # creates .hulak/store.age + identity
```

Générez une requête de démarrage ; pour vérifier rapidement à quoi ressemble un fichier de requête, exécutez :

```bash
hulak example api  # writes example-api.hk.yaml you can run
```

> [!Note]
> Pour d'autres types, exécutez : `hulak example`. La sous-commande `example` vous offre un moyen rapide d'écrire un fichier de requête que vous pouvez modifier. Pour plus d'informations, exécutez `hulak example -h`

Pour configurer un secret, vous pouvez exécuter :

```bash
hulak secrets keys set placeholder  https://jsonplaceholder.typicode.com/posts -env prod

```

Maintenant, dans votre fichier `example-api.hk.yaml`, vous pouvez référencer ce secret :

```yaml
method: POST
url: "{{.placeholder}}"
# rest of the body of the file remains same
```

Exécutez la requête :

```bash
hulak run example-api.hk.yaml --env prod
```

### Vous préférez les fichiers `env/*.env` en clair plutôt que les secrets chiffrés ?

```bash
hulak init classic
```

Le mode en clair est entièrement pris en charge. Consultez [docs/environment.md](https://github.com/xaaha/hulak/blob/main/docs/environment.md) pour plus d'informations

## Coffre de secrets chiffrés ou fichiers `.env` en clair

Hulak fonctionne selon deux modes. Choisissez-en un lors de `hulak init`. Vous pouvez migrer plus tard.

- **Coffre (par défaut) :** les secrets résident dans `.hulak/store.age`, chiffrés avec une paire de clés age ou SSH. Sûr à committer. Les équipes partagent via un fichier de destinataires. Consultez [docs/store.md](https://github.com/xaaha/hulak/blob/main/docs/store.md).
- **En clair :** les secrets résident dans des fichiers `env/*.env` en clair. Plus simple, sans chiffrement. Ajoutez `env/` à `.gitignore`. Consultez [docs/environment.md](https://github.com/xaaha/hulak/blob/main/docs/environment.md).

Vous utilisez le mode classic et souhaitez basculer ? Consultez [docs/migrating-to-vault.md](https://github.com/xaaha/hulak/blob/main/docs/migrating-to-vault.md).

## Utilisation depuis un agent IA (MCP)

Hulak embarque un serveur [MCP](https://modelcontextprotocol.io) intégré, afin que des agents comme Claude Code, Cursor et Zed puissent piloter votre collection d'API en langage naturel — « liste les requêtes », « dry-run `login` contre staging », « appelle `getUser` et affiche la réponse ».

Pour Claude Code, ajoutez-le avec une seule commande :

```bash
claude mcp add hulak -s user -- hulak mcp --project api=~/work/api-tests
```

Cursor, Zed, Codex, opencode et Pi utilisent plutôt un petit fichier de configuration. Consultez [docs/mcp.md](https://github.com/xaaha/hulak/blob/main/docs/mcp.md) pour chacun.

Les secrets ne quittent jamais votre machine : l'agent travaille avec les **noms** de requêtes et d'environnements, jamais avec les valeurs déchiffrées. Les lectures et dry-runs sont en lecture seule ; les écritures sont validées par schéma ; les fichiers de réponse ne sont pas enregistrés sauf demande explicite.

Configuration complète, référence des outils et modèle de sécurité : [docs/mcp.md](https://github.com/xaaha/hulak/blob/main/docs/mcp.md).

## Commandes

| Commande  | Objectif                                       | En savoir plus                                              |
| --------- | ---------------------------------------------- | ----------------------------------------------------------- |
| `run`     | Exécuter un ou des fichiers de requête ou un répertoire | [body.md](https://github.com/xaaha/hulak/blob/main/docs/body.md), [actions.md](https://github.com/xaaha/hulak/blob/main/docs/actions.md) |
| `gql`     | TUI de l'explorateur GraphQL                   | [graphql-explorer.md](https://github.com/xaaha/hulak/blob/main/docs/graphql-explorer.md)           |
| `secrets` | CRUD du coffre chiffré                         | [store.md](https://github.com/xaaha/hulak/blob/main/docs/store.md)                                 |
| `init`    | Initialiser un projet hulak                    | [store.md](https://github.com/xaaha/hulak/blob/main/docs/store.md)                                 |
| `migrate` | Conversion Postman vers hulak                  | [migrating-to-vault.md](https://github.com/xaaha/hulak/blob/main/docs/migrating-to-vault.md)       |
| `example` | Générer des fichiers de requête d'exemple      | —                                                           |
| `doctor`  | Vérifier la santé du projet                    | —                                                           |
| `mcp`     | Servir les requêtes aux agents IA via MCP      | [mcp.md](https://github.com/xaaha/hulak/blob/main/docs/mcp.md)                                     |
| `version` | Afficher la version                            | —                                                           |

Exécutez `hulak <command> --help` pour les options et des exemples par commande.

### Comportement du sélecteur

Omettre `--env` ouvre un sélecteur interactif.

- `hulak run` et `hulak gql` ne demandent une saisie que lorsque des fichiers référencent `{{.key}}`.
- Les sous-commandes `hulak secrets` demandent une saisie à chaque fois (sauf `secrets list`).
- Les shells non interactifs nécessitent `--env <name>`.

## Pièges courants

- **Ne committez jamais `~/.config/hulak/identity.txt`.** C'est votre clé privée. Mode 0600. Sauvegardez-la d'abord. Consultez [docs/store.md#identity-backup](https://github.com/xaaha/hulak/blob/main/docs/store.md#identity-backup).
- **Lors de `hulak init`, `-env` crée des fichiers d'environnement. C'est un indicateur de configuration, pas un sélecteur d'exécution.** `hulak init -env staging prod` génère deux environnements.
- **`env` est un alias de `secrets`.** `hulak env list` fonctionne comme `hulak secrets list`.
- **Les éditeurs GUI nécessitent une option d'attente pour `secrets edit`.** Utilisez `EDITOR="code -w"` ou `EDITOR="zed --wait"`. Sans cela, l'éditeur rend la main immédiatement et les modifications sont perdues.
- **Les conflits de fusion sur `store.age` nécessitent une procédure.** Consultez [docs/versioning.md#merge-conflicts](https://github.com/xaaha/hulak/blob/main/docs/versioning.md#merge-conflicts).

## Structure du projet

```text
my-project/
├── .hulak/
│   ├── store.age          # encrypted secrets (safe to commit)
│   └── recipients.txt     # public keys of recipients (safe to commit)
├── requests/
│   ├── create-user.hk.yaml
│   └── get-user.hk.yaml
└── (your project files)

~/.config/hulak/
└── identity.txt           # YOUR private key. NEVER commit. Mode 0600.
```

## Explorateur GraphQL

Démarrez l'explorateur avec un fichier ou un répertoire :

```bash
hulak gql e2etests/gql_schemas/countries.yml
hulak gql .
hulak gql -env staging ./collections/graphql
```

Consultez le guide complet dans [docs/graphql-explorer.md](https://github.com/xaaha/hulak/blob/main/docs/graphql-explorer.md).

## Documentation

Commencez ici pour la référence complète :

- [Coffre chiffré](https://github.com/xaaha/hulak/blob/main/docs/store.md). Modèle de chiffrement, partage en équipe, CI.
- [Migration vers le coffre](https://github.com/xaaha/hulak/blob/main/docs/migrating-to-vault.md). De `env/` vers `.hulak/`.
- [Versionner votre coffre](https://github.com/xaaha/hulak/blob/main/docs/versioning.md). Flux de travail Git pour les secrets.
- [Comparaison](https://github.com/xaaha/hulak/blob/main/docs/comparison.md). Hulak vs SOPS, Bruno et compagnie.
- [Corps de requête](https://github.com/xaaha/hulak/blob/main/docs/body.md)
- [Actions](https://github.com/xaaha/hulak/blob/main/docs/actions.md)
- [Secrets d'environnement (mode classic)](https://github.com/xaaha/hulak/blob/main/docs/environment.md)
- [Fichiers de réponse](https://github.com/xaaha/hulak/blob/main/docs/response.md)
- [Explorateur GraphQL](https://github.com/xaaha/hulak/blob/main/docs/graphql-explorer.md)
- [Auth 2.0](https://github.com/xaaha/hulak/blob/main/docs/auth20.md)
- [Serveur MCP](https://github.com/xaaha/hulak/blob/main/docs/mcp.md). Exposez vos requêtes aux agents IA.

Pour la surface de commandes en direct, exécutez :

```bash
hulak help
hulak <command> --help
```

## Prise en charge du schéma

Le schéma Hulak est disponible dans le [Schema Store](https://www.schemastore.org/), de sorte que les éditeurs prenant en charge le Schema Store peuvent activer automatiquement la complétion pour les fichiers `.hk.yaml` et `.hk.yml`.

Vous pouvez également pointer directement votre serveur de langage YAML vers :

```text
https://raw.githubusercontent.com/xaaha/hulak/refs/heads/main/assets/schema.json
```

## Contribuer

```bash
git clone https://github.com/xaaha/hulak.git
cd hulak
mise install
```

Consultez [CONTRIBUTING.md](https://github.com/xaaha/hulak/blob/main/CONTRIBUTING.md) pour le flux de développement complet.

## Soutenir le projet

Si Hulak vous est utile, ouvrez une issue, suggérez une fonctionnalité, envoyez une pull request ou sponsorisez le projet.
Télécharger l’outil