AI-Surface

(β˜… 99)

Find and govern AI attack surfaces in application code at PR time. Free, OSS, runs offline.

  • .gitignore
  • .pre-commit-hooks.yaml
  • action.yml
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • Dockerfile
  • LICENSE
  • pyproject.toml
  • README.md
  • SECURITY.md

# Installation Guide

1. Get the code
git clone https://github.com/apisec-inc/AI-Surface

Downloads the entire project code from GitHub to your computer.

cd AI-Surface

Moves into the project folder you just downloaded.

2. Official Install Script

Easy Recommended
Prerequisites
  • pipx Installs Python-based CLI tools into isolated environments.
  • Python 3 Python is required to use pip.
pipx install apisec-ai-surface

Installs the CLI tool into an isolated environment via pipx.

pip install apisec-ai-surface && ai-surface scan .

Installs the package published on PyPI directly β€” no need to clone the source.

βœ… After installing, open a new terminal and run the program's version command (e.g. --version) to confirm it worked.

Pulled directly from this repo's README.

3. Docker

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t ai-surface .

Builds a runnable image based on the Dockerfile.

docker run -p 8080:80 ai-surface

Runs the built image as an actual container.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

4. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
pip install apisec-ai-surface && ai-surface scan .

Installs the package published on PyPI directly β€” no need to clone the source.

python -m venv .venv

Runs the Python script (or module).

pip install -e ".[dev]"

Installs the Python libraries listed in requirements.txt (or similar).

βœ… If it runs without errors and prints output in the terminal, it worked.

Pulled directly from this repo's README.

// repository documentation