straylight-ai 0.5.0 → 1.0.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/README.md +42 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,11 +22,19 @@ This will:
|
|
|
22
22
|
|
|
23
23
|
## Add a Service
|
|
24
24
|
|
|
25
|
-
1. Open http://localhost:9470
|
|
26
|
-
2. Click
|
|
25
|
+
1. Open http://localhost:9470 and go to **Services**
|
|
26
|
+
2. Click **Add Service**
|
|
27
27
|
3. Select a template (GitHub, Stripe, OpenAI, AWS, and more) or create a custom service
|
|
28
28
|
4. Paste your API key — it goes straight into the encrypted vault
|
|
29
29
|
|
|
30
|
+
## Web Dashboard
|
|
31
|
+
|
|
32
|
+
The dashboard at http://localhost:9470 has three pages:
|
|
33
|
+
|
|
34
|
+
- **Dashboard** — Live system metrics: health status, vault state, uptime, API call counts, credential access stats, audit event breakdown, service status overview, and recent activity feed. Polls every 15 seconds.
|
|
35
|
+
- **Services** — Add, configure, and manage your service credentials. Supports 16+ templates with multiple auth methods per service.
|
|
36
|
+
- **Help** — Searchable user guide with getting started steps, key concepts, MCP tools reference, supported services directory, FAQ, and troubleshooting.
|
|
37
|
+
|
|
30
38
|
## Connect to Your AI Coding Assistant
|
|
31
39
|
|
|
32
40
|
### Claude Code
|
|
@@ -49,7 +57,6 @@ Any MCP-compatible AI coding assistant works. The MCP server speaks the standard
|
|
|
49
57
|
| `npx straylight-ai start` | Start the container |
|
|
50
58
|
| `npx straylight-ai stop` | Stop the container |
|
|
51
59
|
| `npx straylight-ai status` | Check health and service status |
|
|
52
|
-
| `npx straylight-ai logs` | View container logs |
|
|
53
60
|
|
|
54
61
|
## MCP Tools
|
|
55
62
|
|
|
@@ -59,8 +66,8 @@ Once registered, your AI coding assistant has access to:
|
|
|
59
66
|
|------|-------------|
|
|
60
67
|
| `straylight_api_call` | Make an authenticated HTTP request. Credentials injected automatically. |
|
|
61
68
|
| `straylight_exec` | Run a command with credentials as environment variables. Output sanitized. |
|
|
62
|
-
| `straylight_db_query` | Query a database with dynamic temporary credentials. |
|
|
63
|
-
| `straylight_scan` | Scan project files for exposed secrets. |
|
|
69
|
+
| `straylight_db_query` | Query a database with dynamic temporary credentials that auto-expire. |
|
|
70
|
+
| `straylight_scan` | Scan project files for exposed secrets across 14 pattern categories. |
|
|
64
71
|
| `straylight_read_file` | Read a file with secrets automatically redacted. |
|
|
65
72
|
| `straylight_check` | Check whether a credential is available for a service. |
|
|
66
73
|
| `straylight_services` | List all configured services and their status. |
|
|
@@ -81,20 +88,19 @@ Your AI assistant calls a Straylight MCP tool. The container fetches the credent
|
|
|
81
88
|
|
|
82
89
|
## Database Credentials
|
|
83
90
|
|
|
84
|
-
Configure a database once
|
|
91
|
+
Configure a database once on the Services page. When your AI coding assistant needs data, it calls `straylight_db_query` — Straylight provisions a temporary database user, runs the query, and returns the results. The AI never sees the password.
|
|
85
92
|
|
|
86
93
|
```
|
|
87
94
|
// AI calls:
|
|
88
95
|
straylight_db_query(service="my-postgres", query="SELECT id, name FROM users LIMIT 10")
|
|
89
96
|
```
|
|
90
97
|
|
|
91
|
-
- Credentials are read-only by default and auto-expire (5
|
|
98
|
+
- Credentials are read-only by default and auto-expire (5-15 min TTL)
|
|
92
99
|
- Supported: PostgreSQL, MySQL/MariaDB, Redis
|
|
93
|
-
- [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/database-credentials)
|
|
94
100
|
|
|
95
101
|
## Cloud Credentials
|
|
96
102
|
|
|
97
|
-
Configure an AWS, GCP, or Azure account
|
|
103
|
+
Configure an AWS, GCP, or Azure account on the Services page. When the AI needs to run a cloud CLI command, it calls `straylight_exec` with a named service — Straylight generates short-lived temporary credentials, injects them as environment variables, and returns the sanitized output.
|
|
98
104
|
|
|
99
105
|
```
|
|
100
106
|
// AI calls:
|
|
@@ -104,7 +110,6 @@ straylight_exec(service="aws-prod", command="aws s3 ls s3://my-bucket")
|
|
|
104
110
|
- AWS: STS AssumeRole with inline session policies
|
|
105
111
|
- GCP: Workload Identity Federation tokens
|
|
106
112
|
- Azure: short-lived access tokens
|
|
107
|
-
- [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/cloud-credentials)
|
|
108
113
|
|
|
109
114
|
## Secret Scanner
|
|
110
115
|
|
|
@@ -117,7 +122,6 @@ straylight_scan(path="/home/user/my-project")
|
|
|
117
122
|
|
|
118
123
|
- Detects AWS keys, GitHub PATs, Stripe keys, connection strings, private keys, and more
|
|
119
124
|
- Returns file paths, line numbers, secret types, and severity
|
|
120
|
-
- [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/secret-scanner)
|
|
121
125
|
|
|
122
126
|
## File Firewall
|
|
123
127
|
|
|
@@ -131,16 +135,15 @@ straylight_read_file(path="docker-compose.yml")
|
|
|
131
135
|
|
|
132
136
|
- Blocked file patterns: `.env*`, `*credentials*`, `*secret*`, `*.pem`, SSH keys
|
|
133
137
|
- Legitimate files served clean — structure intact, secrets masked
|
|
134
|
-
- [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/file-firewall)
|
|
135
138
|
|
|
136
139
|
## Audit Trail
|
|
137
140
|
|
|
138
141
|
Every credential access, API call, and command execution is logged with a timestamp, service name, tool used, and session ID. No credentials appear in the log.
|
|
139
142
|
|
|
140
|
-
View the audit
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
143
|
+
View the audit feed on the Dashboard page at http://localhost:9470, including:
|
|
144
|
+
- Event counts by type and by service
|
|
145
|
+
- Credential access frequency
|
|
146
|
+
- Recent activity with tool and request details
|
|
144
147
|
|
|
145
148
|
## Supported Services
|
|
146
149
|
|
|
@@ -152,7 +155,10 @@ View the audit log in the dashboard at http://localhost:9470 or query it via the
|
|
|
152
155
|
- **Transport-layer injection** — credentials never exposed to the AI
|
|
153
156
|
- **Output sanitization** — credential patterns stripped from all responses
|
|
154
157
|
- **Dynamic database credentials** — temporary users with automatic revocation
|
|
155
|
-
- **
|
|
158
|
+
- **Temporary cloud credentials** — AWS STS, GCP, Azure tokens generated per invocation
|
|
159
|
+
- **Non-root container** — UID 10001, minimal Alpine 3.23 image
|
|
160
|
+
- **Go 1.25.8** — all stdlib CVEs patched
|
|
161
|
+
- **OpenBao 2.5.2** — all known CVEs patched
|
|
156
162
|
|
|
157
163
|
## Optional: Claude Code Hooks
|
|
158
164
|
|
|
@@ -173,10 +179,28 @@ For extra protection, add hooks that block credential-accessing commands and san
|
|
|
173
179
|
}
|
|
174
180
|
```
|
|
175
181
|
|
|
182
|
+
## FAQ
|
|
183
|
+
|
|
184
|
+
**Does my AI coding assistant ever see my credentials?**
|
|
185
|
+
No. Credentials stay inside the vault. The proxy injects them into HTTP requests. The AI only receives the API response, which is also sanitized for credential patterns.
|
|
186
|
+
|
|
187
|
+
**What happens if I restart the container?**
|
|
188
|
+
Credentials persist in the named Docker volume `straylight-ai-data`. The container re-unseals the vault and is operational within seconds.
|
|
189
|
+
|
|
190
|
+
**Can I use services not on the template list?**
|
|
191
|
+
Yes. Select "Custom Service" and provide the base URL and auth method.
|
|
192
|
+
|
|
193
|
+
**Does this work offline?**
|
|
194
|
+
Yes. Straylight runs entirely on your machine. You only need network access to reach the target APIs themselves.
|
|
195
|
+
|
|
196
|
+
**Is there a cloud/hosted version?**
|
|
197
|
+
No. Straylight is local-only by design. Your credentials never leave your machine.
|
|
198
|
+
|
|
176
199
|
## Links
|
|
177
200
|
|
|
178
201
|
- [Documentation](https://aj-geddes.github.io/straylight-ai/docs/quickstart)
|
|
179
202
|
- [GitHub](https://github.com/aj-geddes/straylight-ai)
|
|
203
|
+
- [Changelog](https://github.com/aj-geddes/straylight-ai/blob/main/CHANGELOG.md)
|
|
180
204
|
- [Issues](https://github.com/aj-geddes/straylight-ai/issues)
|
|
181
205
|
|
|
182
206
|
## License
|
|
@@ -185,4 +209,4 @@ Apache-2.0
|
|
|
185
209
|
|
|
186
210
|
---
|
|
187
211
|
|
|
188
|
-
Built by [High Velocity Solutions LLC](https://highvelocitysolutions.com)
|
|
212
|
+
Built by [High Velocity Solutions LLC](https://highvelocitysolutions-llc.com)
|