infiero
Request a scoping call
Penetration testing
Web applications and APIs
Automated, assisted, augmented
On demand or on schedule

Observe.01Infer.02Prove.03

Penetration testing for web applications and APIs. Deterministic reconnaissance gathers the evidence, AI-assisted analysis draws the inferences, and automated or human verification proves them before anything reaches your report.

Request a scoping callSee how a finding is reported
Fig. 1 — Engagement recordAbbreviated. Reconnaissance steps are versioned and hashed, so any run can be replayed and compared with the last.Illustrative
ElapsedStageModuleRecordResult
00:00:00OBSERVEscopeapp.example.com, api.example.com — two hosts, one APIScope locked · rev a41c
00:00:04OBSERVEdns/tls11 DNS records · TLS 1.2 and 1.3 offeredBaseline stored
00:01:12OBSERVEcrawl214 routes · 38 forms · 1 GraphQL schemaHash 9f3c…e1d0
00:06:40OBSERVEauthThree roles mapped: guest, user, adminSession model recorded
00:09:05INFERmodelSession identifier unchanged after role elevationConfidence 0.82 → verify
00:09:05INFERmodelInvoice IDs appear sequential across tenantsConfidence 0.64 → verify
02:14:31PROVEanalystSession fixation reproduced in two requestsFinding F-07 · High
02:31:10PROVEanalystTenant isolation holds; hypothesis rejectedRejected · not reported
Method

Three stages. Each one leaves a record.

Automation, models and people each do the part they are best at. Observation and inference repeat until nothing new turns up; only then does anything go to proof.

01

Observe

Deterministic reconnaissance

Hosts, routes, parameters, technologies and authentication flows are enumerated by a fixed, versioned procedure. The same scope produces the same record, every request is logged, and any run can be replayed and compared with the last.

Output
Reconnaissance record and full request log
02

Infer

AI-assisted analysis

Models read the record the way an experienced tester would: correlating weak signals, proposing attack paths and chaining minor issues into material ones. Each hypothesis cites the observations it rests on and states its confidence.

Output
Ranked hypotheses, and new targets for reconnaissance
03

Prove

Verification, automated or human

A hypothesis becomes a finding only once it has been demonstrated. Safe checks are verified automatically; anything consequential is verified by a tester. Rejected hypotheses are logged, never reported.

Output
Verified findings with reproduction steps
The loop

Observation and inference run in a loop. Every pass opens new avenues.

Each round of reconnaissance gives the models more to reason about, and each inference sends reconnaissance somewhere new: an undocumented route, a parameter worth testing, two weaknesses that only matter together. The loop runs until nothing new turns up. Then the strongest hypotheses go to proof.

THE LOOP Observe RECONNAISSANCE Infer AI-ASSISTED ANALYSIS Prove VERIFICATION EVIDENCE NEW AVENUES ITERATION 01 02 03 CONFIDENT HYPOTHESES SCOPE ITERATION 01 ITERATION 02 ITERATION 03 app.example.com /login /static/app.js /account /invoices session handling /account/elevate invoice ID pattern role change keeps sid CONFIDENCE 0.82 PROVEN · F-07 cross-tenant access CONFIDENCE 0.64 REJECTED NEW AVENUE OBSERVED PROVEN REJECTED
Fig. 2 — The inference loopThree passes over one application. Each pass observes what the last one inferred; two minor findings chain into one proven issue, and a second hypothesis is tested and rejected.Illustrative
Principle

Nothing is reported that cannot be reproduced.

Automated scanners list what might be wrong. We report only what has been demonstrated, and include the requests that demonstrate it, so your engineers can confirm each finding themselves and check the fix the same way.

Packages

Three variables define every engagement.

How many sites are in scope, how deep testing goes, and how much of the work is done by a person. The three packages are common combinations; any other can be scoped.

Human in the loop →
H3Lead
H2Verify
H1Review
D1 · H3Scoped on request
D2 · H3Scoped on request
D3 · H3
Augmented
D1 · H2Scoped on request
D2 · H2
Assisted
D3 · H2Scoped on request
D1 · H1
Automated
D2 · H1Scoped on request
D3 · H1Scoped on request
D1Surface
D2Authenticated
D3Adversarial
Depth →
Fig. 3Package space. Named packages sit on the diagonal. Site count is set independently of both axes.

Sites

S

The web applications, APIs and domains in scope. Each is enumerated and recorded on its own.

Depth

