FeatureExtractor
+ext_features: Dict[str, int]
+calculate_entropy(data: bytes) → float
+count_string_patterns(content: bytes, patterns: List[bytes]) → List[int]
+extract_file_features(filename: str, content: bytes) → List[float] (fk)
+build_feature_vector(file_data: dict) → List[float] (fk)