Safe on cold start
The auto-execute allowlist ships empty. Every containment action waits for a human until an operator explicitly promotes it — and the promotion is itself audited: who, when, and why.
promote.py add disable_access_key --by alice
Kronagent is a team of AI security agents that triages, investigates and contains threats across AWS, Google Cloud and Kubernetes — governed by a deterministic policy engine, a human approval gate no model can talk its way past, and an immutable audit log.
The gap
They summarise the alert, map it to ATT&CK, write a tidy paragraph — and then hand a human a ticket. The mean time to contain never moves, because nothing was ever allowed to act.
The tools that do act ask you to trust a language model with production credentials on day one. That's not a trust model; it's a leap of faith with an audit log bolted on afterwards.
Advisory tools
Kronagent
Architecture
Every LLM agent is strictly advisory — it enriches the incident record and the human's approval context. Only the deterministic policy engine and the containment layer can cause a side effect.
Trust model
The auto-execute allowlist ships empty. Every containment action waits for a human until an operator explicitly promotes it — and the promotion is itself audited: who, when, and why.
promote.py add disable_access_key --by alice
Actions are classified by reversibility and blast radius. Destructive or wide-blast actions — terminate an instance, delete a pod, scale to zero — are structurally incapable of running unattended. Promote one by mistake and nothing happens: the classification table wins.
Every agent's output schema is built so it cannot express a containment target or action class. Targets always come from normalised finding data — so a prompt-injection payload buried in telemetry has no channel to redirect an action onto an attacker-chosen resource.
Triage, policy, containment, approval, governance, forensics — each is one entry in an append-only, SHA-256-chained log. Editing a past record breaks verification of every record after it.
✓ chain verified — 1,284 records
Behavioural trajectory guard
Kronagent watches its own behaviour over time, not just each action in isolation. When an incident's trajectory starts to look like an agent being steered — escalating blast radius, repeated policy probing, targets drifting away from the originating finding — the run halts itself and routes to a human, mid-incident.
Compliance
Automatic logging and human oversight aren't features we added for a questionnaire — they're the two invariants the whole system is constructed around. Generate the evidence manifest as a command.
python3 run_compliance_report.py --markdown-output rep.md
KRONAGENT_DRY_RUN=true until you decide otherwise. Nothing touches a cloud account on install.
Run it in your AWS
One CloudFormation stack runs Kronagent next to the findings it reads: GuardDuty in, approvals in Slack, triage on Claude through Amazon Bedrock in your own account. The findings, the model calls and the audit log never leave it, and no one outside holds a role into it.
aws cloudformation deploy --stack-name kronagent
Private preview
We're onboarding a small design-partner cohort — teams running real GuardDuty, SCC or Kubernetes audit volume who want response automation they can actually defend in a review.