D1–D3
D1
Surface. What is reachable without an account.
D2
Authenticated. Every role, session and API.
D3
Adversarial. Business logic, abuse cases and chained attacks.

Human in the loop

H1–H3
H1
Review. An analyst reviews results before release.
H2
Verify. A tester proves every finding.
H3
Lead. A tester runs the engagement; automation extends their reach.
Packages
AutomatedAutomated testing with analyst review
AssistedSemi-automated and AI-assisted, verified by a tester
AugmentedLed by a tester, extended by automation and AI
Sites in scope
Up to [3]
Up to [10]
Scoped per engagement
Depth
D1SurfaceUnauthenticated, externally reachable attack surface
D2AuthenticatedRoles, sessions, access control and APIs
D3AdversarialBusiness logic, abuse cases and chained attacks
Human in the loop
H1ReviewAn analyst reviews results before the report is released
H2VerifyA tester proves every finding and follows up inferred attack paths
H3LeadA dedicated tester runs the engagement from scope to report
Reconnaissance
Deterministic, full record
Deterministic, full record
Deterministic, full record
Suited to
Pre-launch checks, smaller sites and a first baseline
Production applications with user accounts and APIs
High-value, regulated or complex applications
Price
[Price]Per engagement
[Price]Per engagement
[Price]On proposal
Every package can run once or on a schedule. See Scheduled testing
Start with AutomatedStart with AssistedStart with Augmented
Scheduled testing

Human-augmented testing, on your calendar.

Choose when a tester returns: monthly, quarterly, before each release, or only inside agreed windows. Because reconnaissance is deterministic, each pass is compared with the last. You see what changed, not the same list again.

Weeks 1–52
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Automated reconnaissanceWeekly
Human-augmented passQuarterly
Human-augmented passBefore each release
Your releasesFrom your calendar
Change freezeNo testing
Fig. 4 — An example yearWeekly automated reconnaissance, quarterly human-augmented passes, a pass before each release, and no testing during the summer and year-end freezes.Illustrative

Monthly

A tester reviews the month’s changes to your record and proves anything new.

12 passes a year

Quarterly

A deeper pass each quarter, timed to your reporting or audit cycle.

4 passes a year

Before each release

Planned from your deployment calendar, ahead of changes reaching production.

On your release dates

Within set windows

Testing only inside agreed hours, such as nights, weekends or maintenance windows, and never during a freeze.

Your hours, your time zone
Report

Every finding is written as a proof.

What was observed, what was inferred from it, and how it was demonstrated, in that order, with the raw requests attached.

The report contains
01SummaryOne page for leadership: exposure, change since the last pass and priorities.
02FindingsEach set out as observation, inference and proof, rated with CVSS 4.0.
03ReproductionRaw requests and responses, ready to replay.
04ReferencesMapped to OWASP WSTG, OWASP ASVS and CWE.
05RemediationSpecific fixes, ordered by risk.
06RecordThe complete reconnaissance record, machine-readable, for comparison with the next pass.
F-07 · app.example.comProven · Severity high

Session identifier persists across privilege change

POST /account/elevate · CVSS 4.0 · CWE-384
Observed
The session cookie issued at login is unchanged after the account is elevated to administrator.Record #0412, #0419
Inferred
An attacker who plants a session identifier before elevation would inherit the elevated session.Model confidence 0.82
Proven
Reproduced by an analyst in two requests. Request and response pairs attached.
1POST/loginsid=7c1e… → 200 · sid unchanged
2POST/account/elevatesid=7c1e… → 200 · role=admin
Fix
Issue a new session identifier on every authentication and privilege change.
References
WSTG-SESS-03 · ASVS 3.2.1 · CWE-384
Fig. 5A finding as it appears in the report. Illustrative.
Engagement

From first call to final report.

Every engagement is authorized in writing and runs inside limits you set.

01

Scope

A short call to set sites, depth and human involvement, followed by a written proposal.

02

Authorize

Signed authorization and rules of engagement: testing windows, rate limits, exclusions and contacts.

03

Test

Reconnaissance, inference and verification run inside the agreed window. Critical findings are escalated as soon as they are proven.

04

Report

The report is walked through with your team. Fixes are retested against the same record.

Reference frameworks
OWASP WSTGOWASP ASVSPTESNIST SP 800-115CVSS 4.0CWE
Contact

Tell us whatto test.

One short call is enough to set sites, depth and how much of the work you want done by a person. You leave it with a written proposal.

Download a sample report
Verification code