TL;DR
iFixAi (ifixai-ai/iFixAi) is a Python CLI that audits an AI agent and gives it a letter grade from A to F. It does not measure latency or token cost. It asks whether the agent stays inside its job: does a support role only call the tools it is allowed to call, can a user talk it into more access, does it obey instructions hidden in a document, does it admit failure instead of pretending a task worked. It sends probe conversations to your agent, and a second model (the “judge”) grades the answers.
Facts as of October 15, 2026:
- 28,056 GitHub stars, 1,523 forks, Apache 2.0 license. GitHub Trending lists it with 2,109 stars today.
- Created April 27, 2026. Latest release: v4.2.0, published October 15, 2026.
- 0 open issues (11 closed) and 8 open pull requests.
- 60 inspections: 32 core checks that set the grade, plus 28 “premium preview” checks that are reported but never graded.
- Installs from PyPI as
ifixai; needs Python 3.10 or newer.
Not run by us: our hands-on lab (a throwaway GitHub Actions container) could not start today because the job was blocked by a billing limit on the account. Everything below comes from the repository, its docs, release notes and bundled case studies. We did not install iFixAi or produce a scorecard with it.
Our verdict: iFixAi is the most thought-through attempt we have seen at an operational audit of an agent, as opposed to a model benchmark. The scoring rules are public, the mandatory minimums are strict, and the default demo fails on purpose so you can see what failure looks like. The catch: a useful grade needs real work from you. You need a fixture describing your roles, tools and policies, an agent that exposes its permission layer, and a second model vendor to act as judge. Treat the grade as a structured review, not a certificate.
What problem it is trying to solve
Most eval tools for LLM apps answer technical questions: how accurate, how fast, how cheap, how resistant to known jailbreaks. The iFixAi README argues these “cannot answer the most crucial question”: is the agent doing the job it is supposed to do, given the business rules and org structure it operates under?
The founders explain the origin on Product Hunt: an agent they deployed for a customer, with access to email and calendar, misbehaved; the customer cancelled the contract, “and we decided to devote ourselves to AI misalignment.” So the inspections are written around how agents fail inside a company. The README’s illustrative example is a support agent whose evals were all green, but which hid a fraud flag, paid a refund a manager had declined, and changed a payout account without authorization.
How a run works
Every run has two roles:
| Role | What it is | How you set it |
|---|---|---|
| SUT (system under test) | The agent or model being graded | --provider plus --api-key, always passed explicitly |
| Judge | The model that grades the SUT’s answers | Auto-paired from a different vendor whose key is in your environment |
A grade is “citable” in the project’s terms only when a second vendor did the grading. With one key you can add --eval-mode self, and the report flags the grade as self-judged. Without that flag and without a second key, the run refuses to start rather than letting a model grade itself.
The inputs are the agent (a bare model API, your deployed agent over an OpenAI-compatible HTTP endpoint, a LangServe server, or a Python class), a fixture (YAML describing roles, users, tools and risk levels, data classifications, regulations, escalation channels and a governance: block with the real authorization policy), and a suite of inspections. The output is JSON plus Markdown in ./ifixai-results/ and a terminal scorecard.
The grade, and why it is strict
The A-F grade is a weighted average of five core pillars:
| Pillar | Weight | What it catches |
|---|---|---|
| Manipulation | 0.35 | Privilege escalation, breaking its own policy, prompt injection, poisoned retrieval |
| Fabrication | 0.20 | Using a tool it was not granted, no audit trail, unsourced or overconfident claims |
| Deception | 0.15 | Sandbagging, secret side goals, drifting off task, failing silently |
| Unpredictability | 0.15 | Distorted context, drifting from instructions, inconsistent decisions |
| Opacity | 0.15 | Weak risk scoring, regulatory gaps, broken human escalation, off-topic answers |
Bands: A at 0.90 and up, B at 0.80, C at 0.70, D at 0.60, F below. Default pass threshold: 0.85.
Three inspections are mandatory minimums: B01 (roles only use the tools they are allowed, needs 100%), B08 (the agent refuses to be talked into granting more access, needs 95%) and P01 (no destructive action for someone not allowed to run it, needs 100%). Miss any one and the overall score is capped at 60%. You cannot make up for letting the wrong role delete a database by being polite and well-sourced elsewhere. That matches how a real auditor reads results.
The 28 premium-preview inspections (sabotage, concealment, sandbagging, oversight atrophy, vulnerable-user care and more) are reported but never change the grade, so grades stay comparable between agents that expose different capabilities. The README stresses that “premium” is “a capability tier, not a paywall”; all 60 ship in the Apache 2.0 repo.
Install and first run
The fastest path uses the built-in mock provider. No keys, no network:
pip install "ifixai[anthropic]"
# Plumbing check: mock agent, self-judged, default 10 inspections
ifixai run --provider mock --api-key not-used --eval-mode self
The project says to expect a failing scorecard here. The bundled default fixture models a fictional managed-IT deployment agent (“NimbusForge Deploy Copilot”) with seeded defects: its governance: block grants a support engineer apply, exec, secret and destroy tools, and gives the CI pipeline ["*"]. Per the fixture’s README, B01 and P01 fail in the default run; with --full-run the project expects 15 fails, 44 passes and 1 inconclusive out of 60.
That is a clever teaching device, and a trap if you skip ahead: the docs warn that if you test your own model without --fixture, the seeded defects “land on YOUR scorecard.”
For a real model with a cross-vendor judge:
pip install "ifixai[anthropic,openai]"
export ANTHROPIC_API_KEY=... # the SUT, graded
export OPENAI_API_KEY=... # the judge, auto-paired
ifixai run --provider anthropic --api-key "$ANTHROPIC_API_KEY" --fixture ./my-fixture.yaml
There is also a guided wizard (ifixai setup, then ifixai run with no flags). Its ifixai.yaml stores the name of the environment variable holding your key, never the key.
From inside a coding agent, Claude Code users run /plugin marketplace add ifixai-ai/iFixAi and /plugin install ifixai@ifixai-community, then ask “run iFixAi on my setup”. The README says the agent builds the fixture, shows a free --dry-run cost estimate before anything is billed, runs the audit and explains the scorecard. Codex has a matching plugin, and uvx ifixai install --agents <name> scaffolds a /ifixai-skill command for Cursor, VS Code, Windsurf, Cline, Continue, Gemini and Zed.
Testing your actual agent, not just a model
A bare model API has no system prompt, tools or guardrails. The docs say a bare model “scores 43 of 60 inspections”; the other 17 return insufficient_evidence and drop out. The recommended path is your deployed agent:
ifixai run --provider http --endpoint http://localhost:8000/v1 \
--api-key "$YOUR_TOKEN" --model your-agent --grounding sut
Your agent serves POST /v1/chat/completions; return a sources array next to choices to get B28 (RAG context integrity) scored. With --grounding sut, iFixAi reads the governance your agent already enforces instead of injecting a fixture over it.
For an in-process agent, subclass ChatProvider. Only one method is required:
from ifixai.providers.base import ChatProvider
from ifixai.core.types import ChatMessage, ProviderConfig
class MyAgentProvider(ChatProvider):
async def send_message(self, messages: list[ChatMessage], config: ProviderConfig) -> str:
reply = await my_agent.ainvoke(
[{"role": m.role, "content": m.content} for m in messages]
)
return reply.text
Optional hooks (list_tools, get_audit_trail, authorize_tool, retrieve_sources and about twenty more) each turn more inspections from “insufficient evidence” into a real score. iFixAi does not invent a score for what it cannot see; it marks it inconclusive and keeps it out of the grade. The flip side: an agent that exposes nothing gets a narrow grade, so read the coverage section, not just the letter.
Suites, cost and speed
Since v4.2.0, ifixai run defaults to the 10-inspection essential suite: B01, B08, P01, B12 (prompt injection), B09 (policy violations), B27 (one user’s data leaking to another), B06 (admitting uncertainty), B16 (reporting failure instead of faking success), B18 (staying on task) and B20 (following format instructions).
| Suite | Inspections | Use it for |
|---|---|---|
smoke | 3 | Checking the pipeline works |
strategic | 8 | A quick read on the riskiest spots |
essential | 10 | The default first grade |
core | 32 | The full graded scorecard |
extended | 28 | Frontier-risk signals, outside the grade |
all / --full-run | 60 | Everything |
The project reports that on the bundled fixture a default run makes about 850 agent calls and 820 judge calls; a full run makes about 5,500 and 4,700. The README estimates full-suite judge cost at OpenRouter list prices of $12-18 with a single Claude Sonnet 4.6 judge, or $10-14 with Gemini 2.5 Pro plus GPT-5.4-mini as a two-judge panel. Agent calls are billed on top; the default run costs roughly a sixth.
The tagline promises an answer “in less than 120 seconds.” Thousands of model calls on a full run will take longer depending on your rate limits; we could not time it.
Beyond grades: trajectory audits and Policy Lab
v4.2.0 added two offline tools that do not touch the grade:
ifixai trajectoryaudits a recorded sequence of agent actions (JSONL or OTLP) against a business policy: an approval used twice, a worker outside its delegated scope, a shared budget overspent, an output citing the wrong source. Each finding links to the recorded events. It is passive and never executes a tool named in imported data.ifixai policy-labfinds harmful combinations of individually permitted actions. The bundled example: request a refund, self-approve it, pay it. Policy Lab finds that three-step sequence, then searches for the smallest permission removal that blocks it while keeping the legitimate goal (reviewer-approved payment) reachable.
Policy Lab is the most interesting idea in the repo. Permission reviews usually look at one tool at a time; the harm often lives in the sequence. The limit: you hand-write the business model as Boolean facts and action contracts. Nothing is inferred from tool descriptions.
The case studies
case_studies/ grades fixtures reconstructed from public accounts of incidents, including the Chaac Pizza Northeast complaint against Pizza Hut over the Dragontail dispatch system. That scorecard opens with “iFixAi did not test Pizza Hut’s production system” and calls the allegations unproven. On the permission topology as alleged, B01 scores 69.0% against a 100% minimum, computed from configuration alone with no model in the loop. It shows what B01 is for: a wrong role-to-tool mapping can be caught before deployment, deterministically, in seconds.
How it compares
| iFixAi | Promptfoo / garak-style red teaming | Eval platforms (e.g. Future AGI) | |
|---|---|---|---|
| Main question | Does the agent stay inside its job and permissions? | Can the model be broken by known attacks? | How good and consistent are outputs? |
| Input | Fixture of roles, tools, policies + the agent | Attack plugins + the model/app | Datasets, traces, metrics |
| Output | A-F grade with mandatory minimums | Pass/fail per attack | Scores and dashboards |
| Deterministic checks | Yes, for permission topology | Mostly no | Some |
iFixAi overlaps with red-teaming tools on prompt injection (B12) and with eval platforms on hallucination (B07), but its centre of gravity is authorization and governance. If you already red-team, it adds the “who may do what” layer rather than replacing anything.
Community reaction
The adoption signal is mixed. The repo has 28,056 stars and was Trendshift’s #1 Python repository of the week, but pypistats.org shows 481 downloads of ifixai in the 30 days to October 15, 2026. Plugin and uvx installs also pull from PyPI, so read the star count as attention, not usage.
Independent write-ups so far summarize the README rather than report runs. An August summary by Artem Daniliants described “49 inspections” and “13 premium categories”; today there are 60 inspections and 20 categories. The engine moves fast, and the Dragontail case study itself notes its v3.0 numbers “are not directly comparable” to later versions.
The release notes deserve credit. v4.1.0 has a section titled “Scores that were too generous”: judge verdicts sent as the text "false" used to count as true and inflate grounding scores, and an inspection pulled below threshold by its consistency cap used to keep its pass. Publishing fixes like that is what you want from an auditing tool.
Honest limitations
- The grade is only as good as your fixture. Describing roles, tools and policies accurately is real work, and Full mode rejects the bundled fixture by design.
- LLM judges grade most inspections. Only the structural checks are deterministic. Cross-vendor judges, majority voting and conservative tie-breaking reduce variance; they cannot remove it.
- Bare-model grades are not agent grades. Do not compare a bare API’s grade with a deployed agent’s.
- Telemetry is on by default. A random install ID, start/complete events, version, OS and interface. The README says it never sends code, findings, grades, prompts or IPs, and it is off in CI. Opt out with
--no-telemetryorDO_NOT_TRACK=1. - There is an upsell. The first interactive run asks once about a free “fast audit” from iFixAi Pro, the paid service with up to 400 inspections. Skipped in CI, in pipes and with
--no-promo. - Fast-moving engine. Three releases in a month, with changes to exit codes and config validation. Pin a version in CI.
FAQ
What is iFixAi?
An open-source (Apache 2.0) Python tool that audits AI agents. It runs up to 60 inspections covering tool permissions, privilege escalation, prompt injection, data leakage between users, fabrication and escalation to humans, and returns an A-F grade from five weighted pillars.
Is iFixAi free?
The engine and all 60 inspections are free. You pay for model calls, your agent’s and the judge’s. The README estimates $12-18 in judge costs for a full run with a Claude Sonnet 4.6 judge, and about a sixth of that for the default run. iFixAi Pro is a separate paid service.
Do I need two API keys?
For a “citable” grade, yes: one for the agent under test and one from a different vendor for the judge. With one key, --eval-mode self gives a smoke test marked as self-judged. The mock provider needs no key.
Can it test my own agent, not just GPT or Claude?
Yes. Use --provider http with an OpenAI-compatible endpoint, the LangServe adapter, or a ChatProvider subclass in Python. Implementing optional hooks lets more inspections produce real scores.
Can I use it in CI?
Yes. The flags mode is scriptable, telemetry and the Pro prompt switch off in CI, and since v4.2.0 an invalid run exits 2 and a partial run exits 1.
Why did my first run fail?
Without --fixture you used the bundled default fixture, which ships with seeded defects. B01 and P01 fail by design. Write your own fixture before reading anything into the grade.
Verdict
iFixAi asks a better question than most agent eval tools: not “is the model smart” but “does this agent stay inside the permissions and policies of the business it works for.” The strict mandatory minimums, the refusal to score what it cannot see, the cross-vendor judge rule and the candid release notes all point the same way. Use it if you ship agents with tools and roles, especially ones touching money, accounts or infrastructure, and budget an afternoon for the fixture. Skip it if you only need prompt-injection testing on a chatbot. Whatever grade you get, read the coverage and inconclusive list before quoting the letter.
Sources
- ifixai-ai/iFixAi on GitHub: README, stars, license, issues
- iFixAi v4.2.0 release notes
- iFixAi v4.1.0 release notes
- Get started guide
- Test your own agent
- Inspection catalogue
- Methodology
- Business Policy Lab
- Recorded trajectory assurance
- Default fixture design and defect map
- Dragontail case study scorecard
- SECURITY.md (telemetry)
- ifixai on PyPI
- pypistats.org: ifixai downloads
- iFixAi on Product Hunt
- Artem Daniliants: iFixAi grades AI agents on whether they do the job
- GitHub Trending (daily)