{"record":{"id":"42d9d0a8c7d37f58","repo":"BerriAI/litellm","slug":"panw-prisma-airs-scan-failed","errorCode":"panw_prisma_airs_scan_failed","errorMessage":"Security scan failed - request blocked for safety","messagePattern":"Security scan failed - request blocked for safety","errorType":"http","errorClass":"HTTPException","httpStatus":500,"severity":"error","filePath":"litellm/proxy/guardrails/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py","lineNumber":755,"sourceCode":"        \"\"\"Handle API errors with fail-open/fail-closed logic.\"\"\"\n        end_time: Final = datetime.now()\n        duration: Final = (end_time - start_time).total_seconds()\n        category: Final = scan_result.get(\"category\", \"api_error\")\n\n        self.add_standard_logging_guardrail_information_to_request_data(\n            guardrail_provider=self._PROVIDER_NAME,\n            guardrail_json_response=scan_result,\n            request_data=data,\n            guardrail_status=\"guardrail_failed_to_respond\",\n            start_time=start_time.timestamp(),\n            end_time=end_time.timestamp(),\n            duration=duration,\n            event_type=event_type,\n        )\n\n        if scan_result.get(\"_always_block\"):\n            is_config: Final = category == \"config_error\"\n            raise HTTPException(\n                status_code=500,\n                detail={\n                    \"error\": {\n                        \"message\": (\n                            \"Security scan failed - configuration error\"\n                            if is_config\n                            else \"Security scan failed - request blocked for safety\"\n                        ),\n                        \"type\": (\"guardrail_config_error\" if is_config else \"guardrail_scan_error\"),\n                        \"code\": (\"panw_prisma_airs_config_error\" if is_config else \"panw_prisma_airs_scan_failed\"),\n                        \"guardrail\": self.guardrail_name,\n                        \"category\": category,\n                    }\n                },\n            )\n\n        if scan_result.get(\"_is_transient\") and self.fallback_on_error == \"allow\":\n            verbose_proxy_logger.warning(","sourceCodeStart":737,"sourceCodeEnd":773,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/guardrails/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py#L737-L773","documentation":"Error \"Security scan failed - request blocked for safety\" thrown in BerriAI/litellm.","triggerScenarios":"Thrown at litellm/proxy/guardrails/guardrail_hooks/panw_prisma_airs/panw_prisma_airs.py:755 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Modify the request content that the AIRS scan flagged as unsafe.","Review the AIRS security profile rules to confirm the blocked categories are intended."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}