schema_version = 1
detector_id = "fantom-api-credentials"
service = "fantom"
severity = "high"
[[positive]]
text = "fantom_api_key=7b3e5d8c1a9f4e2b6c8d3a5e9f1b7c4d"
credential = "7b3e5d8c1a9f4e2b6c8d3a5e9f1b7c4d"
reason = "Lowercase fantom_api_key with equals separator and 32-char hex body."
[[positive]]
text = "fantom_rpc_url=https://abc123.fantom.network/token_xyz"
credential = "https://abc123.fantom.network/token_xyz"
reason = "Lowercase fantom_rpc_url with equals separator and Fantom RPC URL body."
[[negative]]
text = "fantom_api_key=short"
reason = "Body too short, below 32 minimum."
[[evasion]]
text = "fantom_api_key=7b3e5d8c1a9f4e2b6c8d3a5e9f1b7c4d"
credential = "7b3e5d8c1a9f4e2b6c8d3a5e9f1b7c4d"
reason = "Adversarial env_bare envelope — credential must still surface under this detector."
[perf]
fixture_bytes = 4096
max_microseconds = 25000
note = "Standard single-file budget."
[scale]
fixture_bytes = 1048576
min_findings = 1
max_seconds = 2.0
note = "1 MiB filler + planted fantom credential."
readme_claim = "900 service-specific detectors"