Hey @Art, should events.json (for Redunda's webhook forwarding) be GET or POST? GET seems logical since it's just getting data, but it has side-effects.
I know what you're saying, @angus, but I don't think it's an issue. PR authors can't approve their own PR's, so this still requires a different code admin to comment-approve the PR.
@JanDvorak Difference is that changes to blacklists will, at most, trigger 3 autoflags on every post that we see. Really bad, but not unrecoverable and solvable with the pallet-of-bricks method. Something touching actual Python code, though, could do something evil like feed metasmoke the same post twice (throw a hash in the URL or something to make it unique) and then we're actually killing stuff.
Latter could be protected against at the metasmoke level, and should be
Maybe. It's a somewhat fragile check, but it works for now
Ultimately, folks with privileges can break stuff. That's why they're privileges. Goal is to reduce the breakage potential without impacting productivity.
@SmokeDetector test failure, not a real failure. Deploying, cc @ArtOfCode
@ArtOfCode The headers aren't going to be made public; my current plan is to pass the headers to the instances so they can perform whatever validation is necessary. Does that sound okay?
@NobodyNada No, but if I run Bot A, then I can pretend to be GitHub and send an event to Redunda that will be sent to Bot B. Potential injection risk, certainly loss of integrity.
Depends. If events are going to Redunda, and Redunda is forwarding them to bots, you might have one token for all events, and I can spoof events for bots other than mine.
Unless you add a webhook_token attribute to the Bot model, I guess - that would work