Source code Security & compliance

AI app safety

The failure modes that only exist once your app calls a model.

Overview

An app that calls an LLM inherits a threat model none of the usual scanners were built for. lumioguard traces every prompt-assembly path, tool definition, and model-output sink in your repo, then flags where untrusted text reaches the model and where model output reaches something that executes it.

What it looks for

  • Request input concatenated into a system or instruction prompt
  • Fetched pages, database rows, or uploaded files entering prompt or tool context
  • Model output executed as SQL, shell, or markup without parsing
  • Tool-using agents with no scoping and no human in the loop
  • Secrets or unminimised PII sent along in the prompt

Why it matters

Prompt injection stops being a party trick the moment the model holds tools. An instruction smuggled in through a fetched page can make a tool-using agent read your database, send mail, or spend money with your app’s credentials. Model-authored SQL dropped into a query runs at whatever privilege the connection carries.

Rules in this check

How the fixes arrive

Pull requestLow-risk changes arrive as a pull request on a lumioguard branch, with a breakage analysis attached. You review and merge it.
GuideChanges only you can make safely arrive as a step-by-step guide you can follow yourself or hand to your coding agent.

Run them all on your app

Connect your repo and your live services with read-only scopes. The first scan is free, and nothing changes without your approval.