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.

UNDERSTANDSOLVE ORIGINALFIND SHORTCUTSMALL CHANGESOLVE AGAINREPORT

 same vulnerability
 same learning objective
 bounded human cost
3demo vulnerability classes
0–2small changes by default
0third-party Python dependencies
v0.2.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
EVIDENCE DISCIPLINE

No “AI-proof” claims.

Version 0.2.0 demonstrates deterministic before/after properties. Independent model evaluation is deliberately separated from same-context self-review, and raw cross-model results are not claimed until they are actually collected.

Currentv0.2.0
Next evidence milestonev0.3.0
Planned pilot60 fresh-context runs
Model familiesClaude · GPT · Gemini
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 with deterministic regression tests. Independent fresh-context cross-model evaluation is planned for v0.3.0.

CITATION

Research-friendly metadata is built in.

NiceTryGPT v0.2.0 is archived on Zenodo with DOI 10.5281/zenodo.22858477. GitHub can also generate APA and BibTeX citations from CITATION.cff, and CodeMeta metadata is available for software indexing and research tooling.

CURRENT RELEASE

Greco, A. (2026). NiceTryGPT (Version 0.2.0) [Computer software]. Zenodo.

10.5281/zenodo.22858477
PROJECT RESOURCES

Inspect the method, evidence, and governance.

OPEN SOURCE · GPL-3.0

Make shortcuts harder, not challenges worse.

Explore NiceTryGPT ↗