You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If no operations require auth then `auth_coverage = 1`. Auth requirements are intent-aware, not “all ops”. LLM reasoning MAY be leverage to determine intent-awareness.
705
+
If `sensitive_ops_expected = 0`, then `auth_coverage` MUST be `1.0`.
`sensitive_ops_expected` represents the count of operations that ought to require authentication.
710
+
This value is NOT the same as “operations that declare security”, it reflects _intent-aware inference_ of security requirements.
711
+
712
+
As a guiding principle, an operation SHOULD be classified as a _sensitive operation_ if any of the following are true:
713
+
714
+
- it performs a state changing action
715
+
- uses HTTP methods such as: `POST`, `PUT`, `PATCH`, `DELETE`
716
+
- has summaries/descriptions which suggest state change (e.g., "approve", "update", "assign", "create", "cancel"), even if HTTP verb is misused
717
+
- it accesses or returns sensitive or personal data (customer records, user profiles, payment data, or any OpenAPI Schema Object containing detected PII fields)
718
+
- it performs privileged or administrative actions
719
+
- it exposes operational or system-level behaviours (configuration management details, system logs, workflow executions)
720
+
721
+
LLM reasoning MAY be used to help perform classification.
The auth_strength signal measures the robustness and correctness of authentication mechanisms declared by the API.
727
+
It evaluates the average strength of all security schemes using normative scores based on IANA auth-scheme definitions, OAuth2 best practices, OIDC, API Key placement, and mutual TLS.
|`http / bearer (opaque)`| Opaque bearer token |`scheme: bearer`|`0.60`| Security depends entirely on token distribution ([RFC6750](https://tools.ietf.org/html/rfc6750)). |
749
+
|`http / vapid`| WebPush VAPID |`scheme: vapid`|`0.60`| Token model similar to bearer; moderate trust ([RFC8292](https://tools.ietf.org/html/rfc8292)). |
750
+
|`http / scram-sha-256`| SCRAM with SHA-256 |`scheme: scram-sha-256`|`0.65`| Modern and stronger, still password-based ([RFC7804](https://tools.ietf.org/html/rfc7804)). |
@@ -1312,13 +1361,16 @@ The harmonic mean MUST be considered core to the JAIRF model.
1312
1361
Gating rules MUST override or constrain dimension scores to ensure safety and correctness.
1313
1362
They MUST be applied immediately before readiness-level classification.
1314
1363
1315
-
| Condition | Effect |
1316
-
| --------- | ------ |
1317
-
| Foundational Compliance score < 40 | API MUST be classified as Level 0 ("Non-Compliant") |
1318
-
| Hardcoded credentials detected | Security score MUST be capped at `20`|
1319
-
| Sensitive operations lacking auth | Security score MUST be capped at `40`|
1320
-
| Unprotected PII on partner/public APIs | Security score MUST be capped at 50 |
1321
-
| Non-TLS public endpoints | Security score MUST be multiplied by `0.8`|
1364
+
| Condition | Effect | Rationale |
1365
+
| --------- | ------ | --------- |
1366
+
| Foundational Compliance score < 40 | API MUST be classified as Level 0 ("Non-Compliant") | If the API cannot be structurally validated, no higher-order AI reasoning is safe or possible. |
1367
+
| Hardcoded credentials detected | Security score MUST be capped at `20`| Hardcoded secrets represent an immediate, systemic security failure and cannot be compensated for by other strengths. |
1368
+
| Sensitive operations lacking auth (internal) | Security score MUST be capped at `40`| Internal APIs may permit limited trust boundaries, but unauthenticated sensitive operations remain high-risk. |
1369
+
| Sensitive operations lacking auth (partner) | Security score MUST be capped at `30`| Partner-facing APIs must enforce authentication on sensitive operations; failure is a severe but not catastrophic risk. |
1370
+
| Sensitive operations lacking auth (public) | Security score MUST be capped at `20`| Public unauthenticated sensitive operations are critical vulnerabilities and must be treated as near-fail conditions. |
1371
+
| Unprotected PII on partner/public APIs | Security score MUST be capped at `50`| Exposure of identifiable data without proper controls violates trust and regulatory expectations. |
1372
+
| Non-TLS public endpoints (http://) | Security score MUST be multiplied by `0.5`| Plaintext transport exposes tokens, credentials, and PII; catastrophic for external integrations. |
1373
+
1322
1374
1323
1375
Gating MUST NOT alter the raw signals or other dimension scores directly; gating applies only to the affected dimension score.
0 commit comments