$input * @return array */ public function detect(Context $context, array $input = []): array { $name = (string)($input['name'] ?? ''); $realMime = (string)($input['real_mime'] ?? 'unknown'); $suspicious = false; $reasons = []; if ($this->isFakeImage($name, $realMime)) { $suspicious = true; $reasons[] = 'fake_image'; } return [ 'suspicious' => $suspicious, 'reasons' => $reasons, ]; } private function isFakeImage(string $name, string $realMime): bool { if (preg_match('/\.(png|jpe?g|gif|webp|bmp|ico|svg)$/i', $name)) { if (!preg_match('/^image\//', $realMime)) { return true; } } return false; } }