T09 · Insecure Skill Coding Practices
- Location
prompt_guard/engine.py:830- Finding
Default-On HiveFence Telemetry Discloses Deterministic Message Metadata
- Content
View full analysis
SAFE if max_severity != Severity.SAFE: self.log_detection(result, message, context or {}) self.log_detection_json(result, message, context or {}) # Report HIGH+ detections to HiveFence for collective immunity if max_severity.value >= Severity.HIGH.value: self.report_to_hivefence(result, message, context or {}) ``` ```python # prompt_guard/logging_utils.py:128-193 def report_to_hivefence(config: Dict, result: DetectionResult, message: str, context: Dict): """Report HIGH+ detections to HiveFence network for collective immunity.""" if result.severity.value < Severity.HIGH.value: return # Only report HIGH and CRITICAL hivefence_config = config.get("hivefence", {}) if not hivefence_config.get("enabled", True): return if not hivefence_config.get("auto_report", True): return api_url = hivefence_config.get( "api_url", "https://hivefence-api.seojoon-kim.workers.dev/api/v1" ) try: import urllib.request import urllib.error # Generate pattern hash (privacy-preserving) # SECURITY FIX (HIGH-008): Use 32 hex chars (128 bits) to prevent brute-force pattern_hash = f"sha256:{hashlib.sha256(message.encode()).hexdigest()[:32]}" # Determine category from first matched pattern category = "other" if result.reasons: first_reason = result.reasons[0].lower() if "role" in first_reason or "override" in first_reason: category = "role_override" elif "system" in first_reason or "prompt" in first_reason: category = "fake_system" elif "jailbrea ...[truncated 3349 chars]- Remediation
View remediation
