AI Vulnerability Identification & Security Evaluation framework
Project description
AVISE - AI Vulnerability Identification & Security Evaluation
A framework for identifying vulnerabilities in and evaluating the security of AI systems.
Full Documentations: https://avise.readthedocs.io
Quickstart for evaluating Language Models
Prerequisites
- Python 3.10+
- Docker (For Running models locally with Ollama)
1. Install AVISE
Install with
-
pip:
pip install avise
-
uv:
uv install avise
2. Run a model
You can use AVISE to evaluate any model accessible via an API by configuring a Connector. In this Quickstart, we will
assume using the Ollama Docker container for running a language model. If you wish to evaluate models deployed in other ways, see
the Full Documentations and available template connector configuration files at AVISE/avise/configs/connector/languagemodel/ dir of this repository.
Running a language model locally with Docker & Ollama
- Clone this repository to your local machine with:
git clone https://github.com/ouspg/AVISE.git
-
Create the Ollama Docker container
- for GPU accelerated inference with:
docker compose -f AVISE/docker/ollama/docker-compose.yml up -d
- or for CPU inference with:
docker compose -f AVISE/docker/ollama/docker-compose-cpu.yml up -d
- for GPU accelerated inference with:
-
Pull an Ollama model to evaluate into the container with:
docker exec -it avise-ollama ollama pull <model_name>
3. Evaluate the model with a Security Evaluation Test (SET)
Basic usage
avise --SET <SET_name> --connectorconf <connector_name> [options]
For example, you can run the prompt_injection SET on the model pulled to the Ollama Docker container with:
avise --SET prompt_injection --connectorconf ollama_lm --target <model_name>
To list the available SETs, run the command:
avise --SET-list
Advanced usage
Configuring Connectors
You can create your own connector configuration files, or if you cloned the AVISE repository, you can modify the existing connector configuration files in AVISE/avise/configs/connector/languagemodel/.
For example, you can edit the default Ollama Connector configuration file AVISE/avise/configs/connector/languagemodel/ollama.json, and insert the name of an Ollama model you have pulled to be used as a target by default:
{
"target_model": {
"connector": "ollama-lm",
"type": "language_model",
"name": "<NAME_OF_TARGET_MODEL>",
"api_url": "http://localhost:11434", #Ollama default
"api_key": null
}
}
If you want to use custom configuration files for SETs and/or Connectors, you can do so by giving the paths to the configuration files with --SETconf and --connectorconf arguments:
avise --SET prompt_injection --SETconf AVISE/avise/configs/SET/languagemodel/single_turn/prompt_injection_mini.json --connectorconf AVISE/avise/configs/connector/languagemodel/ollama.json
Required Arguments
| Argument | Description |
|---|---|
--SET, -s |
Security Evaluation Test to run (e.g., prompt_injection, context_test) |
--connectorconf, -c |
Path to Connector configuration JSON (Accepts predefined connector configuration paths: ollama_lm, openai_lm, genericrest_lm) |
Optional Arguments
| Argument | Description |
|---|---|
--SETconf |
Path to SET configuration JSON file. If not given, uses preconfigured paths for SET config JSON files. |
--target, -t |
Name of the target model/system to evaluate. Overrides target name from connector configuration file. |
--format, -f |
Report format: json, html, md |
--runs, -r |
How many times each SET is executed |
--output |
Custom output file path |
--reports-dir |
Base directory for reports (default: avise-reports/) |
--SET-list |
List available Security Evaluation Tests |
--connector-list |
List available Connectors |
--verbose, -v |
Enable verbose logging |
--version, -V |
Print version |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avise-0.2.1.tar.gz.
File metadata
- Download URL: avise-0.2.1.tar.gz
- Upload date:
- Size: 59.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00ff947b96312a21176e92950f0687276e90046fc5c81f97499910c83478fd29
|
|
| MD5 |
5228fad6430d37302d2ecc350d25b300
|
|
| BLAKE2b-256 |
1e6d7a17ce9dfe399898dc0087c3680200a1897db26b4151373b9774051c6f83
|
Provenance
The following attestation bundles were made for avise-0.2.1.tar.gz:
Publisher:
pypi-publish.yml on ouspg/AVISE
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
avise-0.2.1.tar.gz -
Subject digest:
00ff947b96312a21176e92950f0687276e90046fc5c81f97499910c83478fd29 - Sigstore transparency entry: 1284627632
- Sigstore integration time:
-
Permalink:
ouspg/AVISE@67aaa4ead216082014c2f8a98721093d765e3a51 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/ouspg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@67aaa4ead216082014c2f8a98721093d765e3a51 -
Trigger Event:
push
-
Statement type:
File details
Details for the file avise-0.2.1-py3-none-any.whl.
File metadata
- Download URL: avise-0.2.1-py3-none-any.whl
- Upload date:
- Size: 84.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41472ed595cad3ba7a0994fc5284118b856c823c037327611490a0549a674cd5
|
|
| MD5 |
eb9087a4588b7914b6bdfb1a98dbf7d8
|
|
| BLAKE2b-256 |
a951744e9f4b6fed2ad4da54fa79377e72223c25a5d6a94471765a96b893f6d9
|
Provenance
The following attestation bundles were made for avise-0.2.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on ouspg/AVISE
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
avise-0.2.1-py3-none-any.whl -
Subject digest:
41472ed595cad3ba7a0994fc5284118b856c823c037327611490a0549a674cd5 - Sigstore transparency entry: 1284627717
- Sigstore integration time:
-
Permalink:
ouspg/AVISE@67aaa4ead216082014c2f8a98721093d765e3a51 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/ouspg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@67aaa4ead216082014c2f8a98721093d765e3a51 -
Trigger Event:
push
-
Statement type: