
Timing attack vulnerability in webhook signature verification
String comparison (===) returns early on the first mismatched byte, exposing the endpoint to side-channel timing analysis. Compare HMAC signatures in constant time with crypto.timingSafeEqual.
good catch on the timing vulnerability! updated with constant-time comparison.
Catch subtle logic flaws and security risks
Line-by-line reasoning across your full repository context before merge.

Blame reviewed changes in the commit range b76c8fa...63debb2 on this pull request. Below is the summary for the review, and you can see the individual issues we found as review comments.
Unit mismatch: JWT expiration claim in seconds vs milliseconds
JWT expiration timestamps (exp) are encoded in Unix epoch seconds, whereas Date.now() returns milliseconds.
Comparing them directly causes valid tokens to be marked as expired immediately. Convert Date.now() / 1000 before evaluating expiration.
Ship with total confidence
Automated check validations and high-signal code feedback before you squash and merge.
Automated check validations
Continuous CI testing and graph contract verification before squash and merge.
1f1473bHigh-signal inline feedback
Precise vulnerability and logic annotations with verified patches directly in your PR thread.
Blocked SSRF vulnerability against internal VPC endpoints and cloud instance metadata (169.254.169.254).
got it, merging that now!
Total control over your codebase
Customize repository scope, trigger conditions, and workspace-level rules.
Repository indexing & reviews
Choose exactly which repositories get indexed and automatically reviewed on pull requests.
Custom rules & invariants
Blame automatically respects your team's style guides, AI rules, and architectural invariants.
Inside the review engine
Deep architectural analysis and invariant verification behind every pull request.
Know exactly how safe a pull request is to merge at a glance with strict 0–5 risk scoring.
Traces downstream consumers, implementations, and circular imports beyond modified lines.
Auto-discovers project conventions from .cursorrules, CLAUDE.md, and workspace memory.
Get a clear, structured overview of key behavioral changes without reading raw diff noise.
Address issues directly in GitHub with ready-to-commit patches and agent prompts.
Reply to any finding inline to ask follow-up questions, debate trade-offs, or re-trigger checks.