{"slug": "claude-code-vs-codex-fra-challenge-75746d-2025", "title": "Claude Code vs. Codex: FRA challenge 75746d-2025", "summary": "A developer using Codex solved the first step of the FRA Challenge 75746d-2025 by visually enhancing faint low-contrast pixels in the upper band of the `footer_graphic.png` image, recovering the flag `flagga{alpha_mail}`. A separate attempt using Claude failed to extract the flag, instead focusing on audio waveform analysis of the same image without success. Both agents adhered to the constraint of not searching for external solutions, relying only on the challenge page and its direct assets.", "body_md": "# FRA Challenge 75746d-2025: Combined Step 1 Report\n\nDate: 2026-05-30\n\nCombined from Claude and Codex reports.\n\n## Prompt\n\nThe same prompt was used for both Claude and Codex:\n\n> \"Solve the challenge described on this webpage: <https://challenge.fra.se/75746d-2025/> Rules: You are NOT allowed to search for solutions to this problem. Only solve the first step, then stop and write a Markdown document where you explain in detail step-by-step how you solved the problem.\"\n\n## Source Reports\n\nThis combined report is based on the following local Markdown reports:\n\n- `claude/STEG1-attempts.md`\n- `codex/step1_solution.md`\n\nBoth reports describe attempts to solve only the first step of the challenge. Both state that no external solution searches or walkthroughs were used.\n\n## Executive Summary\n\nThe two reports agree on the initial reconnaissance: the HTML page did not directly contain the real flag, and the only directly referenced assets were `fralogo.jpg` and `footer_graphic.png`. Both reports also identified the footer image as the relevant artifact.\n\nThe Claude report did not recover the flag. It focused on the footer image as a likely audio waveform and performed file-structure, metadata, string, LSB, and waveform analyses. That work ruled out several low-effort hiding places but stopped without extracting the hidden text.\n\nThe Codex report recovered the first-step flag by visually enhancing faint low-contrast pixels in the upper band of `footer_graphic.png`. The revealed flag was:\n\n```text\nflagga{alpha_mail}\n```\n\nFor completeness, the SHA1 reported by Codex for that flag was:\n\n```text\n710e77d190bf3c45a7c966b214bdaf1686d84c35\n```\n\nThe Codex report explicitly states that it stopped after step 1 and did not open the SHA1-derived next-step URL.\n\n## Shared Challenge Context\n\nThe challenge page describes a flag format matching:\n\n```text\nflagga{\\S+}\n```\n\nIt explains that the SHA1 digest of the recovered flag becomes the URL path for the next step. The prompt for both agents required solving only the first step and then stopping.\n\nThe direct page assets identified in both reports were:\n\n- `../fralogo.jpg`\n- `./footer_graphic.png`\n\nThe reports agree that the page source contained only the example flag and format description, not the real challenge flag.\n\n## Comparison of Results\n\n| Aspect | Claude Report | Codex Report |\n|---|---|---|\n| Outcome | Not solved. Identified the footer image as the main artifact but did not recover the flag. | Solved. Recovered `flagga{alpha_mail}` from a contrast-enhanced crop of the footer image. |\n| Elapsed time | Approximately 10 minutes. | 1 minute 54 seconds. |\n| Primary hypothesis | The footer graphic was treated as an audio waveform or amplitude envelope. | The footer graphic was inspected visually for faint hidden content. |\n| Key successful step | N/A. The report narrowed the search space but stopped before the reveal. | Cropped the top middle of the footer, multiplied brightness, and enlarged the crop. |\n| Constraint handling | No solution searches; only the page and direct assets were used. | No solution searches; only the page and direct assets were used. |\n\n## Claude Attempt Summary\n\nClaude fetched the challenge page, confirmed the expected flag format, and checked the page source for literal flag strings. The only flag-like strings found in the HTML were the format expression and the worked example.\n\nClaude then downloaded the two direct assets and inspected their structure:\n\n- `footer_graphic.png`: PNG, 1229 by 92 RGBA.\n- `fralogo.jpg`: JPEG, 158 by 86.\n- PNG metadata contained ordinary create/modify text chunks.\n- There was no trailing data after the PNG `IEND` chunk.\n- The JPEG had no trailing bytes after the end marker.\n\nClaude also searched printable strings, tested bit planes and LSB-style hiding, and probed likely sidecar or audio filenames. None of those checks revealed the flag.\n\nThe Claude report's main investigation focused on treating the footer graphic as an audio-related artifact. It extracted an amplitude envelope, observed a one-sided waveform, identified repeated structures, and considered whether the image represented Morse, audio, SSTV, or spectrogram data. The report concluded that the image looked like an analog waveform thumbnail but that reconstructing intelligible audio from the image alone was not feasible.\n\nThe blocking issue in the Claude report was that the waveform interpretation consumed the investigation. The hidden text was not recovered because the report did not pursue the low-contrast pixels in the upper band far enough.\n\n## Codex Solution Summary\n\nCodex followed the same initial path: fetch the HTML, identify the two referenced images, and check the files and strings. Those checks did not reveal a literal flag.\n\nThe successful observation was visual. Codex noticed faint low-contrast content near the upper middle of the footer image. It enhanced that region with ImageMagick:\n\n```sh\nmagick artifacts/footer_graphic.png \\\n  -alpha off \\\n  -crop 600x35+450+0 \\\n  -evaluate multiply 60 \\\n  artifacts/footer_top_mid_x60.png\n```\n\nCodex then made a tighter crop and enlarged it:\n\n```sh\nmagick artifacts/footer_graphic.png \\\n  -alpha off \\\n  -crop 260x28+545+0 \\\n  -evaluate multiply 80 \\\n  -resize 1040x112 \\\n  artifacts/flag_crop_enhanced.png\n```\n\nThe enhanced crop showed:\n\n```text\nflagga{alpha_mail}\n```\n\nCodex computed the SHA1 digest with:\n\n```sh\nprintf %s 'flagga{alpha_mail}' | shasum -a 1\n```\n\nThe resulting digest was:\n\n```text\n710e77d190bf3c45a7c966b214bdaf1686d84c35\n```\n\n## Artifacts\n\nThe full footer image is visually dominated by a cyan waveform-like graphic, but the recovered flag came from faint text in the top band.\n\n![Original footer graphic](/Users/joel/src/fra/codex/artifacts/footer_graphic.png)\n\n![Enhanced crop revealing flagga{alpha_mail}](/Users/joel/src/fra/codex/artifacts/flag_crop_enhanced.png)\n\n## Consolidated Reproducible Procedure\n\nThe combined, shortest reproducible method from the two reports is:\n\n1. Fetch the HTML page at <https://challenge.fra.se/75746d-2025/>.\n2. Confirm that the real flag is not present in the HTML source.\n3. Download the directly referenced footer asset, `footer_graphic.png`.\n4. Inspect the image visually and focus on the faint upper-middle band.\n5. Crop and brighten that band using ImageMagick.\n6. Read the revealed flag: `flagga{alpha_mail}`.\n7. Stop, because the prompt only requested step 1.\n\n## Conclusion\n\nThe two reports are complementary. The Claude report documents a broad negative search and several ruled-out hiding methods. The Codex report provides the decisive extraction step: contrast enhancement of faint text in the footer image. The combined conclusion is that step 1 is solved by detecting and enhancing low-contrast text in `footer_graphic.png`, yielding `flagga{alpha_mail}`.\n", "url": "https://wpnews.pro/news/claude-code-vs-codex-fra-challenge-75746d-2025", "canonical_source": "https://gist.github.com/joelonsql/c49129b151d7e77fb83250f675ffea07", "published_at": "2026-05-30 18:48:09+00:00", "updated_at": "2026-05-30 19:16:07.870234+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-tools"], "entities": ["Claude", "Codex", "FRA"], "alternates": {"html": "https://wpnews.pro/news/claude-code-vs-codex-fra-challenge-75746d-2025", "markdown": "https://wpnews.pro/news/claude-code-vs-codex-fra-challenge-75746d-2025.md", "text": "https://wpnews.pro/news/claude-code-vs-codex-fra-challenge-75746d-2025.txt", "jsonld": "https://wpnews.pro/news/claude-code-vs-codex-fra-challenge-75746d-2025.jsonld"}}