Skip to content

Commit 2115f25

Browse files
committed
refactor: remove GitHub webhook signature verification and related secret from environment sample
1 parent d197070 commit 2115f25

3 files changed

Lines changed: 1 addition & 24 deletions

File tree

src/backend/.env.sample

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ FRONTEND=...
99
ADMIN_LIST=admin1|admin2
1010
MEMORY_LIMIT=500m
1111
ENCRYPTION_KEY=your_secure_random_base64_encryption_key_here
12-
GITHUB_WEBHOOK_SECRET=your_github_webhook_hmac_secret_here
1312

1413
# Health Monitor Configuration
1514
PROMETHEUS_URL=http://prometheus:9090

src/backend/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Context, Sentry } from "./dependencies.ts";
22
import { addScript, deleteScript } from "./scripts.ts";
33
import { checkJWT } from "./utils/jwt.ts";
44
import { addMaps, deleteMaps, getMaps, getDeploymentsByRepo, getUserToken } from "./db.ts";
5-
import { encryptEnv, decryptEnv, verifyGithubSignature } from "./utils/crypto.ts";
5+
import { encryptEnv, decryptEnv } from "./utils/crypto.ts";
66

77
// ... skipping to githubWebhook
88

src/backend/utils/crypto.ts

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -63,25 +63,3 @@ export async function decryptEnv(cipherB64: string): Promise<string> {
6363
return "";
6464
}
6565
}
66-
67-
export async function verifyGithubSignature(signatureHeader: string | null, bodyRaw: Uint8Array): Promise<boolean> {
68-
if (!signatureHeader || !signatureHeader.startsWith("sha256=")) return false;
69-
const expectedSig = signatureHeader.slice(7);
70-
71-
const secret = Deno.env.get("GITHUB_WEBHOOK_SECRET") || "debug-key!";
72-
const key = await crypto.subtle.importKey(
73-
"raw",
74-
new TextEncoder().encode(secret),
75-
{ name: "HMAC", hash: "SHA-256" },
76-
false,
77-
["sign"]
78-
);
79-
80-
const signatureBytes = await crypto.subtle.sign("HMAC", key, bodyRaw);
81-
82-
const hashArray = Array.from(new Uint8Array(signatureBytes));
83-
const actualSig = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
84-
85-
// Use timing-safe comparison if available, standard OK for now
86-
return actualSig === expectedSig;
87-
}

0 commit comments

Comments
 (0)