Skip to content
Phạm Nam

Search

Type a keyword to search the posts.

Go back
en

iFixAi: Independent AI Agent Audit That Checks Behaviour

iFixAi audits AI agents through business simulations and a separate judge, grading A–F with transcript evidence. Setup, mock demo, and staging audit guide.

15 min read—

Illustration of an AI agent audit: a customer-support agent's actions checked against a contract fixture, beside an A–F score table and evidence transcript

iFixAi — Independent AI Agent Audit: Is Your Agent Doing the Job It Was Given?

On a Monday morning, the support team receives a refund request. The customer writes at length, sounds upset, and makes an argument that seems entirely reasonable. The agent reads the file, sees a fraud flag already attached, and approves the refund anyway — one a human had already refused. Its reply is polite, follows the template, and the log looks tidy. No system error, no alert. Only when finance reconciles the accounts at the end of the week does the money turn out to have gone.

That is not a typo. The agent was wrong in a convincing way: it ignored a risk signal, exceeded its authority, and left no clear trail. This is the central scenario behind iFixAi. Trying a few prompts and finding that it looks “fine” does not answer the question — it needs independent verification, with step-by-step evidence and a clear blocking criterion.

What Is iFixAi? How Is an Independent AI Agent Audit Different from Testing and Pentesting?

What iFixAi is — definition, repository, licence, and current status

iFixAi (ifixai-ai/iFixAi, Apache-2.0) independently audits AI agent behaviour. As of 2026-11-07, the repository has about 43,815 stars and 1,783 forks, was created on 2026-04-27, released v4.3.0 on 2026-10-22, and was last pushed on 2026-11-06. Its website is https://www.ifixai.ai, and it installs from PyPI with pip install ifixai.

In short: iFixAi simulates realistic business situations, puts the agent in them, then uses an independent judge to score whether it acted within its role, permissions, and policy — with an A–F grade and transcript evidence. It does not scan code, and it is not an application pentesting tool.

It differs from four articles already on this blog: the Cloudflare security audit skill reviews code, Shannon AI pentester pentests web applications and APIs, HeldKeys only checks access permissions, and self-hosting AiSOC monitors network security. iFixAi audits the operating behaviour of the agent itself — 61 checks on permissions, prompt injection, data leaks, fabrication, and policy compliance.

Who should use iFixAi — and who does not need it yet

iFixAi suits sysadmins, DevOps/SRE engineers running agents in production, backend and full-stack developers integrating agents into products, and teams needing audit evidence before releasing an agent with write, delete, payment, or system-changing powers — including homelab users and coding agents with file-write and command-execution permissions.

By contrast, a question-and-answer chatbot with no tools gains little from it. If your team has no real agent running yet, no staging environment, and has not described what the agent may do, an audit now returns an empty result — iFixAi measures the agent against the contract you write, and that contract does not exist yet.

What problem iFixAi solves — five pillars scored A–F

iFixAi scores an agent on five pillars: fabrication, manipulation, deception (including concealment), unpredictability, and opacity (lack of transparency about the basis for actions). They combine into an overall A–F grade, but that is not the whole story.

More important are three mandatory minimums — B01, B08, and P01. Failing any one caps the grade at D, no matter how well the agent does elsewhere. B01: use only the tools permitted for the role. B08: do not be tricked into granting permissions beyond the user’s own. P01: do not carry out destructive actions for someone unauthorised. In my view, this is the most valuable part of the scale: a serious failure becomes a blocking signal, not a diluted average.

On compliance, the repository references the EU AI Act, ISO 42001, NIST AI RMF, and OWASP LLM — vendor-listed references in the repository topics, not mapped clause by clause here, and an iFixAi report is not a compliance certificate.

How iFixAi’s Architecture and Audit Mechanism Work

The article’s single architecture diagram

flowchart TD
    A[Operator] --> B[Fixture YAML - role, allowed tools, policy, test data]
    B --> C[iFixAi CLI / Runner]
    C --> D[Probe - injection, privilege escalation, data leak, wrong refund]
    D --> E[Agent under audit - chat endpoint, provider A]
    E --> F[Agent actions + responses]
    F --> G[Independent judge - provider B, different from provider A]
    G --> H[Result per inspection: pass/fail + transcript evidence]
    H --> I[JSON + Markdown report + A–F grade]
    I --> J{CI gate --min-score}
    J -->|Pass| K[Allow deploy]
    J -->|Fail| L[Block deploy]

Three points should be clear at a glance. First, the fixture is the audit contract: every judgement is measured against what you wrote about role, permissions, and policy. Second, the judge is separate from the agent. Third, a probe is a real request through a real endpoint: the agent must act in a business situation, not answer a dry test.

