koala73 / koala73/worldmonitor

watch: new concentrated 400 stream on get-aircraft-details since Aug 23 (2 IPs) — likely prober on an ungated paid route

Open
#7,108 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
86.6k
Forks
13.1k
Avg merge
8h 4m
Merged PRs (30d)
825

Description

## Observation

`/api/military/v1/get-aircraft-details` (singular, Wingbits-backed) started receiving a steady stream of 400s on **2026-08-23 17:05Z**: 193 in the first ~40 hours, from **2 IPs only**, `auth_kind: anon`.

The concentration (2 IPs, high per-IP rate) is the scraper signature, not organic use — compare the VN scraper (`2402:800:629c:f72b::/64`, blocked-value profile in the Aug 20 investigation) and the ArdenCole parameterless prober. The route is rate-limited only via its `-batch` sibling; the singular route has no per-route limit (flagged in the Aug 20 abuse-surface audit).

## Why file rather than act

Currently these are 400s — costing nothing (validation rejects before the Wingbits call). But the same audit showed this route holds a paid credential (`WINGBITS_API_KEY`) and is cached but ungated; if the caller corrects its request shape, it becomes live paid traffic from an anonymous client.

## Ask

- Identify the 2 IPs and their request shape (Axiom: `route == '/api/military/v1/get-aircraft-details' and status == 400` since Aug 23).
- Decide: per-route rate limit to match the `-batch` sibling (30/60s), and/or fold into the metered-route gating pattern from PR #7003 if Wingbits spend warrants identity.
- Keep on the watchlist until the source is classified.

Contributor guide

Open the contributing guide

Research direction

Start with the Axiom query for the route and 400 status since Aug 23 to identify the two IPs and inspect their request shape. Read the Aug 20 abuse-surface audit and PR #7003, then compare the singular route with its -batch sibling. Done means the source is classified and a decision is recorded on rate limiting or metered-route gating, with the route remaining on the watchlist if unresolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.