bilt-toolkit 1.0.0 → 1.0.2
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/bin/bilt.js +1 -1
- package/dist/cli.js +62 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +113 -52
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/fix.d.ts +1 -1
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +211 -64
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +15 -13
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/scan.d.ts +6 -9
- package/dist/commands/scan.d.ts.map +1 -1
- package/dist/commands/scan.js +326 -206
- package/dist/commands/scan.js.map +1 -1
- package/dist/commands/undo.d.ts +3 -1
- package/dist/commands/undo.d.ts.map +1 -1
- package/dist/commands/undo.js +32 -14
- package/dist/commands/undo.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +17 -8
- package/dist/commands/watch.js.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +10 -0
- package/dist/config/config.js.map +1 -1
- package/dist/core/fix/confirm.d.ts +1 -1
- package/dist/core/fix/confirm.d.ts.map +1 -1
- package/dist/core/fix/confirm.js +4 -2
- package/dist/core/fix/confirm.js.map +1 -1
- package/dist/core/fix/git.d.ts +6 -0
- package/dist/core/fix/git.d.ts.map +1 -0
- package/dist/core/fix/git.js +45 -0
- package/dist/core/fix/git.js.map +1 -0
- package/dist/core/fix/snapshot.d.ts.map +1 -1
- package/dist/core/fix/snapshot.js +68 -1
- package/dist/core/fix/snapshot.js.map +1 -1
- package/dist/core/rules/providers.d.ts +2 -1
- package/dist/core/rules/providers.d.ts.map +1 -1
- package/dist/core/rules/providers.js +91 -0
- package/dist/core/rules/providers.js.map +1 -1
- package/dist/core/rules/secret-rules.d.ts.map +1 -1
- package/dist/core/rules/secret-rules.js +82 -3
- package/dist/core/rules/secret-rules.js.map +1 -1
- package/dist/core/scan/env.d.ts.map +1 -1
- package/dist/core/scan/env.js +15 -1
- package/dist/core/scan/env.js.map +1 -1
- package/dist/core/scan/secrets.d.ts.map +1 -1
- package/dist/core/scan/secrets.js +49 -4
- package/dist/core/scan/secrets.js.map +1 -1
- package/dist/core/scan/verifiers/aws.d.ts +4 -0
- package/dist/core/scan/verifiers/aws.d.ts.map +1 -0
- package/dist/core/scan/verifiers/aws.js +98 -0
- package/dist/core/scan/verifiers/aws.js.map +1 -0
- package/dist/core/scan/verifiers/github.d.ts +4 -0
- package/dist/core/scan/verifiers/github.d.ts.map +1 -0
- package/dist/core/scan/verifiers/github.js +23 -0
- package/dist/core/scan/verifiers/github.js.map +1 -0
- package/dist/core/scan/verifiers/index.d.ts +7 -0
- package/dist/core/scan/verifiers/index.d.ts.map +1 -0
- package/dist/core/scan/verifiers/index.js +15 -0
- package/dist/core/scan/verifiers/index.js.map +1 -0
- package/dist/core/scan/verifiers/openai.d.ts +4 -0
- package/dist/core/scan/verifiers/openai.d.ts.map +1 -0
- package/dist/core/scan/verifiers/openai.js +22 -0
- package/dist/core/scan/verifiers/openai.js.map +1 -0
- package/dist/core/scan/verifiers/slack.d.ts +4 -0
- package/dist/core/scan/verifiers/slack.d.ts.map +1 -0
- package/dist/core/scan/verifiers/slack.js +28 -0
- package/dist/core/scan/verifiers/slack.js.map +1 -0
- package/dist/core/scan/verifiers/stripe.d.ts +4 -0
- package/dist/core/scan/verifiers/stripe.d.ts.map +1 -0
- package/dist/core/scan/verifiers/stripe.js +22 -0
- package/dist/core/scan/verifiers/stripe.js.map +1 -0
- package/dist/core/scan/verifiers/supabase.d.ts +4 -0
- package/dist/core/scan/verifiers/supabase.d.ts.map +1 -0
- package/dist/core/scan/verifiers/supabase.js +35 -0
- package/dist/core/scan/verifiers/supabase.js.map +1 -0
- package/dist/core/score/health.d.ts.map +1 -1
- package/dist/core/score/health.js +1 -0
- package/dist/core/score/health.js.map +1 -1
- package/dist/core/watch/watcher.d.ts +4 -1
- package/dist/core/watch/watcher.d.ts.map +1 -1
- package/dist/core/watch/watcher.js +4 -2
- package/dist/core/watch/watcher.js.map +1 -1
- package/dist/types/index.d.ts +55 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/format.d.ts +22 -12
- package/dist/ui/format.d.ts.map +1 -1
- package/dist/ui/format.js +223 -74
- package/dist/ui/format.js.map +1 -1
- package/dist/ui/reporter.d.ts +18 -15
- package/dist/ui/reporter.d.ts.map +1 -1
- package/dist/ui/reporter.js +142 -182
- package/dist/ui/reporter.js.map +1 -1
- package/dist/ui/sound.d.ts +6 -0
- package/dist/ui/sound.d.ts.map +1 -0
- package/dist/ui/sound.js +13 -0
- package/dist/ui/sound.js.map +1 -0
- package/dist/ui/theme.d.ts +67 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +252 -0
- package/dist/ui/theme.js.map +1 -0
- package/package.json +6 -3
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
// Maps cloud / SaaS providers to their credential-management pages
|
|
4
4
|
// so that Bilt can tell developers exactly where to rotate a leaked key.
|
|
5
5
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
import { readFileSync, readdirSync } from "node:fs";
|
|
7
|
+
import { dirname, join } from "node:path";
|
|
8
|
+
import { fileURLToPath } from "node:url";
|
|
9
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
10
|
// ─── Provider Definitions ────────────────────────────────────────────────────
|
|
7
11
|
const aws = {
|
|
8
12
|
name: "aws",
|
|
@@ -95,6 +99,55 @@ const digitalocean = {
|
|
|
95
99
|
rotationUrl: "https://cloud.digitalocean.com/account/api/tokens",
|
|
96
100
|
docsUrl: "https://docs.digitalocean.com/reference/api/create-personal-access-token/",
|
|
97
101
|
};
|
|
102
|
+
const anthropic = {
|
|
103
|
+
name: "anthropic",
|
|
104
|
+
displayName: "Anthropic",
|
|
105
|
+
icon: "🧠",
|
|
106
|
+
rotationUrl: "https://console.anthropic.com/settings/keys",
|
|
107
|
+
docsUrl: "https://docs.anthropic.com/en/api/getting-started",
|
|
108
|
+
};
|
|
109
|
+
const vercel = {
|
|
110
|
+
name: "vercel",
|
|
111
|
+
displayName: "Vercel",
|
|
112
|
+
icon: "▲",
|
|
113
|
+
rotationUrl: "https://vercel.com/account/tokens",
|
|
114
|
+
docsUrl: "https://vercel.com/docs/rest-api/openapi",
|
|
115
|
+
};
|
|
116
|
+
const resend = {
|
|
117
|
+
name: "resend",
|
|
118
|
+
displayName: "Resend",
|
|
119
|
+
icon: "✉️",
|
|
120
|
+
rotationUrl: "https://resend.com/api-keys",
|
|
121
|
+
docsUrl: "https://resend.com/docs/dashboard/api-keys/introduction",
|
|
122
|
+
};
|
|
123
|
+
const clerk = {
|
|
124
|
+
name: "clerk",
|
|
125
|
+
displayName: "Clerk",
|
|
126
|
+
icon: "🔑",
|
|
127
|
+
rotationUrl: "https://dashboard.clerk.com/",
|
|
128
|
+
docsUrl: "https://clerk.com/docs/backend-requests/handling/overview",
|
|
129
|
+
};
|
|
130
|
+
const firebase = {
|
|
131
|
+
name: "firebase",
|
|
132
|
+
displayName: "Firebase",
|
|
133
|
+
icon: "🔥",
|
|
134
|
+
rotationUrl: "https://console.firebase.google.com/",
|
|
135
|
+
docsUrl: "https://firebase.google.com/docs/admin/setup",
|
|
136
|
+
};
|
|
137
|
+
const mongodb = {
|
|
138
|
+
name: "mongodb",
|
|
139
|
+
displayName: "MongoDB",
|
|
140
|
+
icon: "🍃",
|
|
141
|
+
rotationUrl: "https://cloud.mongodb.com/",
|
|
142
|
+
docsUrl: "https://www.mongodb.com/docs/manual/reference/connection-string/",
|
|
143
|
+
};
|
|
144
|
+
const postgres = {
|
|
145
|
+
name: "postgres",
|
|
146
|
+
displayName: "PostgreSQL",
|
|
147
|
+
icon: "🐘",
|
|
148
|
+
rotationUrl: "",
|
|
149
|
+
docsUrl: "https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING",
|
|
150
|
+
};
|
|
98
151
|
// ─── Provider Map ────────────────────────────────────────────────────────────
|
|
99
152
|
export const PROVIDER_MAP = new Map([
|
|
100
153
|
["aws", aws],
|
|
@@ -110,6 +163,13 @@ export const PROVIDER_MAP = new Map([
|
|
|
110
163
|
["mailchimp", mailchimp],
|
|
111
164
|
["heroku", heroku],
|
|
112
165
|
["digitalocean", digitalocean],
|
|
166
|
+
["anthropic", anthropic],
|
|
167
|
+
["vercel", vercel],
|
|
168
|
+
["resend", resend],
|
|
169
|
+
["clerk", clerk],
|
|
170
|
+
["firebase", firebase],
|
|
171
|
+
["mongodb", mongodb],
|
|
172
|
+
["postgres", postgres],
|
|
113
173
|
]);
|
|
114
174
|
// ─── Value-based detection heuristics ────────────────────────────────────────
|
|
115
175
|
// Maps a substring / prefix found in the matched value to a provider name.
|
|
@@ -155,6 +215,15 @@ const RULE_ID_PROVIDER = {
|
|
|
155
215
|
"mailchimp-api-key": "mailchimp",
|
|
156
216
|
"heroku-api-key": "heroku",
|
|
157
217
|
"digitalocean-token": "digitalocean",
|
|
218
|
+
"anthropic-api-key": "anthropic",
|
|
219
|
+
"vercel-token": "vercel",
|
|
220
|
+
"resend-api-key": "resend",
|
|
221
|
+
"clerk-secret-key": "clerk",
|
|
222
|
+
"firebase-service-key": "firebase",
|
|
223
|
+
"mongodb-uri": "mongodb",
|
|
224
|
+
"postgres-uri": "postgres",
|
|
225
|
+
"supabase-service-role": "supabase",
|
|
226
|
+
"supabase-anon-key": "supabase",
|
|
158
227
|
};
|
|
159
228
|
// ─── Public API ──────────────────────────────────────────────────────────────
|
|
160
229
|
/**
|
|
@@ -181,4 +250,26 @@ export function detectProvider(value, matchedRuleId) {
|
|
|
181
250
|
}
|
|
182
251
|
return undefined;
|
|
183
252
|
}
|
|
253
|
+
// ─── Provider Knowledge Loader ───────────────────────────────────────────────
|
|
254
|
+
let knowledgeCache = null;
|
|
255
|
+
export function getProviderKnowledge(ruleId) {
|
|
256
|
+
if (!knowledgeCache) {
|
|
257
|
+
knowledgeCache = {};
|
|
258
|
+
try {
|
|
259
|
+
const knowledgeDir = join(__dirname, "knowledge");
|
|
260
|
+
const files = readdirSync(knowledgeDir);
|
|
261
|
+
for (const file of files) {
|
|
262
|
+
if (file.endsWith(".json")) {
|
|
263
|
+
const content = readFileSync(join(knowledgeDir, file), "utf-8");
|
|
264
|
+
const key = file.replace(/\.json$/, "");
|
|
265
|
+
knowledgeCache[key] = JSON.parse(content);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
// Ignore if directory doesn't exist or permissions error
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return knowledgeCache[ruleId];
|
|
274
|
+
}
|
|
184
275
|
//# sourceMappingURL=providers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/core/rules/providers.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,mEAAmE;AACnE,yEAAyE;AACzE,gFAAgF;
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../../src/core/rules/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-rules.d.ts","sourceRoot":"","sources":["../../../src/core/rules/secret-rules.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"secret-rules.d.ts","sourceRoot":"","sources":["../../../src/core/rules/secret-rules.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,UAAU,EA2SpC,CAAC"}
|
|
@@ -49,7 +49,7 @@ export const SECRET_RULES = [
|
|
|
49
49
|
{
|
|
50
50
|
id: "stripe-publishable-key",
|
|
51
51
|
name: "Stripe Publishable Key",
|
|
52
|
-
pattern: /pk_(live|test)_[a-zA-Z0-9]{24,}/g,
|
|
52
|
+
pattern: /pk_(?:live|test)_[a-zA-Z0-9]{24,}/g,
|
|
53
53
|
provider: "stripe",
|
|
54
54
|
severity: "info",
|
|
55
55
|
description: "Stripe publishable key — safe for client bundles but tracked for awareness.",
|
|
@@ -57,7 +57,7 @@ export const SECRET_RULES = [
|
|
|
57
57
|
{
|
|
58
58
|
id: "stripe-restricted-key",
|
|
59
59
|
name: "Stripe Restricted Key",
|
|
60
|
-
pattern: /rk_(live|test)_[a-zA-Z0-9]{24,}/g,
|
|
60
|
+
pattern: /rk_(?:live|test)_[a-zA-Z0-9]{24,}/g,
|
|
61
61
|
provider: "stripe",
|
|
62
62
|
severity: "critical",
|
|
63
63
|
description: "Stripe restricted key with custom permissions.",
|
|
@@ -89,6 +89,85 @@ export const SECRET_RULES = [
|
|
|
89
89
|
severity: "critical",
|
|
90
90
|
description: "Slack bot, user, or app token.",
|
|
91
91
|
},
|
|
92
|
+
// ── Supabase ─────────────────────────────────────────────────────────
|
|
93
|
+
{
|
|
94
|
+
id: "supabase-service-role",
|
|
95
|
+
name: "Supabase Service Role Key",
|
|
96
|
+
pattern: /eyJ[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*/g, // We'll refine this or use generic JWT + context, but for now we'll rely on env-var keys for supabase
|
|
97
|
+
provider: "supabase",
|
|
98
|
+
severity: "critical",
|
|
99
|
+
description: "Supabase service role JWT",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "supabase-anon-key",
|
|
103
|
+
name: "Supabase Anon Key",
|
|
104
|
+
pattern: /eyJ[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*/g,
|
|
105
|
+
provider: "supabase",
|
|
106
|
+
severity: "info",
|
|
107
|
+
description: "Supabase anonymous client key",
|
|
108
|
+
},
|
|
109
|
+
// ── Anthropic ────────────────────────────────────────────────────────
|
|
110
|
+
{
|
|
111
|
+
id: "anthropic-api-key",
|
|
112
|
+
name: "Anthropic API Key",
|
|
113
|
+
pattern: /sk-ant-api[0-9a-zA-Z-_]{80,}/g,
|
|
114
|
+
provider: "anthropic",
|
|
115
|
+
severity: "critical",
|
|
116
|
+
description: "Anthropic API key.",
|
|
117
|
+
},
|
|
118
|
+
// ── Vercel ───────────────────────────────────────────────────────────
|
|
119
|
+
{
|
|
120
|
+
id: "vercel-token",
|
|
121
|
+
name: "Vercel Token",
|
|
122
|
+
pattern: /vt[a-zA-Z0-9]{24}/g,
|
|
123
|
+
provider: "vercel",
|
|
124
|
+
severity: "critical",
|
|
125
|
+
description: "Vercel API token.",
|
|
126
|
+
},
|
|
127
|
+
// ── Resend ───────────────────────────────────────────────────────────
|
|
128
|
+
{
|
|
129
|
+
id: "resend-api-key",
|
|
130
|
+
name: "Resend API Key",
|
|
131
|
+
pattern: /re_[a-zA-Z0-9]{24}/g,
|
|
132
|
+
provider: "resend",
|
|
133
|
+
severity: "critical",
|
|
134
|
+
description: "Resend API key.",
|
|
135
|
+
},
|
|
136
|
+
// ── SendGrid ─────────────────────────────────────────────────────────
|
|
137
|
+
{
|
|
138
|
+
id: "sendgrid-api-key",
|
|
139
|
+
name: "SendGrid API Key",
|
|
140
|
+
pattern: /SG\.[a-zA-Z0-9_-]{22}\.[a-zA-Z0-9_-]{43}/g,
|
|
141
|
+
provider: "sendgrid",
|
|
142
|
+
severity: "critical",
|
|
143
|
+
description: "SendGrid API key.",
|
|
144
|
+
},
|
|
145
|
+
// ── Clerk ────────────────────────────────────────────────────────────
|
|
146
|
+
{
|
|
147
|
+
id: "clerk-secret-key",
|
|
148
|
+
name: "Clerk Secret Key",
|
|
149
|
+
pattern: /sk_(?:test|live)_[a-zA-Z0-9]{24,}/g,
|
|
150
|
+
provider: "clerk",
|
|
151
|
+
severity: "critical",
|
|
152
|
+
description: "Clerk backend secret key.",
|
|
153
|
+
},
|
|
154
|
+
// ── Databases ────────────────────────────────────────────────────────
|
|
155
|
+
{
|
|
156
|
+
id: "mongodb-uri",
|
|
157
|
+
name: "MongoDB Connection URI",
|
|
158
|
+
pattern: /mongodb(?:\+srv)?:\/\/[^\s"'`]+:[^\s"'`]+@[^\s"'`]+/g,
|
|
159
|
+
provider: "mongodb",
|
|
160
|
+
severity: "critical",
|
|
161
|
+
description: "MongoDB connection string with credentials.",
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
id: "postgres-uri",
|
|
165
|
+
name: "PostgreSQL Connection URI",
|
|
166
|
+
pattern: /postgres(?:ql)?:\/\/[^\s"'`]+:[^\s"'`]+@[^\s"'`]+/g,
|
|
167
|
+
provider: "postgres",
|
|
168
|
+
severity: "critical",
|
|
169
|
+
description: "PostgreSQL connection string with credentials.",
|
|
170
|
+
},
|
|
92
171
|
{
|
|
93
172
|
id: "slack-webhook",
|
|
94
173
|
name: "Slack Webhook URL",
|
|
@@ -179,7 +258,7 @@ export const SECRET_RULES = [
|
|
|
179
258
|
{
|
|
180
259
|
id: "heroku-api-key",
|
|
181
260
|
name: "Heroku API Key",
|
|
182
|
-
pattern: /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
|
|
261
|
+
pattern: /(?:heroku[a-z0-9_.\-,~*'+=!$&()]{0,30})(?:=|\s|:)\s*['"]?([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})['"]?/gi,
|
|
183
262
|
provider: "heroku",
|
|
184
263
|
severity: "warning",
|
|
185
264
|
description: "Heroku API key (UUID format).",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-rules.js","sourceRoot":"","sources":["../../../src/core/rules/secret-rules.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,oEAAoE;AACpE,mEAAmE;AACnE,EAAE;AACF,uBAAuB;AACvB,sEAAsE;AACtE,+CAA+C;AAC/C,6EAA6E;AAC7E,+DAA+D;AAC/D,yBAAyB;AACzB,qCAAqC;AACrC,gFAAgF;AAIhF,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,wEAAwE;IACxE;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,UAAU;QACpB,WAAW,EACT,mFAAmF;KACtF;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,yDAAyD;QAClE,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,yDAAyD;KACvE;IAED,wEAAwE;IACxE;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,2BAA2B;QACpC,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"secret-rules.js","sourceRoot":"","sources":["../../../src/core/rules/secret-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/core/scan/env.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAoD9B;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAsF7E;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/core/scan/env.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAoD9B;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAsF7E;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,aAAa,EAAE,GAAG,aAAa,EAC7C,KAAK,CAAC,EAAE,aAAa,GACpB,WAAW,EAAE,CA2Cf;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAgB7B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAChC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,WAAW,EAAE,CA8Bf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAChC,SAAS,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EACzC,OAAO,EAAE,MAAM,GACd,WAAW,EAAE,CAgDf"}
|
package/dist/core/scan/env.js
CHANGED
|
@@ -146,7 +146,21 @@ export async function findEnvFiles(dir) {
|
|
|
146
146
|
const matches = await fg(["**/.env", "**/.env.*"], {
|
|
147
147
|
cwd: dir,
|
|
148
148
|
dot: true,
|
|
149
|
-
ignore: [
|
|
149
|
+
ignore: [
|
|
150
|
+
"**/node_modules/**",
|
|
151
|
+
"**/.git/**",
|
|
152
|
+
"**/dist/**",
|
|
153
|
+
"**/build/**",
|
|
154
|
+
"**/.bilt/**",
|
|
155
|
+
"**/venv/**",
|
|
156
|
+
"**/.venv/**",
|
|
157
|
+
"**/__pycache__/**",
|
|
158
|
+
"**/.next/**",
|
|
159
|
+
"**/.nuxt/**",
|
|
160
|
+
"**/.cache/**",
|
|
161
|
+
"**/.vercel/**",
|
|
162
|
+
"**/.netlify/**",
|
|
163
|
+
],
|
|
150
164
|
absolute: true,
|
|
151
165
|
onlyFiles: true,
|
|
152
166
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/core/scan/env.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/core/scan/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/core/scan/secrets.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../../src/core/scan/secrets.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAwErH;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,UAAU,EAAE,GAAG,UAAyB,EACvD,gBAAgB,GAAE,MAAY,GAC7B,WAAW,EAAE,CAsJf;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,KAAK,SAAK,GACT,OAAO,CAAC,WAAW,EAAE,CAAC,CAqExB"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
8
8
|
import { simpleGit } from "simple-git";
|
|
9
9
|
import { isHighEntropy } from "../rules/entropy.js";
|
|
10
|
-
import { detectProvider } from "../rules/providers.js";
|
|
10
|
+
import { detectProvider, getProviderKnowledge } from "../rules/providers.js";
|
|
11
11
|
import { SECRET_RULES } from "../rules/secret-rules.js";
|
|
12
12
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
13
13
|
let findingCounter = 0;
|
|
@@ -114,8 +114,8 @@ export function scanFileForSecrets(content, filePath, rulesOrConfig = SECRET_RUL
|
|
|
114
114
|
while ((match = rule.pattern.exec(content)) !== null) {
|
|
115
115
|
// For the generic high-entropy rule, prefer the captured group
|
|
116
116
|
const matchedValue = match[1] ?? match[0];
|
|
117
|
-
// De-duplicate by
|
|
118
|
-
const dedupeKey = `${
|
|
117
|
+
// De-duplicate by exact span to prevent multiple rules flagging the same string
|
|
118
|
+
const dedupeKey = `${match.index}:${matchedValue.length}`;
|
|
119
119
|
if (seen.has(dedupeKey))
|
|
120
120
|
continue;
|
|
121
121
|
seen.add(dedupeKey);
|
|
@@ -152,9 +152,51 @@ export function scanFileForSecrets(content, filePath, rulesOrConfig = SECRET_RUL
|
|
|
152
152
|
if (isAllowed)
|
|
153
153
|
continue;
|
|
154
154
|
const provider = detectProvider(matchedValue, rule.id) ?? undefined;
|
|
155
|
+
const knowledge = getProviderKnowledge(rule.id);
|
|
156
|
+
let severity = rule.severity;
|
|
157
|
+
let confidence = "low";
|
|
158
|
+
if (knowledge || provider) {
|
|
159
|
+
confidence = "medium";
|
|
160
|
+
}
|
|
161
|
+
// Context Heuristics for JS/TS
|
|
162
|
+
const isJsTs = /\.(js|jsx|ts|tsx)$/i.test(filePath);
|
|
163
|
+
// Suppress test and docs files
|
|
164
|
+
const isTestOrDoc = filePath.includes("/test/") ||
|
|
165
|
+
filePath.includes("/tests/") ||
|
|
166
|
+
filePath.includes("/fixtures/") ||
|
|
167
|
+
/\.(test|spec)\.(js|ts|jsx|tsx)$/i.test(filePath) ||
|
|
168
|
+
filePath.endsWith(".md") ||
|
|
169
|
+
filePath.includes("/docs/");
|
|
170
|
+
if (isTestOrDoc) {
|
|
171
|
+
// Skip entirely per heuristic rules
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (isJsTs) {
|
|
175
|
+
// Suppress if inside a code comment
|
|
176
|
+
if (matchedLine && (matchedLine.trim().startsWith("//") || matchedLine.trim().startsWith("*") || matchedLine.includes("/*"))) {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
if (matchedLine) {
|
|
180
|
+
const upperLine = matchedLine.toUpperCase();
|
|
181
|
+
// Assignment names
|
|
182
|
+
if (upperLine.includes("PUBLIC") || upperLine.includes("ANON") || upperLine.includes("CLIENT")) {
|
|
183
|
+
severity = "info";
|
|
184
|
+
}
|
|
185
|
+
else if (upperLine.includes("SERVICE") || upperLine.includes("SECRET") || upperLine.includes("PRIVATE") || upperLine.includes("ADMIN") || upperLine.includes("ROLE")) {
|
|
186
|
+
severity = "critical";
|
|
187
|
+
}
|
|
188
|
+
// Literal vs reference
|
|
189
|
+
if (matchedLine.includes("process.env.") || matchedLine.includes("import.meta.env.")) {
|
|
190
|
+
severity = "warning";
|
|
191
|
+
}
|
|
192
|
+
else if (matchedLine.includes('"') || matchedLine.includes("'") || matchedLine.includes("`")) {
|
|
193
|
+
severity = "critical";
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
155
197
|
findings.push({
|
|
156
198
|
id: nextId("secret"),
|
|
157
|
-
severity:
|
|
199
|
+
severity: severity,
|
|
158
200
|
category: "secret-detected",
|
|
159
201
|
message: `${rule.name} detected` +
|
|
160
202
|
(provider ? ` (${provider.displayName})` : ""),
|
|
@@ -166,6 +208,9 @@ export function scanFileForSecrets(content, filePath, rulesOrConfig = SECRET_RUL
|
|
|
166
208
|
provider,
|
|
167
209
|
ruleId: rule.id,
|
|
168
210
|
preview: maskValue(matchedValue),
|
|
211
|
+
secret: matchedValue,
|
|
212
|
+
confidence,
|
|
213
|
+
knowledge,
|
|
169
214
|
});
|
|
170
215
|
}
|
|
171
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/core/scan/secrets.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,qCAAqC;AACrC,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../../src/core/scan/secrets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../../src/core/scan/verifiers/aws.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,eAAO,MAAM,IAAI,QAAQ,CAAC;AAwC1B,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiEvE"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import fg from "fast-glob";
|
|
5
|
+
export const name = "aws";
|
|
6
|
+
function hmac(key, data) {
|
|
7
|
+
return crypto.createHmac("sha256", key).update(data).digest();
|
|
8
|
+
}
|
|
9
|
+
function sha256(data) {
|
|
10
|
+
return crypto.createHash("sha256").update(data).digest("hex");
|
|
11
|
+
}
|
|
12
|
+
async function findCompanionAWSKey(key, isAccessKey) {
|
|
13
|
+
if (isAccessKey) {
|
|
14
|
+
if (process.env["AWS_SECRET_ACCESS_KEY"])
|
|
15
|
+
return process.env["AWS_SECRET_ACCESS_KEY"];
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
if (process.env["AWS_ACCESS_KEY_ID"])
|
|
19
|
+
return process.env["AWS_ACCESS_KEY_ID"];
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
const cwd = process.cwd();
|
|
23
|
+
const envFiles = await fg([".env", ".env.*"], { cwd, absolute: true });
|
|
24
|
+
for (const file of envFiles) {
|
|
25
|
+
try {
|
|
26
|
+
const content = await fs.readFile(file, "utf-8");
|
|
27
|
+
if (isAccessKey) {
|
|
28
|
+
const match = content.match(/(?:AWS_SECRET_ACCESS_KEY\s*=\s*|['"]?)([A-Za-z0-9/+]{40})(?![A-Za-z0-9/+=])/);
|
|
29
|
+
if (match?.[1])
|
|
30
|
+
return match[1];
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const match = content.match(/(?:AWS_ACCESS_KEY_ID\s*=\s*|['"]?)(AKIA[0-9A-Z]{16})(?![A-Z0-9])/);
|
|
34
|
+
if (match?.[1])
|
|
35
|
+
return match[1];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch { }
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch { }
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
export async function verify(secret) {
|
|
45
|
+
const isAccessKey = secret.startsWith("AKIA");
|
|
46
|
+
const accessKeyId = isAccessKey ? secret : await findCompanionAWSKey(secret, false);
|
|
47
|
+
const secretAccessKey = isAccessKey ? await findCompanionAWSKey(secret, true) : secret;
|
|
48
|
+
if (!accessKeyId || !secretAccessKey) {
|
|
49
|
+
return "unverified";
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const url = "https://sts.amazonaws.com/?Action=GetCallerIdentity&Version=2011-06-15";
|
|
53
|
+
const host = "sts.amazonaws.com";
|
|
54
|
+
const service = "sts";
|
|
55
|
+
const region = "us-east-1";
|
|
56
|
+
const now = new Date();
|
|
57
|
+
const amzDate = now.toISOString().replace(/[-:]/g, "").split(".")[0] + "Z";
|
|
58
|
+
const dateStamp = amzDate.slice(0, 8);
|
|
59
|
+
const canonicalUri = "/";
|
|
60
|
+
const canonicalQuery = "Action=GetCallerIdentity&Version=2011-06-15";
|
|
61
|
+
const canonicalHeaders = `host:${host}\nx-amz-date:${amzDate}\n`;
|
|
62
|
+
const signedHeaders = "host;x-amz-date";
|
|
63
|
+
const payloadHash = sha256("");
|
|
64
|
+
const canonicalRequest = `POST\n${canonicalUri}\n${canonicalQuery}\n${canonicalHeaders}\n${signedHeaders}\n${payloadHash}`;
|
|
65
|
+
const credentialScope = `${dateStamp}/${region}/${service}/aws4_request`;
|
|
66
|
+
const stringToSign = `AWS4-HMAC-SHA256\n${amzDate}\n${credentialScope}\n${sha256(canonicalRequest)}`;
|
|
67
|
+
const kDate = hmac("AWS4" + secretAccessKey, dateStamp);
|
|
68
|
+
const kRegion = hmac(kDate, region);
|
|
69
|
+
const kService = hmac(kRegion, service);
|
|
70
|
+
const kSigning = hmac(kService, "aws4_request");
|
|
71
|
+
const signature = hmac(kSigning, stringToSign).toString("hex");
|
|
72
|
+
const authHeader = `AWS4-HMAC-SHA256 Credential=${accessKeyId}/${credentialScope}, SignedHeaders=${signedHeaders}, Signature=${signature}`;
|
|
73
|
+
const res = await fetch(url, {
|
|
74
|
+
method: "POST",
|
|
75
|
+
headers: {
|
|
76
|
+
Host: host,
|
|
77
|
+
"X-Amz-Date": amzDate,
|
|
78
|
+
Authorization: authHeader,
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
if (res.status === 200) {
|
|
82
|
+
return "verified-live";
|
|
83
|
+
}
|
|
84
|
+
if (res.status === 403) {
|
|
85
|
+
const text = await res.text();
|
|
86
|
+
if (text.includes("InvalidClientTokenId") ||
|
|
87
|
+
text.includes("SignatureDoesNotMatch") ||
|
|
88
|
+
text.includes("AuthFailure")) {
|
|
89
|
+
return "verified-dead";
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return "unverified";
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return "unverified";
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=aws.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../../src/core/scan/verifiers/aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../../src/core/scan/verifiers/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,eAAO,MAAM,IAAI,WAAW,CAAC;AAE7B,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoBvE"}
|