OPEN SOURCE · CTF DESIGN · LLM-AWARE

Less pattern matching.
More actual hacking.

NiceTryGPT helps CTF authors remove cheap model shortcuts with the smallest useful change — without changing what the challenge is supposed to teach.

nice-try-gpt
$ Use NiceTryGPT on this CTF.

UNDERSTAND → SOLVE ORIGINAL → FIND SHORTCUT
      → SMALL CHANGE → SOLVE AGAIN → REPORT

✓ same vulnerability
✓ same learning objective
✓ bounded human cost
5demo vulnerability classes
0–2small changes by default
0third-party Python dependencies
v0.5.0current release
THE METHOD

A baseline-first workflow, not a bag of anti-AI tricks.

NiceTryGPT only changes a challenge after reproducing the original solve. The goal is to identify one shortcut, make one defensible change, and verify the challenge again end-to-end.

01

Reproduce

Solve the original challenge first. If the baseline cannot be reproduced, the transformation stops.

02

Reduce one shortcut

Prefer runtime discovery, context split, state dependency, pattern break, or one shallow semantic decoy.

03

Re-verify

Prove normal behavior still works and the intended vulnerability still reaches the runtime flag or success condition.

HUMAN COST GATE

The human player wins every trade-off.

Same vulnerability class Same learning objective Same prerequisite knowledge Roughly the same difficulty band
CURRENT DEMOS

Different vulnerabilities. Different shortcuts. Same acceptance contract.

IDOR

mini-idor

An adjacent-ID guess stops working. The player observes one runtime activity request instead.

Primary moveRuntime discovery
Human cost+1 request
PATH TRAVERSAL

mini-traversal

A static export path becomes per-run state exposed through normal application behavior.

Primary moveRuntime discovery
Human cost+1 request
SQL INJECTION

mini-sqli

A privileged identity is no longer handed to the player and must be reconstructed from two nearby clues.

Primary moveContext split
Human cost+2 requests
COMMAND INJECTION

mini-command-injection

A command-shaped interface becomes a normal diagnostic host input while preserving the same injection primitive.

Primary movePattern break
Human cost+0 required
SSTI

mini-ssti

The same vulnerable template preview now depends on one ordinary draft-creation action.

Primary moveState dependency
Human cost+1 request
EVIDENCE DISCIPLINE

No “AI-proof” claims.

Version 0.5.0 adds executable adapters for all five bundled demos and a generated structural-generalization matrix spanning seven recorded vulnerability classes and all five resistance patterns. It adds no new paid model observations: the empirical basis remains the v0.3.0 Interstellar Ingress and resource-bounded DiceMiner dataset.

Currentv0.4.0
Completed Interstellar cell5 BEFORE · 5 AFTER
DiceMiner valid runs10 BEFORE · 3 AFTER
Claim boundaryPreliminary evidence
QUICK START

Small enough to inspect before you use it.

NiceTryGPT is one Agent Skill plus references and reproducible demos. No framework and no runtime service are required.

.claude/skills/nice-try-gpt/
└── SKILL.md
PROMPT

Use NiceTryGPT on this CTF. Solve it first, identify the cheapest LLM shortcut, make the smallest useful change, and verify the result end-to-end.

FAQ

What NiceTryGPT means by “LLM-resistant”.

Does NiceTryGPT make a CTF AI-proof?

No. It reduces an identified cheap shortcut and verifies the transformed challenge. A capable model may still solve the challenge, especially with enough tools, time, or context.

Does it intentionally make challenges harder for humans?

No. The Human Cost Gate exists specifically to reject transformations that add too much friction or change the intended learning objective.

Is this a CTF solver, benchmark, or anti-cheat system?

No. NiceTryGPT transforms and validates existing authorized challenges. It does not detect AI use, rank models, or decide whether competitors should use AI.

What evidence exists today?

The repository contains three reproducible before/after examples plus fresh-context GPT evaluation on Interstellar Ingress and DiceMiner. Interstellar has a complete 5+5 BEFORE/AFTER cell; DiceMiner is explicitly reported as a partial resource-bounded sample. No cross-model replication claim is made.

CITATION

Research-friendly metadata is built in.

NiceTryGPT v0.5.0 is the current release. Its version-specific Zenodo DOI will be added after the release deposit is minted; the previous v0.2.0 archive remains available under DOI 10.5281/zenodo.22858477. GitHub can generate citation formats from CITATION.cff, and CodeMeta metadata is available for software indexing and research tooling.

CURRENT RELEASE

Greco, A. (2026). NiceTryGPT (Version 0.5.0) [Computer software]. GitHub.

github.com/aleff-github/NiceTryGPT/releases/tag/v0.5.0
PROJECT RESOURCES

Inspect the method, evidence, and governance.

OPEN SOURCE · GPL-3.0

Make shortcuts harder, not challenges worse.

Explore NiceTryGPT ↗