C/01
LLM application pentest, before it was a category
Early mover · 2023
Situation
A public-facing LLM chatbot, weeks from launch, built to answer questions from institutional data. The team had tested quality and accuracy — nobody had tested it adversarially.
Constraint & anonymization
Anonymized by removing geography and institutional detail; the date (early 2023) is kept deliberately — it is the point of this study. This was one of the first offensive assessments of an LLM application, run about two years before most firms added “AI” to their pentest page.
Approach
- 01Scoped written authorization and a non-production mirror of the chatbot before any testing
- 02Manual adversarial testing of the conversation layer: direct and indirect prompt injection, system-prompt extraction, data exfiltration through the model
- 03Every candidate finding reproduced twice and chained to its business impact before making the report
Finding classes
- Prompt injection paths that overrode the system instructions and repurposed the assistant
- Sensitive information disclosure: the model could be steered into revealing data outside the intended scope
- Missing output handling and rate controls that turned model misbehavior into user-facing risk
Outcome classes
- Launch proceeded on a fixed attack surface instead of an untested one
- The findings became the organization's first concrete argument for a pre-launch AI review gate
- Remediation validated on retest, with closure evidence the team could show stakeholders

