fix(feishu): normalize webhook rate-limit client keys [AI]#80975
Conversation
|
Codex review: needs real behavior proof before merge. Summary Reproducibility: yes. from source inspection: current main keys the Feishu webhook limiter with raw Real behavior proof Next step before merge Security Review detailsBest possible solution: Keep the narrow Feishu plugin fix if maintainer review agrees, with redacted real runtime proof and focused verification before merge. Do we have a high-confidence way to reproduce the issue? Yes from source inspection: current main keys the Feishu webhook limiter with raw Is this the best way to solve the issue? Yes: using the existing SDK client-IP resolver plus a plugin-local loopback bucket is narrower than changing shared limiter semantics. The path still needs real behavior proof and maintainer review before merge. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 485e04266c56. |
|
Not applicable to this automation stage; changelog/release-note and external real behavior proof requirements are handled outside auto-pr stages. Quoted comment from @clawsweeper:
|
Summary
Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Real behavior proof (required for external PRs)
extensions/feishu/src/monitor.webhook-security.test.ts.Root Cause (if applicable)
req.socket.remoteAddressdirectly instead of a normalized client identity.Regression Test Plan (if applicable)
extensions/feishu/src/monitor.webhook-security.test.tsUser-visible / Behavior Changes
Feishu webhook burst throttling now applies consistently across equivalent loopback address-family forms for the same account and path.
Diagram (if applicable)
N/A
Security Impact (required)
Yes/No): NoYes/No): NoYes/No): NoYes/No): NoYes/No): NoYes, explain risk + mitigation: N/ARepro + Verification
Environment
Steps
Expected
Actual
Evidence
Added regression coverage in
extensions/feishu/src/monitor.webhook-security.test.ts; command execution is left to the supervisor workflow.Human Verification (required)
What you personally verified (not just CI), and how:
Review Conversations
Compatibility / Migration
Yes/No): YesYes/No): NoYes/No): NoRisks and Mitigations