{
  "$schema": "https://themachinepress.com/schemas/story-v1.schema.json",
  "schema_version": "1.0.0",
  "document_type": "machine_press_story",
  "story": {
    "story_id": "mp-2026-10-14-001",
    "source_story_id": "tmp-lead-aegisasync-python-async-risks",
    "edition_id": "mp-2026-10-14-morning-0096",
    "edition_url": "https://themachinepress.com/edition/2026-10-14",
    "position": 1,
    "story_type": "lead",
    "section": "safety-security",
    "editorial_classification": "editorial",
    "headline": "An Async Analyzer Finds 457 Confirmed Python Bugs",
    "slug": "an-async-analyzer-finds-457-confirmed-python-bugs",
    "dek": "AegisAsync follows event order, object identity, exceptions and cancellation through CPython bytecode. Developers had fixed 16 reported bugs by submission.",
    "summary": "AegisAsync follows event order, object identity, exceptions and cancellation through CPython bytecode. Developers had fixed 16 reported bugs by submission.",
    "body_text": "Python's asynchronous failures can depend on which event happens first, whether two operations touch the same object and what continues after cancellation. AegisAsync models those relationships in an Async Event Transition Graph, then symbolically simulates bounded paths and cancellation at await points. On a 180-risk benchmark, its authors report finding every labeled issue with no false positives across CPython 3.10 through 3.14. A review of 910 candidates from 2,500 PyPI package versions confirmed 457 unique bugs; 166 proof-of-concept programs reproduced findings, 157 reports went to developers and 16 had been confirmed and fixed by submission. Those rates describe the evaluated packages and review process, not every asynchronous Python program. The important advance is the evidence trail: each candidate includes a witness connecting ordering and state across calls, turning a timing-sensitive suspicion into something maintainers can reproduce.",
    "why_it_matters": "AegisAsync follows event order, object identity, exceptions and cancellation through CPython bytecode. Developers had fixed 16 reported bugs by submission.",
    "limitations": [
      "Those rates describe the evaluated packages and review process, not every asynchronous Python program."
    ],
    "importance": 9,
    "canonical_url": "https://themachinepress.com/story/mp-2026-10-14-001/an-async-analyzer-finds-457-confirmed-python-bugs",
    "json_url": "https://themachinepress.com/story/mp-2026-10-14-001.json",
    "first_published_at": "2026-10-14T09:00:00.000-04:00",
    "modified_at": "2026-10-14T09:00:00.000-04:00",
    "content_status": "new",
    "is_carryover": false,
    "carryover_reason": null,
    "key_claims": [
      {
        "claim_id": "claim-mp-2026-10-14-001-001",
        "text": "AegisAsync follows event order, object identity, exceptions and cancellation through CPython bytecode. Developers had fixed 16 reported bugs by submission.",
        "source_ids": [
          "source-2026-10-14-001"
        ],
        "qualification": "Those rates describe the evaluated packages and review process, not every asynchronous Python program."
      }
    ],
    "source_ids": [
      "source-2026-10-14-001"
    ],
    "tags": [
      "Python",
      "asyncio",
      "static analysis",
      "software security"
    ],
    "image_url": "https://themachinepress.com/issues/2026-10-14/lead-async-event-tracing.png",
    "corrections": []
  },
  "sources": [
    {
      "source_id": "source-2026-10-14-001",
      "title": "arXiv preprint 2610.18831, original v1",
      "publisher": "arXiv / submitting research authors",
      "url": "https://arxiv.org/abs/2610.18831v1",
      "canonical_url": "https://arxiv.org/abs/2610.18831v1",
      "source_type": "primary_research",
      "is_primary_source": true,
      "published_at": "2026-10-13T13:54:57.000-04:00",
      "accessed_at": "2026-10-14T08:24:30.364-04:00",
      "supports_claim_ids": [
        "claim-mp-2026-10-14-001-001"
      ]
    }
  ],
  "corrections": [],
  "publisher": {
    "name": "The Machine Press",
    "url": "https://themachinepress.com",
    "description": "A daily newspaper for the age of artificial intelligence."
  },
  "cite_this_report": {
    "title": "An Async Analyzer Finds 457 Confirmed Python Bugs",
    "publisher": "The Machine Press",
    "published_at": "2026-10-14T09:00:00.000-04:00",
    "canonical_url": "https://themachinepress.com/story/mp-2026-10-14-001/an-async-analyzer-finds-457-confirmed-python-bugs"
  }
}
