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.5.tar.gz (193.4 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.5-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ag_scan-0.1.5.tar.gz
  • Upload date:
  • Size: 193.4 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.5.tar.gz
Algorithm Hash digest
SHA256 4ad2d79656a038dfb89bda5acbc1c856f13abc5392dfa276e46f435cd82b99fc
MD5 f5bd8b2ed2705bfbf152e9cd108d2b28
BLAKE2b-256 99f0863af40d5d02c7ed1f94a2b29d6bccd6e6c2563fea8a83b03ed1fb71cc23

See more details on using hashes here.

Provenance

The following attestation bundles were made for ag_scan-0.1.5.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.5-py3-none-any.whl.

File metadata

  • Download URL: ag_scan-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7c9cade22b9497789172eef83f51232a745c78e3e9e92961a0ca18064e931ea0
MD5 de8a2476dea497b6b4be5fcbaae800e7
BLAKE2b-256 5bdce486d91376e712b7e0cea435c846fb9a88c6ae82f232d7e4da99e6fbc622

See more details on using hashes here.

Provenance

The following attestation bundles were made for ag_scan-0.1.5-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