@tokentestai/ais 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +238 -0
- package/README.fr.md +238 -0
- package/README.ja.md +234 -0
- package/README.ko.md +234 -0
- package/README.md +234 -0
- package/dist/chunk-WVTDLVUU.js +1400 -0
- package/dist/chunk-WVTDLVUU.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +6145 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +547 -0
- package/dist/index.js +5784 -0
- package/dist/index.js.map +1 -0
- package/dist/postinstall.d.ts +27 -0
- package/dist/postinstall.js +54 -0
- package/dist/postinstall.js.map +1 -0
- package/package.json +62 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 labber
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.en.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
<p align="right">
|
|
2
|
+
<a href="./README.md">简体中文</a> | English | <a href="./README.ko.md">한국어</a> | <a href="./README.ja.md">日本語</a> | <a href="./README.fr.md">Français</a>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# AIS
|
|
6
|
+
|
|
7
|
+
> A local command-line tool you can install with a single `npm` command to help protect passwords, keys, and connection strings when using AI agents.
|
|
8
|
+
|
|
9
|
+
`AIS` is built around a simple goal:
|
|
10
|
+
|
|
11
|
+
- You can still hand secrets to AI so it can do real work
|
|
12
|
+
- The AI should see as little real secret data as possible
|
|
13
|
+
- Real secrets should be restored only on your own machine when they are actually needed
|
|
14
|
+
- The workflow should still succeed normally
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="./docs/images/readme-flow-en.jpg" alt="AIS workflow: a real password is replaced locally, the cloud AI only sees a placeholder token, and the real password is restored locally only when needed" width="100%" />
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## Install In One Line
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g @tokentestai/ais
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
After installation, the command name is `ais`.
|
|
27
|
+
|
|
28
|
+
Current status:
|
|
29
|
+
|
|
30
|
+
- Native support for `macOS` and `Linux`
|
|
31
|
+
- `Windows` support is still being expanded
|
|
32
|
+
- Native support for `Claude Code`, `Codex`, and `OpenClaw`
|
|
33
|
+
|
|
34
|
+
## What Problem Does It Solve?
|
|
35
|
+
|
|
36
|
+
More and more people now give website passwords, server passwords, database URLs, API keys, and other sensitive values to AI agents so the agents can log in, deploy, edit config files, fill forms, and run commands.
|
|
37
|
+
|
|
38
|
+
That is convenient, and it is clearly becoming part of everyday workflows.
|
|
39
|
+
|
|
40
|
+
But the problem is also obvious:
|
|
41
|
+
|
|
42
|
+
- If you give the AI the **real password in plain text**, that password may enter the AI-visible path
|
|
43
|
+
- Once the real password leaves your machine, it becomes much harder to control what logs, support systems, storage layers, or downstream services may touch it
|
|
44
|
+
- If you use official APIs or third-party API providers, those providers may still be in a technical position to observe request contents
|
|
45
|
+
|
|
46
|
+
`AIS` is trying to solve one thing:
|
|
47
|
+
|
|
48
|
+
**Do not let the real password leave your machine unless it absolutely has to.**
|
|
49
|
+
|
|
50
|
+
## The Easiest Way To Understand It
|
|
51
|
+
|
|
52
|
+
Suppose you ask an AI agent to log into a website for you, and the real password is:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
qwert123
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`AIS` first replaces it locally with a placeholder token such as:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
__SECRET_01__
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
At that point:
|
|
65
|
+
|
|
66
|
+
- the AI sees `__SECRET_01__`
|
|
67
|
+
- the AI provider sees `__SECRET_01__`
|
|
68
|
+
- the real `qwert123` is not directly sent out
|
|
69
|
+
|
|
70
|
+
Later, when the AI actually needs to perform the login on your machine, `AIS` locally restores:
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
__SECRET_01__ -> qwert123
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
So the website still receives the correct real password `qwert123`, and the task does not fail just because a protection layer was added.
|
|
77
|
+
|
|
78
|
+
## How It Works
|
|
79
|
+
|
|
80
|
+
The full process can be explained in 5 steps:
|
|
81
|
+
|
|
82
|
+
1. You give the AI a real password, key, or connection string so it can complete a task.
|
|
83
|
+
2. `AIS` detects that sensitive value locally and replaces it with a placeholder token.
|
|
84
|
+
3. When data goes to the cloud, the AI sees the placeholder token instead of the real value.
|
|
85
|
+
4. When the AI is actually executing a local command, filling a form, or writing config on your machine, `AIS` restores the real value locally.
|
|
86
|
+
5. The task still completes, but the real secret tries not to leave your machine.
|
|
87
|
+
|
|
88
|
+
In plain language:
|
|
89
|
+
|
|
90
|
+
- hide it locally before sending
|
|
91
|
+
- restore it locally only when actually needed
|
|
92
|
+
|
|
93
|
+
## Why We Built It
|
|
94
|
+
|
|
95
|
+
We are heavy users of `Claude Code`, `Codex`, and `OpenClaw` ourselves.
|
|
96
|
+
|
|
97
|
+
We believe people will continue giving AI agents more permissions, not fewer.
|
|
98
|
+
|
|
99
|
+
The question is not whether AI should help with real work.
|
|
100
|
+
|
|
101
|
+
The real question is:
|
|
102
|
+
|
|
103
|
+
**Can we give AI more authority without letting real passwords travel around in plain text?**
|
|
104
|
+
|
|
105
|
+
That is the reason `AIS` exists:
|
|
106
|
+
|
|
107
|
+
- local-first
|
|
108
|
+
- open source
|
|
109
|
+
- minimal friction
|
|
110
|
+
- focused on one practical layer of risk reduction
|
|
111
|
+
|
|
112
|
+
## What You Can Use It For
|
|
113
|
+
|
|
114
|
+
- Let an AI log into websites without sending the real website password to the cloud in plain text
|
|
115
|
+
- Let an AI operate servers without exposing the raw server password to outside model pipelines
|
|
116
|
+
- Let an AI write config files, call APIs, and run scripts without directly exposing keys and connection strings
|
|
117
|
+
- Keep the convenience of automation while reducing unnecessary secret exposure
|
|
118
|
+
|
|
119
|
+
## Quick Start
|
|
120
|
+
|
|
121
|
+
Create local config first:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
ais config
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
If you want to manually save a secret first:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
ais add github-token
|
|
131
|
+
ais add github-token ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Wrap `Claude Code`:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
ais claude
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Wrap `Codex`:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
ais -- codex --sandbox danger-full-access
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Wrap `OpenClaw`:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
ais -- openclaw <the arguments you would normally run>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Terminal UI
|
|
153
|
+
|
|
154
|
+
`AIS` also includes a terminal UI so you can:
|
|
155
|
+
|
|
156
|
+
- review which values were successfully protected
|
|
157
|
+
- mark some values as “do not protect”
|
|
158
|
+
- inspect and adjust local behavior
|
|
159
|
+
|
|
160
|
+
Open it with:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
ais ais
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
For example:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
ais ais exclude <id>
|
|
170
|
+
ais ais exclude-type PASSWORD
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Why “Local-Only” Matters
|
|
174
|
+
|
|
175
|
+
The point is not to make secrets look prettier.
|
|
176
|
+
|
|
177
|
+
The point is this:
|
|
178
|
+
|
|
179
|
+
**real passwords should stay on your machine whenever possible.**
|
|
180
|
+
|
|
181
|
+
If the real password still needs to travel out, you still lose direct control over what may happen later.
|
|
182
|
+
|
|
183
|
+
`AIS` is trying to keep the most important steps local:
|
|
184
|
+
|
|
185
|
+
- local detection
|
|
186
|
+
- local replacement
|
|
187
|
+
- local restoration
|
|
188
|
+
- local execution
|
|
189
|
+
|
|
190
|
+
## Current Limits
|
|
191
|
+
|
|
192
|
+
We do not present this as a magical security tool.
|
|
193
|
+
|
|
194
|
+
It is useful, but it does not solve everything.
|
|
195
|
+
|
|
196
|
+
Important limits:
|
|
197
|
+
|
|
198
|
+
- If your local machine is already compromised, this will not save you
|
|
199
|
+
- It is not a permission system and does not replace least privilege, auditing, or isolation
|
|
200
|
+
- If a placeholder token is split, transformed, or rewritten, restoration may fail in some cases
|
|
201
|
+
- If a tool chain completely bypasses the locally visible layers, protection may be limited
|
|
202
|
+
|
|
203
|
+
So the accurate claim is:
|
|
204
|
+
|
|
205
|
+
`AIS` helps **reduce the chance that real secrets leave your machine**, but it does not mean “everything is safe forever.”
|
|
206
|
+
|
|
207
|
+
## Who Is It For?
|
|
208
|
+
|
|
209
|
+
- People who already use AI agents for real operational work
|
|
210
|
+
- People who want to give AI more authority but do not want plain-text passwords floating around
|
|
211
|
+
- People using official APIs or third-party API providers who want one more local layer of control
|
|
212
|
+
- People who want better automation without a large usability penalty
|
|
213
|
+
|
|
214
|
+
## Local Validation
|
|
215
|
+
|
|
216
|
+
If you want to validate the current version locally:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm install
|
|
220
|
+
npm run lint
|
|
221
|
+
npm run build
|
|
222
|
+
npm run test
|
|
223
|
+
npm run typecheck
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Open Source
|
|
227
|
+
|
|
228
|
+
This is a local-first open source tool.
|
|
229
|
+
|
|
230
|
+
It is not trying to replace every part of your security model.
|
|
231
|
+
|
|
232
|
+
It is trying to fix one of the most common and practical problems in modern AI workflows:
|
|
233
|
+
|
|
234
|
+
**if you must give a password to AI, do not send the real password out in plain text first.**
|
|
235
|
+
|
|
236
|
+
## License
|
|
237
|
+
|
|
238
|
+
MIT
|
package/README.fr.md
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
<p align="right">
|
|
2
|
+
<a href="./README.md">简体中文</a> | <a href="./README.en.md">English</a> | <a href="./README.ko.md">한국어</a> | <a href="./README.ja.md">日本語</a> | Français
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# AIS
|
|
6
|
+
|
|
7
|
+
> Un outil en ligne de commande que vous pouvez installer avec une seule commande `npm`, et qui aide à protéger mots de passe, clés et chaînes de connexion pour les agents IA, tout en fonctionnant **entièrement en local**.
|
|
8
|
+
|
|
9
|
+
L’objectif de `AIS` est simple :
|
|
10
|
+
|
|
11
|
+
- vous pouvez continuer à confier un vrai travail à une IA
|
|
12
|
+
- l’IA doit voir le moins possible les vrais secrets
|
|
13
|
+
- les vrais secrets ne sont restaurés que sur votre propre machine, au moment exact où ils sont nécessaires
|
|
14
|
+
- le workflow doit quand même réussir normalement
|
|
15
|
+
|
|
16
|
+
<p align="center">
|
|
17
|
+
<img src="./docs/images/readme-flow-fr.jpg" alt="Fonctionnement d’AIS : le vrai mot de passe est d’abord remplacé localement par un jeton, l’IA dans le cloud ne voit que ce jeton, puis le vrai mot de passe est restauré localement uniquement au moment nécessaire" width="100%" />
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## Installation En Une Ligne
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g @tokentestai/ais
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Après installation, la commande à utiliser est `ais`.
|
|
27
|
+
|
|
28
|
+
État actuel :
|
|
29
|
+
|
|
30
|
+
- prise en charge native de `macOS` et `Linux`
|
|
31
|
+
- prise en charge de `Windows` encore en cours
|
|
32
|
+
- prise en charge native de `Claude Code`, `Codex` et `OpenClaw`
|
|
33
|
+
|
|
34
|
+
## Quel Problème Est Résolu ?
|
|
35
|
+
|
|
36
|
+
De plus en plus de personnes donnent à des agents IA des mots de passe de sites, des mots de passe serveur, des chaînes de connexion de base de données, des clés API et d’autres informations sensibles pour que l’agent puisse se connecter, déployer, remplir des formulaires ou lancer des commandes.
|
|
37
|
+
|
|
38
|
+
C’est pratique, et cela devient clairement une tendance de fond.
|
|
39
|
+
|
|
40
|
+
Mais le problème est évident :
|
|
41
|
+
|
|
42
|
+
- si vous donnez à l’IA le **vrai mot de passe en clair**, cette donnée peut entrer dans un chemin visible par l’IA
|
|
43
|
+
- dès que le vrai mot de passe quitte votre machine, il devient beaucoup plus difficile de contrôler quels journaux, systèmes de support, couches de stockage ou services en aval peuvent y avoir accès
|
|
44
|
+
- que vous utilisiez des API officielles ou des fournisseurs d’API tiers, ces acteurs peuvent techniquement se trouver dans une position leur permettant d’observer le contenu des requêtes
|
|
45
|
+
|
|
46
|
+
`AIS` essaie de résoudre une chose :
|
|
47
|
+
|
|
48
|
+
**éviter que le vrai mot de passe quitte votre machine sans nécessité.**
|
|
49
|
+
|
|
50
|
+
## La Façon La Plus Simple De Le Comprendre
|
|
51
|
+
|
|
52
|
+
Supposons que vous demandiez à une IA de se connecter à un site pour vous, et que le vrai mot de passe soit :
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
qwert123
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`AIS` le remplace d’abord localement par un jeton de substitution comme :
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
__SECRET_01__
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
À partir de là :
|
|
65
|
+
|
|
66
|
+
- l’IA voit `__SECRET_01__`
|
|
67
|
+
- le fournisseur de service IA voit aussi `__SECRET_01__`
|
|
68
|
+
- le vrai `qwert123` n’est pas envoyé directement
|
|
69
|
+
|
|
70
|
+
Ensuite, lorsque l’IA doit réellement exécuter l’action de connexion sur votre machine, `AIS` restaure localement :
|
|
71
|
+
|
|
72
|
+
```text
|
|
73
|
+
__SECRET_01__ -> qwert123
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Ainsi, le site reçoit toujours le bon mot de passe réel `qwert123`, et la tâche ne rate pas simplement parce qu’une couche de protection a été ajoutée.
|
|
77
|
+
|
|
78
|
+
## Comment Ça Marche
|
|
79
|
+
|
|
80
|
+
Le processus complet peut se résumer en 5 étapes :
|
|
81
|
+
|
|
82
|
+
1. Vous donnez à l’IA un vrai mot de passe, une clé ou une chaîne de connexion pour qu’elle accomplisse une tâche.
|
|
83
|
+
2. `AIS` détecte localement cette donnée sensible et la remplace par un jeton.
|
|
84
|
+
3. Lorsque les données partent vers le cloud, l’IA ne voit que le jeton, pas la vraie valeur.
|
|
85
|
+
4. Quand l’IA exécute réellement une commande locale, remplit un formulaire ou écrit une configuration sur votre machine, `AIS` restaure localement la vraie valeur.
|
|
86
|
+
5. La tâche se termine normalement, mais le vrai secret essaie de ne pas quitter votre machine.
|
|
87
|
+
|
|
88
|
+
En version très simple :
|
|
89
|
+
|
|
90
|
+
- on masque localement avant l’envoi
|
|
91
|
+
- on restaure localement seulement au moment utile
|
|
92
|
+
|
|
93
|
+
## Pourquoi Nous L’avons Créé
|
|
94
|
+
|
|
95
|
+
Nous sommes nous-mêmes de gros utilisateurs de `Claude Code`, `Codex` et `OpenClaw`.
|
|
96
|
+
|
|
97
|
+
Nous pensons que les utilisateurs vont continuer à donner plus de permissions aux agents IA, pas moins.
|
|
98
|
+
|
|
99
|
+
La vraie question n’est pas de savoir si l’IA doit aider à faire le travail.
|
|
100
|
+
|
|
101
|
+
La vraie question est :
|
|
102
|
+
|
|
103
|
+
**peut-on confier davantage à l’IA sans laisser les vrais mots de passe circuler en clair ?**
|
|
104
|
+
|
|
105
|
+
C’est exactement pour cela que `AIS` existe :
|
|
106
|
+
|
|
107
|
+
- local-first
|
|
108
|
+
- open source
|
|
109
|
+
- friction minimale
|
|
110
|
+
- focalisé sur une couche concrète de réduction du risque
|
|
111
|
+
|
|
112
|
+
## Cas D’usage
|
|
113
|
+
|
|
114
|
+
- laisser une IA se connecter à des sites sans envoyer le vrai mot de passe du site en clair vers le cloud
|
|
115
|
+
- laisser une IA opérer des serveurs sans exposer le mot de passe serveur brut à des pipelines de modèles externes
|
|
116
|
+
- laisser une IA écrire des configs, appeler des API et lancer des scripts sans exposer directement clés et chaînes de connexion
|
|
117
|
+
- conserver le confort de l’automatisation tout en réduisant l’exposition inutile des secrets
|
|
118
|
+
|
|
119
|
+
## Démarrage Rapide
|
|
120
|
+
|
|
121
|
+
Créez d’abord la configuration locale :
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
ais config
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Si vous voulez enregistrer un secret manuellement :
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
ais add github-token
|
|
131
|
+
ais add github-token ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Lancer `Claude Code` avec protection :
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
ais claude
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Lancer `Codex` avec protection :
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
ais -- codex --sandbox danger-full-access
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Lancer `OpenClaw` avec protection :
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
ais -- openclaw <les arguments que vous utilisez normalement>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Interface Terminal
|
|
153
|
+
|
|
154
|
+
`AIS` inclut aussi une interface terminal qui permet de :
|
|
155
|
+
|
|
156
|
+
- voir quelles valeurs ont bien été protégées
|
|
157
|
+
- marquer certaines valeurs comme “ne pas protéger”
|
|
158
|
+
- inspecter et ajuster le comportement local
|
|
159
|
+
|
|
160
|
+
Ouvrir l’interface :
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
ais ais
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Par exemple :
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
ais ais exclude <id>
|
|
170
|
+
ais ais exclude-type PASSWORD
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Pourquoi Le “Tout En Local” Est Important
|
|
174
|
+
|
|
175
|
+
Le point n’est pas d’afficher les secrets d’une manière plus élégante.
|
|
176
|
+
|
|
177
|
+
Le vrai point est le suivant :
|
|
178
|
+
|
|
179
|
+
**les vrais mots de passe doivent rester sur votre machine autant que possible.**
|
|
180
|
+
|
|
181
|
+
Si le vrai mot de passe continue à sortir de votre machine, vous perdez le contrôle direct de ce qui peut arriver ensuite.
|
|
182
|
+
|
|
183
|
+
`AIS` essaie donc de garder les étapes critiques en local :
|
|
184
|
+
|
|
185
|
+
- détection locale
|
|
186
|
+
- remplacement local
|
|
187
|
+
- restauration locale
|
|
188
|
+
- exécution locale
|
|
189
|
+
|
|
190
|
+
## Limites Actuelles
|
|
191
|
+
|
|
192
|
+
Nous ne présentons pas cet outil comme une solution magique.
|
|
193
|
+
|
|
194
|
+
Il est utile, mais il ne résout pas tout.
|
|
195
|
+
|
|
196
|
+
Quelques limites importantes :
|
|
197
|
+
|
|
198
|
+
- si votre machine locale est déjà compromise, cet outil ne suffira pas
|
|
199
|
+
- ce n’est pas un système de permissions, et il ne remplace pas le moindre privilège, l’audit ou l’isolation
|
|
200
|
+
- si un jeton est découpé, transformé ou réécrit, la restauration peut échouer dans certains cas
|
|
201
|
+
- si une chaîne d’outils contourne complètement les couches visibles localement, la protection peut être limitée
|
|
202
|
+
|
|
203
|
+
La bonne formulation est donc :
|
|
204
|
+
|
|
205
|
+
`AIS` aide à **réduire la probabilité que les vrais secrets quittent votre machine**, mais cela ne veut pas dire “tout est désormais parfaitement sûr”.
|
|
206
|
+
|
|
207
|
+
## À Qui S’adresse-t-il ?
|
|
208
|
+
|
|
209
|
+
- aux personnes qui utilisent déjà des agents IA pour des tâches réelles
|
|
210
|
+
- aux personnes qui veulent donner plus d’autonomie à l’IA sans laisser circuler des mots de passe en clair
|
|
211
|
+
- aux personnes qui utilisent des API officielles ou des fournisseurs d’API tiers et veulent ajouter une couche locale de contrôle
|
|
212
|
+
- aux personnes qui veulent plus d’automatisation sans trop sacrifier l’ergonomie
|
|
213
|
+
|
|
214
|
+
## Validation Locale
|
|
215
|
+
|
|
216
|
+
Si vous voulez valider la version actuelle en local :
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
npm install
|
|
220
|
+
npm run lint
|
|
221
|
+
npm run build
|
|
222
|
+
npm run test
|
|
223
|
+
npm run typecheck
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Open Source
|
|
227
|
+
|
|
228
|
+
Il s’agit d’un outil open source, pensé d’abord pour le local.
|
|
229
|
+
|
|
230
|
+
Il ne cherche pas à remplacer toute votre stratégie de sécurité.
|
|
231
|
+
|
|
232
|
+
Il cherche à corriger une faiblesse très courante et très concrète dans les workflows IA modernes :
|
|
233
|
+
|
|
234
|
+
**si vous devez donner un mot de passe à une IA, ne commencez pas par envoyer le vrai mot de passe en clair.**
|
|
235
|
+
|
|
236
|
+
## Licence
|
|
237
|
+
|
|
238
|
+
MIT
|