MCPcopy Create free account
hub / github.com/TheSecuredAnalyst/security-suite / test_api_auth

Method test_api_auth

modules/apisec/auth_tester.py:67–103  ·  view source on GitHub ↗

Test API authentication security. Args: api: Parsed API specification Returns: Scan result with findings

(self, api: ParsedAPI)

Source from the content-addressed store, hash-verified

65 async def test_api_auth(self, api: ParsedAPI) -> ScanResult:
66 """Test API authentication security.
67
68 Args:
69 api: Parsed API specification
70
71 Returns:
72 Scan result with findings
73 """
74 target = Target.from_string(api.base_url)
75 self.logger.info(f"Testing authentication for {api.title}")
76
77 findings = []
78
79 # Test authentication bypass
80 bypass_findings = await self._test_auth_bypass(api)
81 findings.extend(bypass_findings)
82
83 # Test for broken authentication
84 broken_auth_findings = await self._test_broken_auth(api)
85 findings.extend(broken_auth_findings)
86
87 # Test JWT security if applicable
88 jwt_findings = self._analyze_jwt_security(api)
89 findings.extend(jwt_findings)
90
91 # Test rate limiting on auth endpoints
92 rate_limit_findings = await self._test_auth_rate_limiting(api)
93 findings.extend(rate_limit_findings)
94
95 return ScanResult(
96 module="apisec.auth_tester",
97 target=target,
98 success=True,
99 findings=findings,
100 data={"api_title": api.title},
101 )
102
103 async def _test_auth_bypass(self, api: ParsedAPI) -> list[Finding]:
104 """Test for authentication bypass vulnerabilities."""
105 findings = []
106

Callers 2

runFunction · 0.95
_execute_apisec_scanFunction · 0.95

Calls 6

_test_auth_bypassMethod · 0.95
_test_broken_authMethod · 0.95
_analyze_jwt_securityMethod · 0.95
ScanResultClass · 0.90
from_stringMethod · 0.80

Tested by

no test coverage detected