Skip to main content
Your AI coding agents can run anything a developer can — including the handful of commands that wipe a database, tear down production, or leak a secret. This is the pack that draws the line. It covers the highest-impact actions across every command family Unbound classifies. The genuinely catastrophic and production-scoped actions are stopped; everything else is audited so you build the evidence to decide what to lock down next. The family and field values below are exactly what Unbound’s classifier extracts.
Create these under Policies → Tool Policies → Create Policy. Leave User Groups empty to apply org-wide, or scope to a team. The four actions are Audit, Warn, Block, and Require Slack Approval (the last needs the Slack integration). Not every tool honors Warn (the confirmation prompt) — confirm your agents support it before using it for the Enforce tier, otherwise use Block or Audit.

Live in three steps

1

Apply the pack

Drop in the whole pack — the high-risk actions enforced, everything else on Audit. The dangerous handful is stopped; routine work is logged, not interrupted.
2

Watch your agents work

Give it a few days. Every audited action — and every enforced one — lands in Analytics → Tool Use → Terminal Run, attributed to the user and session. Now you can see exactly what your agents do — not guess.
3

Tune to your data

Promote any noisy Audit rule to enforcement once you’ve seen the traffic, or relax one that’s getting in the way. Your enforcement is now shaped by your own data, not a vendor’s defaults.

Enforce — stop or confirm

The actions that can cost you a weekend: irreversible operations, production-scoped changes, and hard security boundaries. The agent is stopped — or asked to confirm — before it runs one.
PolicyCommand Family · Match (If)Try it
Production cloud destructionCloud Destroy · Environment *prod*aws cloudformation delete-stack --stack-name prod-app
Kubernetes namespace deletionCloud Destroy · Provider kubectl, Service namespace*kubectl delete namespace test-ns
Deployment to productionCloud Provision · Environment *prod*aws deploy create-deployment … prod
kubectl apply to productionCloud Provision · Provider kubectl + Environment *prod*kubectl apply -f x.yaml --context prod
IAM policy attachmentCloud IAM · Operation *attach*policy*aws iam attach-role-policy …
Kubernetes RBAC changesCloud IAM · Provider kubectl, Service rbac.*|clusterrole.*kubectl create clusterrolebinding …
Secret deletionCloud Secrets · Operation delete.*|remove.*aws secretsmanager delete-secret …
kubectl context switch to productionCloud Config · Provider kubectl, Context *prod*, Operation use-contextkubectl config use-context prod-cluster
Cloud project or account switchCloud Config · Operation set|configure, Key project|accountgcloud config set project prod-proj
Database DROPDatabase Admin · Operation *DROP*psql -c "DROP TABLE customers;"
Database TRUNCATEDatabase Admin · Operation *TRUNCATE*psql -c "TRUNCATE TABLE events;"
Production database adminDatabase Admin · Environment *prod*psql "host=prod-db" -c "VACUUM FULL;"
Production database writesDatabase Write · Environment *prod*psql "host=prod-db" -c "UPDATE …"
Database DELETEDatabase Write · Operation *DELETE*psql -c "DELETE FROM users;"
Container stop / kill / removalContainer Operation · Operation rm|stop|killdocker rm -f some-container
Production container operationsContainer Operation · Container *prod*docker restart prod-api
SSH to production hostsRemote Access · Host *prod*|*production*ssh deploy@prod-web-1
SSH as rootRemote Access · User rootssh root@host
Remote script execution on productionRemote Execution · Target Host *prod*|*production*ssh deploy@prod-host 'bash deploy.sh'
Escalate to rootPrivilege Escalation · Target User rootsudo su -
Delete files in system pathsDelete File · Path /etc/*|/usr/*|/var/*|/opt/*rm -rf /etc/example
Git force pushGit Action · Operation push + Force forcegit push --force origin main
Direct push to main/masterGit Action · Operation push + Branch main|mastergit push origin main
Modify system filesUpdate System File · anyecho x | sudo tee -a /etc/hosts
Some commands match more than one rule by design — e.g. kubectl apply --context prod matches both kubectl apply to production and the broader Deployment to production. That’s intentional layered coverage, but it means a single command can be enforced by either. If you’d rather one rule own that path, scope Deployment to production to exclude kubectl (add a provider constraint) once you’ve decided which rule should.

Audit — log silently

Routine, but worth a paper trail. These never interrupt anyone — they quietly build the evidence you’ll use to decide what to lock down next.
PolicyCommand Family · Match (If)Try it
Terraform applyCloud Provision · Provider terraform, Operation applyterraform apply -auto-approve
Kubernetes scaleCloud Provision · Provider kubectl, Operation scalekubectl scale deployment web --replicas=3
Helm install / upgradeCloud Provision · Provider helm, Operation install|upgradehelm upgrade myapp ./chart
EC2 instance launchCloud Provision · Provider aws, Service ec2, Operation run-instancesaws ec2 run-instances …
Secret retrievalCloud Secrets · Operation get-secret-value|read|get-parameteraws secretsmanager get-secret-value …
Secret creation or updateCloud Secrets · Operation create.*|put.*|update.*aws secretsmanager create-secret …
Vault accessCloud Secrets · Provider vaultvault kv get secret/app/db
Container execContainer Operation · Operation execdocker exec -it app sh
Container image pushContainer Operation · Operation pushdocker push registry/app:latest
Database UPDATEDatabase Write · Operation *UPDATE*psql -c "UPDATE settings SET …"
API key or token generationCredential Access · Type *api*key*|*token*|*secret*aws iam create-access-key
SIGKILL terminationProcess Management · Signal SIGKILL|KILL|9kill -9 4242
Sensitive env-var exposureEnvironment Exposure · Variable *SECRET*|*KEY*|*PASSWORD*|*TOKEN*|*CREDENTIAL*env | grep SECRET
Data upload to external endpointsData Transfer · Operation upload|sendaws s3 cp ./report.csv s3://bucket/
Plus a family-wide safety net. The pack also adds one Audit rule with Match = any to each high-risk family, so everything in that family is logged — even commands the specific rules above don’t name:
Family-wide Audit rule (Match = any)
Cloud Destroy · Cloud Provision · Cloud IAM
Database Admin · Database Write
Remote Access · Remote Execution · Privilege Escalation
Delete File · Credential Access · Environment Exposure · Data Transfer
These family-wide Audit rules are the biggest driver of analytics volume — they log every classified command in the family. That’s exactly what you want while you’re learning your baseline; once you’ve seen a few days of activity, narrow to the targeted rules above (or add retention/rollup) so the signal stays sharp.

Two layers, zero blind spots

This pack is built in two complementary layers, so a risky operation is never missed:
  • Precise, production-scoped rules key on the environment Unbound’s classifier reads straight from the command — a host like prod-db.internal, a container named prod-api, a namespace production. When a command names its environment, it gets the tighter, production-specific treatment.
  • Family-wide Audit rules sit underneath every high-risk family (e.g. Audit all cloud resource destruction, Audit all database writes) and catch everything in that family, however it’s named.
The specific rule fires when the target names its environment; the family rule has your back when it doesn’t. Together they mean nothing in a high-risk family ever goes unseen.

Go live

Create these by hand with the When → If → Then values above, or ask your Unbound contact to seed the whole pack — you’ll be live in minutes. Review a few days of analytics, promote what matters from Audit to enforcement, relax anything noisy, and you’ve got enforcement tuned to how your team actually works.