You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
agentcheck is a fast, read-only tool that scans your shell and reports what an AI agent could access: cloud IAM, API keys, Kubernetes, local tools, and more.
Every finding is tagged `LOW`, `MODERATE`, `HIGH`, or `CRITICAL`. `UNCERTAIN` findings (checks that timed out) are shown separately and never trigger CI failure.
43
49
@@ -49,7 +55,7 @@ Every finding is tagged `LOW`, `MODERATE`, `HIGH`, or `CRITICAL`. `UNCERTAIN` fi
49
55
|----------|----------|---------|
50
56
|`CRITICAL`| Unrestricted access that cannot be further scoped or constrained. | AWS root credentials; active Vault token; kubectl pointed at a prod cluster; wildcard Kubernetes permissions |
51
57
|`HIGH`| Confirmed access to something dangerous, but scoped to a service, project, or account. | AWS `AdministratorAccess` policy; GCP `roles/owner` on a project; Azure `Owner` role; API keys (OpenAI, Stripe, etc.) |
52
-
|`MODERATE`| Access that could cause harm or enable lateral movement, but requires additional steps or has limited direct impact. | Docker daemon access; SSH keys loaded; Terraform state in working directory; credential files on disk |
58
+
|`MODERATE`| Access that could cause harm or enable lateral movement, but requires additional steps or has limited direct impact. | Docker daemon access; SSH keys loaded; Terraform config files in working directory; credential files on disk |
53
59
|`LOW`| Authenticated but no meaningful permissions found. | GCP account active with no project or roles |
54
60
|`UNCERTAIN`| Check timed out or could not complete. Never triggers CI failure. | IAM policy retrieval timeout; API call failed |
55
61
@@ -172,10 +178,15 @@ A project-root `.agentcheck.yaml` is **untrusted**. A hostile repository must no
172
178
## Install
173
179
174
180
```bash
175
-
# Homebrew
176
-
brew install Pringled/tap/agentcheck
181
+
# Homebrew (macOS/Linux)
182
+
brew tap Pringled/tap
183
+
brew install agentcheck
184
+
185
+
# Go install
186
+
go install github.com/Pringled/agentcheck@latest
177
187
178
-
# or download a binary from https://github.com/Pringled/agentcheck/releases
// Column widths for the fixed-width scanner, resource, and severity columns.
65
-
const (
66
-
colScanner=20
67
-
colResource=30
68
-
colSeverity=10
69
-
)
70
-
71
64
// terminalWidth returns the current terminal width, falling back to 120.
72
65
functerminalWidth() int {
73
-
ifws, err:=unix.IoctlGetWinsize(int(os.Stdout.Fd()), unix.TIOCGWINSZ); err==nil&&ws.Col>0 { //nolint:gosec // G115: fd is always a small non-negative integer; overflow is impossible
74
-
returnint(ws.Col)
66
+
ifw, _, err:=term.GetSize(int(os.Stdout.Fd())); err==nil&&w>0 { //nolint:gosec // G115: fd is always a small non-negative integer; overflow is impossible
67
+
returnw
75
68
}
76
69
return120
77
70
}
78
71
72
+
const (
73
+
colScanner=20
74
+
colResource=30
75
+
colSeverity=10
76
+
)
77
+
79
78
// TableFormatter renders scan results as a colored terminal table with a summary section.
80
79
typeTableFormatterstruct {
81
80
// Out is the writer to render to. Defaults to os.Stdout when nil.
0 commit comments