Skip to main content

CI/CD safety and risk analysis for AI-assisted coding workflows.

Project description

agent-guard

CI/CD safety and risk analysis for AI-assisted coding workflows (Claude Code, Codex, Cursor, Copilot, …).

agent-guard scans pull request diffs for the patterns that AI coding assistants tend to slip into your repo: hallucinated imports, dangerous calls, missing tests, infra/auth changes, and leaked secrets. It runs deterministically (no LLM required), in <10s on typical diffs, and posts a single sticky comment on your PR.

Sample agent-guard PR comment showing risk score, severity tally, and grouped findings

Status

Milestone 1 — MVP. Python only for hallucinated-import detection; all other analyzers are language-agnostic. See features/agent-guard-feature-plan.md for the full roadmap.

For the full reference — every CLI flag, every rule, every config key, CI recipes, troubleshooting, and FAQ — see docs/USER_MANUAL.md.

Quickstart

As a GitHub Action

# .github/workflows/agent-guard.yml
name: agent-guard
on: pull_request
permissions:
  contents: read
  pull-requests: write
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: tasnuvaleeya/agent-guard@v0.1

Locally

pip install ag-scan                # PyPI distribution name
git diff main...HEAD | agent-guard scan --format md

Note: the PyPI distribution name is ag-scan because agent-guard was already taken by an unrelated project. The CLI command and GitHub Action are still named agent-guard.

What it flags

Analyzer Detects
secrets AWS, GCP, Slack, GitHub PAT, OpenAI/Anthropic API keys, high-entropy strings in .env*
hallucinated_imports Python imports not in stdlib, requirements.txt, pyproject.toml, or local modules
dangerous_patterns eval, exec, shell=True, pickle.loads, yaml.load w/o SafeLoader, verify=False, 0.0.0.0 binds
missing_tests Source-file changes without corresponding test changes
infra_changes Edits to .github/workflows, Dockerfiles, Terraform, k8s manifests, .env*

Each finding gets a severity (low/medium/high/critical); the report includes an aggregate risk score (0–100).

Configuration

Drop a .agent-guard.yml in your repo root. All keys are optional.

analyzers:
  secrets: { enabled: true }
  missing_tests: { enabled: true, min_added_lines: 30 }
fail_above: 60
exclude:
  - "vendor/**"
  - "**/*.generated.py"

Development

pip install -e ".[dev]"
pytest
ruff check .
mypy src

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ag_scan-0.1.3.tar.gz (193.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ag_scan-0.1.3-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file ag_scan-0.1.3.tar.gz.

File metadata

  • Download URL: ag_scan-0.1.3.tar.gz
  • Upload date:
  • Size: 193.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ag_scan-0.1.3.tar.gz
Algorithm Hash digest
SHA256 85a28c6a84e13e1afa23c2e7f3bb3387cfe3606bb949bd433dde8916ced4eb1a
MD5 c1793ab7e39fd4fc5a5cdc8efceab824
BLAKE2b-256 576c4a9975c322c4909f99269059acc41f2a091b38f20c5309adbc11258357d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ag_scan-0.1.3.tar.gz:

Publisher: release.yml on tasnuvaleeya/agent-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ag_scan-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ag_scan-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ag_scan-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ce1ed3d6ec97a0b884da6dfdb890cffa3da2f741e30108340fe9e8b4e7edd7b3
MD5 b53a371ca346dbf55e10185fbc648777
BLAKE2b-256 9ac0861d73b55137ff80901c48d93b4384f0920ab05c934b1f3c5cbc3b5ca496

See more details on using hashes here.

Provenance

The following attestation bundles were made for ag_scan-0.1.3-py3-none-any.whl:

Publisher: release.yml on tasnuvaleeya/agent-guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page