Evasion
Imperceptible perturbations that flip predictions — with gradients, through a surrogate, or from decisions alone.
ptAI runs real adversarial attacks — evasion, privacy, model theft, poisoning and object detection — against your own models and data, and turns them into evidence: metrics, adversarial datasets and a pass/fail verdict you can put in a release gate.
Choose the attacker's access — white-, grey- or black-box — and ptAI runs the matching IBM ART attacks, scores the damage and explains it.
Imperceptible perturbations that flip predictions — with gradients, through a surrogate, or from decisions alone.
Does the model leak who was in its training set? Rule-based and black-box attacks with AUC and attacker advantage.
Steal a working copy from predictions alone and measure how faithfully it reproduces your model.
Inject a few malicious training samples, retrain a clone and measure the attack success rate of the hidden trigger.
An ε-sweep across FGSM, PGD and BIM with thresholds and a pass/fail verdict — the release-gate view.
Make objects vanish, appear or change class on Faster R-CNN and YOLOv5 — with mAP drop, boxes and adversarial patches.
Tabular or image, deep learning or trees. Untrusted formats are only ever loaded inside an isolated, network-less sandbox.
Upload a model and data — or pick a saved target, a built-in model or the COCO detection sample.
Family, access level and algorithm, with compatibility checked against your model and parameters explained.
Live progress, metrics and a verdict, adversarial datasets, side-by-side images and a result ZIP — kept in Reports.
Everything the dashboard does is one HTTP call away — authenticated with an API key, run as a background job, delivered as a ZIP or JSON. Drop it into CI.
# White-box PGD on a tabular model → result ZIP curl -X POST https://api.pt4ai.k3ylabs.dev/api/attack/evasion/whitebox \ -H "X-API-Key: $PTAI_KEY" \ -F data_type=structured -F attack=pgd \ -F 'params={"eps":0.1,"eps_step":0.01,"max_iter":40}' \ -F dataset=@test.csv -F model=@model.h5 \ -F scaler=@scaler.joblib -F encoder=@encoder.joblib \ -o result.zip
import requests, time API = "https://api.pt4ai.k3ylabs.dev" H = {"X-API-Key": "..."} files = {k: open(f, "rb") for k, f in {"dataset": "test.csv", "model": "model.h5", "scaler": "scaler.joblib", "encoder": "encoder.joblib"}.items()} job = requests.post(f"{API}/api/attack/evasion/blackbox?async=true", headers=H, files=files, data={"data_type": "structured", "attack": "hsj"}).json() while requests.get(API + job["status_url"], headers=H).json()["status"] != "done": time.sleep(5) open("result.zip", "wb").write(requests.get(API + job["result_url"], headers=H).content)
# PGD on YOLOv5s against two COCO samples → boxes, mAP drop, datasets curl -X POST https://api.pt4ai.k3ylabs.dev/api/attack/object-detection \ -H "X-API-Key: $PTAI_KEY" \ -F model=yolov5s -F attack=pgd \ -F 'params={"eps":8,"eps_step":2,"max_iter":10}' \ -F images=000000206487.jpg,000000118209.jpg \ -o od_result.zip # models, attacks and sample images curl https://api.pt4ai.k3ylabs.dev/api/object-detection/catalog -H "X-API-Key: $PTAI_KEY"
Sign in to the dashboard, or point your scripts at the API.