Observed since 20 Oct, 21:41 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agentconfigguard
Preflight security auditor for AI-agent and MCP configuration.
Preflight security auditing for AI-agent configuration and MCP — before your agent runs.
Audit your AI agents before they audit your code.
AgentGuard is an open-source CLI and GitHub Action that scans AI-agent instructions and MCP configuration for high-signal security and policy risks.
It is local, deterministic, read-only, and CI-friendly: AgentGuard does not invoke agent tools or connect to configured MCP servers during a normal scan.
Modern coding agents can read files, run commands, call MCP tools, access secrets, and follow large instruction files. A small configuration mistake can therefore become a security boundary problem.
AgentGuard is the preflight check that runs before the agent:
repository
│
├── agent instructions
├── MCP configuration
├── provider settings
│
▼
┌─────────────────────────────┐
│ AgentGuard │
│ deterministic local audit │
└──────────────┬──────────────┘
│
findings + score
│
┌──────┴──────┐
▼ ▼
local CI
review GitHub checks
python -m pip install agentconfigguard
agentguard demo
The demo is synthetic and performs no network access and no file writes.
Then scan a real repository:
agentguard scan .
Useful outputs:
agentguard scan . --json
agentguard scan . --sarif agentguard-results.sarif
agentguard scan . --html agentguard-report.html
agentguard scan . --adapters
agentguard scan . --context
| Rule | Detects | Severity |
|---|---|---|
AG-SEC-001 | Credential-like values in tracked config | High |
AG-EXEC-001 | Shell / terminal / command-execution capabilities | High |
AG-FS-001 | Broad filesystem or workspace access | High |
AG-MCP-001 | MCP trust=true confirmation bypass | High |
AG-MCP-002 | Unencrypted remote MCP http:// endpoints | Medium |
AG-MCP-003 | Remote MCP servers without provenance metadata | Low |
AG-POLICY-001 | Untrusted input + private data + outbound actions | Critical |
AG-CODEX-001 | Codex full-access + no-approval combination | High |
AG-GEMINI-001 | Gemini persistent approval default | Medium |
AG-OPENCODE-001 | OpenCode unrestricted shell permission | High |
AG-OPENCODE-002 | OpenCode unrestricted edit permission | High |
AG-PROMPT-001 | Common prompt-injection patterns | Medium |
AG-CONTEXT-001 | Oversized agent instruction files | Low |
AG-CONTEXT-002 | Instruction files above a configured context budget | Medium |
Supported agent/config markers include Claude, Codex, Cursor, Gemini, OpenCode, and MCP.
Add AgentGuard to any repository:
name: AgentGuard
on:
push:
pull_request:
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: atilaamorim/agentguard@v0.3.1
with:
path: .
fail-on-severity: "high"
The Action can emit:
It also supports policy files, baselines, and context budgets.
Current stable Action:
v0.3.1. Themainbranch contains the upcomingv0.3.0feature set.
Keep the security gate with the repository:
version: 1
fail_on_severity: high
max_context_tokens: 12000
ignore:
- rule: AG-MCP-002
paths:
- "configs/local/*"
AgentGuard discovers .agentguard.yml / .agentguard.yaml automatically.
Existing repositories can adopt AgentGuard without fixing everything at once:
agentguard scan . --write-baseline agentguard-baseline.json
agentguard scan . --baseline agentguard-baseline.json
Only findings that are not already in the baseline are returned.
repos:
- repo: https://github.com/atilaamorim/agentguard
rev: v0.3.1
hooks:
- id: agentguard
| Principle | Meaning |
|---|---|
| Local | No remote service is required for a normal scan |
| Deterministic | The same input should produce reproducible findings |
| Read-only | The scanner does not execute commands from the project |
| Explainable | Findings have stable rule IDs and remediation guidance |
| Composable | CLI, CI, SARIF, HTML, policy, and baseline modes can be combined |
AgentGuard is deliberately a static configuration auditor, not a runtime firewall.
| Capability | AgentGuard |
|---|---|
| Local configuration audit | ✅ |
| MCP trust / transport / provenance checks | ✅ |
| Provider-specific checks | ✅ |
| Dangerous capability-chain checks | ✅ |
| JSON / SARIF / HTML | ✅ |
| GitHub Actions | ✅ |
| Policy-as-code | ✅ |
| Baseline mode | ✅ |
| Runtime tool-call enforcement | ❌ |
| Live MCP probing | ❌ |
| LLM-powered verdicts | ❌ |
| Security certification / guarantee | ❌ |
A clean scan is not proof that an agent, MCP server, repository, or deployment is secure. Rules are heuristic and can have false positives or false negatives.
AgentGuard ships deterministic risky and safe fixtures under tests/fixtures/.
Run the suite locally:
pytest -q
Rules should include positive and negative regression coverage whenever practical.
Good starting points:
Small, focused pull requests are welcome. New security rules should include regression coverage and remediation guidance.
Security issues should follow SECURITY.md.
MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
PyYAMLEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.9",
"evaluation": "NOT_EVALUATED"
} | PyYAML>=6.0 | runtime |
bdist_wheel · 17.66 KB · Python py3
sdist · 18.77 KB · Python source
Shared repository data · GitHub
Public sponsor counts have not been collected. These signals belong to the repository owner.
github · 1 observations shown. Missing days are unknown.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-22 | 1 | 2026-10-22T10:26:21.1763257Z |
Observed since 20 Oct, 21:41 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:67e359d00be232e905f0a0b26331ab057c5e9ada6960a15f0652b0b7ecf96a45