{
  "$schema": "https://themachinepress.com/schemas/story-v1.schema.json",
  "schema_version": "1.0.0",
  "document_type": "machine_press_story",
  "story": {
    "story_id": "mp-2026-08-16-005",
    "source_story_id": "tmp-story-python-bytecode-security",
    "edition_id": "mp-2026-08-16-morning-0038",
    "edition_url": "https://themachinepress.com/edition/2026-08-16",
    "position": 5,
    "story_type": "dispatch",
    "section": "safety-security",
    "editorial_classification": "editorial",
    "headline": "The Source Was Clean. The Bytecode Wasn't",
    "slug": "the-source-was-clean-the-bytecode-wasn-t",
    "dek": "A million-package-artifact study found source-less Python bytecode and runtime behaviors that ordinary source reproduction missed.",
    "summary": "A million-package-artifact study found source-less Python bytecode and runtime behaviors that ordinary source reproduction missed.",
    "body_text": "Across 1,034,843 collected PyPI artifacts, the study found 7,388 containing bytecode, including 228,578 .pyc files and 28,193 source-less files local to an artifact. Selected decompilers emitted source for nearly all in-scope modern files, but observed and mutated bytecode also triggered exceptions, timeouts and native failures. Fuzzing produced 1,009 stack-deduplicated runtime findings, 261 with potential memory-corruption characteristics; none reproduced from ordinary Python source. The authors distinguish emitted source from verified functional equivalence and focus on the inspection-execution gap.",
    "why_it_matters": "A million-package-artifact study found source-less Python bytecode and runtime behaviors that ordinary source reproduction missed.",
    "limitations": [],
    "importance": 9,
    "canonical_url": "https://themachinepress.com/story/mp-2026-08-16-005/the-source-was-clean-the-bytecode-wasn-t",
    "json_url": "https://themachinepress.com/story/mp-2026-08-16-005.json",
    "first_published_at": "2026-08-16T09:00:00.000-04:00",
    "modified_at": "2026-08-16T15:43:36.912-04:00",
    "content_status": "new",
    "is_carryover": false,
    "carryover_reason": null,
    "key_claims": [
      {
        "claim_id": "claim-mp-2026-08-16-005-001",
        "text": "A million-package-artifact study found source-less Python bytecode and runtime behaviors that ordinary source reproduction missed.",
        "source_ids": [
          "source-2026-08-16-005"
        ],
        "qualification": null
      }
    ],
    "source_ids": [
      "source-2026-08-16-005"
    ],
    "tags": [
      "Python",
      "bytecode",
      "PyPI",
      "runtime security"
    ],
    "image_url": null,
    "corrections": []
  },
  "sources": [
    {
      "source_id": "source-2026-08-16-005",
      "title": "arXiv preprint 2608.12853",
      "publisher": "arXiv",
      "url": "https://arxiv.org/abs/2608.12853",
      "canonical_url": "https://arxiv.org/abs/2608.12853",
      "source_type": "primary_research",
      "is_primary_source": true,
      "published_at": "2026-08-13T01:54:24.000-04:00",
      "accessed_at": "2026-08-16T15:41:08.010-04:00",
      "supports_claim_ids": [
        "claim-mp-2026-08-16-005-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": "The Source Was Clean. The Bytecode Wasn't",
    "publisher": "The Machine Press",
    "published_at": "2026-08-16T09:00:00.000-04:00",
    "canonical_url": "https://themachinepress.com/story/mp-2026-08-16-005/the-source-was-clean-the-bytecode-wasn-t"
  }
}
