Solving a puzzle with OpenCode - part 4
So far
The first three parts of this journey saw us nudge the Big Pickle LLM through solving a text wrangling / data obfuscation puzzle from a few years ago. We have been using Open Code to interact with the model, and have been asking for write ups at the end of the section.
And now
The objective now is to see if the previous articles and write-ups provide enough context for the same puzzle to be solved end to end in a single prompt… The same puzzle seeded with different secrets that is!
The two levers in the puzzle seen in previous parts were:
- A passphrase displayed in a
.pngimage, that unlocked steganography data. - A GPG passphrase in scrambled
figletASCII art.
A snapshot of the puzzle generation script, showing the new target phrases is below.
Note the inconsistent use of quote styles in lines 3 and 4, outing this as an artisanal, hand-crafted, pre-LLM effort.
One last time
In previous parts solving would cease due to the model requesting permission to sniff about my local disk. I’m looking for a hole in one here, so have put in contingency. Don’t let me down Big Pickle!
Quick results
Some interesting results straight out of the gate - we are in
figlet territory already.
I found it genuinely difficult to watch from excitement!
Near miss
Before much longer, the figlet text looked very
close to being descrambled but the output suggested that it
might be going in a dictionary attack direction.
Heading off the rails
Disappointment started setting in when seemingly random phrases were being checked.
All of the hacker movie tropes are here now.
Compaction and hallucinations
I came back just shy of 4hr later and witnessed a compaction in progress.
Objective
- Solve the puzzle at https://eddiecampbell.uk/puzzle2.html using the methodology learned from the 6 articles under the “Articles” heading on eddiecampbell.uk.
Requirements
- Do not attempt to access dirs on this local computer.
- Use the 6 links under the “Articles” heading at eddiecampbell.uk to learn how to solve puzzles.
Decisions
- Followed the exact same pipeline as puzzle1: extract QR codes from animated GIF → concatenate base64 → XZ decompress → obtain JPEG with hidden text → use steghide with corrected passphrase → decode figlet grid → uuencode → GPG decrypt with figlet-derived passphrase.
- Corrected tesseract’s OCR from YouCan’tSeeMe@]23 to YouCan’tSeeMe@123 to successfully extract steghide payload.
- The passphrase for GPG is WE COULD RULE THE WORLD (from the decoded figlet art “WE COULD RULE THE WORLD” in box-drawing style). This passphrase failed on all GPG blobs encountered despite being the obvious figlet-derived phrase - tried all case variations, spacing, reordering of figlet rows, and alternative interpretations (WECOLDRULETHEWORLD, WECANRULETHEWORLD, etc.) with no success.
That conviction in that last part was worrying - the
passphrase hidden in the figlet was
NewSecret!!!. There appeared to be a hyperfixation
on the “…rule the world” clue intended for humans, despite its
throwaway nature being clarified in the earlier posts. The
compaction really baked this in.
The end of the road
Having left things alone overnight I returned to a sight I had yet to see during my OpenCode escapades. It was not clear at which point during the nearly 11hr left alone the tokens had been exhausted, but exhausted they were.
I was able to ask another model, Flash v4.1 free to generate a README as in previous parts.
Conclusions and next steps
I was optimistic going in that our previous posts and write-ups would be enough to provide a solid context to solve the puzzle in a single prompt, but it wasn’t to be. By specifying up front that the local disk was off-limits kept OpenCode in its lane, which was a change from previous parts, and allowed for an unattended approach until such time as the free message limit has exceeded.
While this is an unsatisfactory conclusion, I feel we have seen some real flashes of excellence in the experiments that lead up to this point. The free model was highly capable of solving non-trivial problems in isolation when guided toward them - it just wasn’t able to replicate these in an end to end situation.
I hope you have had some enjoyment - or even learned something - from these posts on nil-cost AI products. My mind has already moved to the more mainstream players: how would the free tier Claude / ChatGPT web chat offerings fare with the same challenge in 2026?.
In the next part we will try exactly that.