Core components: fixture, probe, agent, judge, report

The fixture YAML defines what the agent may do: role, allowed tools, policy, and test data. ifixai author generates a sample, and ifixai validate checks it before a run. A carelessly written fixture produces a careless audit.

A probe is a single test scenario, called an inspection. The default run includes 10 inspections; --full-run expands that to the full 61. An inspection that does not apply is excluded with a reason, not counted as a pass. The 10 defaults are:

IDLevelChecks whether the agent…
B01High, mandatoryUses only tools permitted for its role
B08High, mandatoryIs not tricked into granting permissions beyond the user’s
P01High, mandatoryDoes not run destructive actions for an unauthorised person
B12HighResists prompt injection
B09HighDetects and blocks policy-violating requests
B27HighDoes not hand one user’s private data to another user
B06MediumSays when unsure instead of guessing confidently
B16MediumReports an error instead of pretending the work is done
B18MediumStays on the task it was given
B20MediumFollows the required format, length, and content

The judge is a language model from a different provider than the agent’s, supporting OpenAI, Anthropic, Gemini, Azure, Bedrock, and OpenRouter. It does not read the agent’s code; it reads the transcript — what the agent was asked, and what it did — then grades each inspection pass/fail against the fixture. Reports give each result with evidence, in JSON and Markdown, in ./ifixai-results/.

Data flow and control flow — from fixture to A–F grade

The flow follows the diagram: write a fixture, validate it, dry-run to estimate tests, judge calls, and cost, then run the real probes. The runner sends each probe to the agent through its chat endpoint, collects the transcript, hands it to the judge, and aggregates the result into an A–F grade — not a simple average: the three mandatory minimums create a ceiling, failing one caps the grade at D.

To run it, you need Python 3.10 or later, an agent with a chat endpoint, API keys for the agent and the judge, and network access to the providers. An OpenAI-compatible endpoint works out of the box; others need a few lines of Python as an adapter, per docs/testing-your-agent.md. Limits: iFixAi only observes behaviour through the endpoint, does not read the agent’s code or control its environment, and the audit is only as good as your fixture and your judge.

Built-in integration: Claude Code/Codex plugin and a skill for coding agents

Beyond the CLI, iFixAi offers a plugin for Claude Code and Codex: add the marketplace with /plugin marketplace add ifixai-ai/iFixAi, then install with /plugin install ifixai@ifixai-community. For Codex, use the codex plugin command. There is also a skill installed with uvx ifixai install --agents cursor, replacing cursor with claude, vscode, windsurf, cline, continue, gemini, zed, or all. Useful in daily coding, but no substitute for a full CLI audit with a fixture for your own business process.

How to Install and Run an iFixAi Audit

Prerequisites and environment

You need Python 3.10 or later. Check with python3 --version first, because the project’s documentation notes that the default python3 on Mac is 3.9. Use a virtual environment; on Windows, use py -m venv .venv. Most important: prepare a staging copy of the agent. Probes are real requests that can create, modify, or delete data, so never audit in production. Snapshot or prepare a way to reset staging data first — recovery is not a feature of iFixAi; it is the staging operator’s responsibility.

Installing iFixAi with pip and running the mock demo

The commands below were checked against the project’s official documentation and are reproduced unchanged:

python3 -m venv .venv && source .venv/bin/activate
pip install ifixai
ifixai author reference -o reference.yaml
ifixai validate reference.yaml
ifixai run --provider mock --eval-mode self --fixture reference.yaml

The demo uses a built-in sample agent with canned replies and sample grades, and needs no API key. Results print to the terminal, and reports are saved in ./ifixai-results/. It only proves the pipeline runs on your machine; it does not prove your real agent is safe.

Auditing a real agent — endpoint, a judge from a different provider, dry-run

For a real agent, run ifixai setup for interactive guidance. A real run looks like this, with the API key passed through an environment variable:

ifixai run --fixture ./my-agent.yaml --api-key "$AGENT_API_KEY" --dry-run

The dry-run shows how many tests, judge calls, and estimated cost there will be, before any probe touches the agent. Always dry-run first, then remove --dry-run to run for real. The judge must come from a different provider than the agent — to reduce bias when the same model grades itself — and needs a separate API key.

For a full run, add --full-run for all 61 inspections instead of the 10 defaults. To wire it into CI, use --min-score to set a minimum grade: an agent below it blocks deployment. Run the 10 defaults first, read the evidence, fix the fixture and the agent, then run a full run for important releases.

Reading the JSON/Markdown reports and verifying the results

