Skip to content

fix: do not fire webhook for unregistered tokens (#23)#24

Merged
peg merged 1 commit into
mainfrom
fix/issue-23-unregistered-token
Mar 18, 2026
Merged

fix: do not fire webhook for unregistered tokens (#23)#24
peg merged 1 commit into
mainfrom
fix/issue-23-unregistered-token

Conversation

@peg

@peg peg commented Mar 18, 2026

Copy link
Copy Markdown
Owner

Fixes #23.

In processAlert, when db.getToken returns nil (token not registered), the global fallback webhook was still fired. This caused false alerts from probe traffic hitting partial/random token URLs.

Fix: early return after inserting the event if reg == nil. Event is still recorded for audit, but no webhook fires.

if reg == nil {
    log.Printf("CANARY_UNREGISTERED token=%s ip=%s — no webhook fired", token, ip)
    return
}

@peg
peg merged commit 6b85f57 into main Mar 18, 2026
1 check passed
peg pushed a commit that referenced this pull request Mar 24, 2026
Mirrors the fix applied to the Go server in #24. When a token hits
/c/{token} but has no KV registration, the global WEBHOOK_URLS
fallback was still firing — causing false alerts from probe traffic
hitting partial URLs like /c/agent-01-.

resolveWebhooks() now returns a 'registered' flag; processAlert()
returns early for unregistered tokens (except snare-test-* tokens
which are exempt by design).
peg added a commit that referenced this pull request Mar 25, 2026
* fix: replace example AWS account ID with canonical 123456789012

* fix(worker): do not fire webhook for unregistered tokens

Mirrors the fix applied to the Go server in #24. When a token hits
/c/{token} but has no KV registration, the global WEBHOOK_URLS
fallback was still firing — causing false alerts from probe traffic
hitting partial URLs like /c/agent-01-.

resolveWebhooks() now returns a 'registered' flag; processAlert()
returns early for unregistered tokens (except snare-test-* tokens
which are exempt by design).

* fix(worker): polish items for v0.1.4

- Update alert footer to 'IP, UA, timestamp only — no request body'
- Log test callbacks as CANARY_TEST vs CANARY_FIRED
- Add missing canary types: huggingface, azure, git, terraform
- Add v0.1.4 CHANGELOG entry

---------

Co-authored-by: clap [bot] <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: unregistered tokens fire global fallback webhook

1 participant