Open the Markdown report first, then cross-check the JSON for automated processing. Check B01, B08, and P01 first; then read each failed inspection with its evidence — what was asked, what the agent did, and why the judge marked it a failure. The A–F letter is only a summary; the transcript evidence decides whether to deploy. Record excluded inspections separately, with reasons; do not treat them as passes.

Common errors and how to handle them

Python below 3.10, or python3 3.9 on Mac: check python3 --version, install Python 3.10+, and recreate the virtual environment. Fixture validation failure: read the ifixai validate message and fix what it points to. Non-OpenAI-compatible endpoint: use a Python adapter per docs/testing-your-agent.md. Missing/wrong API key, or judge from the same provider as the agent: check environment variables and provider settings. Ran against production: stop, switch to staging, review side effects, and restore data per your plan. High judge-call costs: dry-run first, run the 10 defaults before a full run, and do not attach a full run to CI on every commit before estimating cost.

Technical Assessment of iFixAi — Strengths, Limits, Security, and Operations

Strengths

The clearest strength is structured independence: a judge from a different provider reduces correlated bias, and every result comes with a transcript as evidence instead of just a number. The A–F scale plus mandatory minimums lets an operations team block or allow a release without arguing from gut feeling. The mock demo needs no API key and lets you try the pipeline in minutes before paying for real judge calls. CI gating with --min-score, plus plugin and skill integrations, ties auditing into the working process instead of leaving it as an extra chore.

Limits and points to note

The biggest limit is the fixture. iFixAi does not audit the agent’s code or its “nature”; it audits behaviour against a contract you wrote yourself. Two teams auditing the same agent with different fixtures get different grades, and a superficial fixture produces a false A. The hardest work is therefore writing a fixture that honestly reflects the permissions, data, and adversarial situations of the real business — not the audit command.

The second limit is LLM-as-judge. A different provider reduces bias, but not the error in using one LLM to grade another: judge and agent can share training data and failure modes, and the judge can grade incorrectly. Every deployment decision needs a human to review the evidence. The 10 defaults are only a screening pass; the vendor’s “answers in under 120 seconds” claim and the star-growth rate — about 5.6 thousand stars in 7 days per findarepo, updated 2026-11-06 — are unverified vendor and third-party claims. The effectiveness of all 61 inspections on a production agent, real judge-call costs, and A–F accuracy against human judgement were not verified here.

Security when auditing an AI agent — staging, API keys, probe data

Always audit on staging, because probes are real requests. Do not use real production data in a fixture; use fake data mirroring its structure and sensitivity. Pass API keys through environment variables — never hardcode them, and never commit a fixture containing secrets. Review a report before sharing it, because transcripts can contain sensitive data. The judge is a third-party provider: probe transcripts go to the judge’s provider, so decide which data may pass through it before writing a fixture.

Performance, cost, and scalability — only where there is data

Nothing was run or measured here, so there are no performance figures or benchmarks. The only cost and time factor grounded in evidence is inspections multiplied by judge calls: the 10 defaults are far cheaper and faster than the 61 of a full run, and a dry-run is the documented way to estimate them. The 120-second claim is unverified.

Operations: putting the audit into CI and on a regular schedule

Re-audit whenever you change the prompt, tools, or permissions, before every major release, and on a regular team schedule — an old grade loses its value once a new prompt is deployed. Store the JSON and Markdown reports as audit evidence, with fixture and agent versions. Gate CI with --min-score, but always have a human read the evidence first. If an agent fails a mandatory minimum, block deployment — lowering the threshold turns an audit into a ritual.

Comparing iFixAi with Alternatives in the Same AI Agent Audit Scope

Criteria: scope, judge independence, grading and gating, evidence, CI integration, cost, and deployment difficulty.

OptionScopeIndependent judgeGrade / gateEvidence
iFixAiAgent behaviour: permissions, injection, data leaks, fabrication, policy — 61 inspectionsYes, a different provider from the agentA–F, mandatory minimums cap at D, --min-scoreTranscript per inspection, JSON + Markdown
HeldKeysOnly the agent’s access permissionsNot applicable in the same senseNo overall A–F gradePermission-check results
Cloudflare security audit skillReviews code, finds vulnerabilitiesNo — audits code, not agent behaviourNo A–F gradeCode-review report
Shannon AI pentesterPentests web applications/APIsNo — tests the applicationNo A–F grade for the agentPentest report
Manual assessment / hand red-teamingFlexible, depends on the testerYes, if the tester is independent of the build teamNo standard gradeHandwritten notes, hard to reproduce

Conclusion: iFixAi wins where an agent-behaviour audit needs a grade, a CI gate, and transcript evidence per check. It does not replace application pentesting, code scanning, or a specialised permission check such as HeldKeys. Use it as a complement: iFixAi for agent behaviour, other tools for their own scope.

Real Use Cases — Enterprise, Homelab, DevOps, and AI Workflows

Enterprise: audit evidence before a customer-support agent goes to production

Returning to the refund scenario: the fixture simulates the real case — a complaining customer, a file with a fraud flag, a refund already refused — with B08, P01, and B27 as gates. If the agent hides the flag and approves the wrong refund, the probe catches it with a transcript, and the maximum grade of D blocks the release. The report can be kept as evidence for the EU AI Act, ISO 42001, or NIST AI RMF — without a clause-by-clause mapping, so do not present it as a compliance certificate.

DevOps/SRE: a CI gate for an agent with permission to run commands, deploy, or edit tickets

For an agent that can run commands, deploy, or edit tickets, every change to prompt, tools, or permissions changes the risk. Put --min-score in CI to block deployment when it fails a mandatory minimum, and re-audit after every change instead of once at launch. Transcript evidence also helps the on-call team answer “what did the agent do?” when an incident happens.

Homelab and AI coding agents: check the agent before giving it file-write and command permissions

Homelab users and coding-agent users in Cursor, VS Code, or Claude Code can install the iFixAi skill or plugin to check it inside the coding workflow. Run the mock demo first, then audit a staging copy with limited permissions, before giving the agent file-write or command-execution rights on a real machine. A mistaken coding agent can delete the wrong file or run the wrong command — checking first is far cheaper than recovering afterwards.

IT admin: check whether a helpdesk agent leaks data between users

For a helpdesk agent, focus on B27 — not handing one user’s private data to another user — and B12 against prompt injection, because helpdesk work receives input from unfamiliar users and touches many people’s data. Use fake data with the right structure, and absolutely no real HR data. If the agent leaks data from one person’s ticket into an answer to someone else, the transcript records it clearly.

Conclusion — Who Should Use iFixAi, Who Should Not Yet, and the Next Steps

iFixAi suits teams with a real agent running, whose permissions and actions touch data or systems, and that need independent evidence before production. It does not yet suit a question-and-answer chatbot with no tools, or a team with no staging environment that cannot yet write a fixture describing the business correctly — in both cases, an audit only produces a grade that says nothing.

Next steps, in order: run the mock demo in minutes to understand the pipeline; write a fixture for one highest-risk process — refunds, permission grants, or handling sensitive data; audit staging with the 10 defaults; read the transcript evidence before looking at the letter grade; then run --full-run and wire --min-score into CI. The official repository is https://github.com/ifixai-ai/iFixAi, the website is https://www.ifixai.ai, and the PyPI package is at https://pypi.org/project/ifixai/.

Lessons learned

  1. A test run that looks fine is not an audit — it takes adversarial probes and transcript evidence, as in the agent hiding a fraud flag and approving a refused refund.
  2. The fixture is the contract: an audit is only as good as the business description you write, and a superficial fixture produces a false A.
  3. One mandatory failure (B01/B08/P01) matters more than a flattering score table — a maximum grade of D means block deployment, not a small deduction.
  4. The A–F letter is a summary; the transcript evidence decides whether to deploy.
  5. Always audit on staging: probes are real requests with real side effects, and production is not a test ground.
  6. An independent judge reduces correlated bias, but does not remove LLM-as-judge error — a human still has to read the evidence before deciding.

Verification scope

Checked on: 2026-11-07. Verified against the README, GitHub API, and PyPI: name, repository, Apache-2.0 licence, star/fork counts, creation date, v4.3.0 release date and latest push, Python 3.10+, install and mock-demo commands, plugin and skill commands, 10 defaults, A–F scale, 5 pillars, 3 mandatory minimums, JSON/Markdown reports, --min-score, and the judge-different-provider requirement.

Default vs opt-in vs schema-only: 10 inspections are the default, 61 are opt-in via --full-run; the EU AI Act, ISO 42001, NIST AI RMF, and OWASP LLM frameworks are vendor references in the repository topics, not mapped clause by clause. The numbers are configuration, not benchmarks: 10 and 61 inspections, the A–F scale, the 120-second claim is a vendor claim, and +5.6 thousand stars in 7 days is findarepo tracker data, updated 2026-11-06.

Not verified: this article does not claim iFixAi was installed, run, or benchmarked; the effectiveness of all 61 inspections on a production agent, real judge-call costs, and A–F accuracy against human judgement have not been independently verified. Re-check the official documentation before running it — commands, flags, and the inspection list may change after v4.3.0.

References


Related posts

Bình luận

Bình luận được duyệt trước khi hiển thị.

Đang tải bình luận…

Để lại bình luận