Spaces:
Build error
Build error
| """ | |
| Model Configuration for Bug Bounty Chatbot | |
| This file contains configuration settings for different model types and sizes | |
| """ | |
| import os | |
| from typing import Dict, Any | |
| # Model configurations | |
| MODEL_CONFIGS = { | |
| "distilbert_classification": { | |
| "model_type": "classification", | |
| "max_length": 512, | |
| "batch_size": 16, | |
| "device": "auto", | |
| "description": "Fine-tuned DistilBERT for security classification tasks" | |
| }, | |
| "codegemma_2b": { | |
| "model_type": "generation", | |
| "max_length": 2048, | |
| "batch_size": 8, | |
| "device": "auto", | |
| "description": "CodeGemma 2B fine-tuned for security code analysis" | |
| }, | |
| "codegemma_7b": { | |
| "model_type": "generation", | |
| "max_length": 4096, | |
| "batch_size": 4, | |
| "device": "gpu", # Requires GPU for 7B model | |
| "description": "CodeGemma 7B fine-tuned for advanced security analysis" | |
| } | |
| } | |
| # Default model paths (update these with your actual model paths) | |
| DEFAULT_MODEL_PATHS = { | |
| "distilbert": "/Users/macbook/Downloads/finetuned_model", | |
| "distilbert_2": "/Users/macbook/Downloads/finetuned_model 2", | |
| "codegemma_2b": None, # Update when you have CodeGemma models | |
| "codegemma_7b": None # Update when you have CodeGemma models | |
| } | |
| # Security testing prompts and templates | |
| SECURITY_PROMPTS = { | |
| "vulnerability_analysis": """ | |
| <|system|> | |
| You are a cybersecurity expert specializing in bug bounty hunting and penetration testing. | |
| Analyze the following security scenario and provide detailed guidance. | |
| <|user|> | |
| {query} | |
| <|assistant|> | |
| """, | |
| "code_review": """ | |
| <|system|> | |
| You are a security code reviewer. Analyze the following code for security vulnerabilities. | |
| <|user|> | |
| Review this code for security issues: | |
| {code} | |
| <|assistant|> | |
| """, | |
| "methodology": """ | |
| <|system|> | |
| You are a penetration testing methodology expert. Provide step-by-step guidance for security testing. | |
| <|user|> | |
| {query} | |
| <|assistant|> | |
| """ | |
| } | |
| # Security categories and their associated keywords | |
| SECURITY_KEYWORDS = { | |
| "web_app": [ | |
| "sql injection", "xss", "csrf", "authentication", "authorization", | |
| "file upload", "directory traversal", "ssrf", "xxe", "idor" | |
| ], | |
| "network": [ | |
| "port scan", "network", "tcp", "udp", "sniffing", "mitm", | |
| "dns", "arp", "wireless", "vpn", "firewall" | |
| ], | |
| "infrastructure": [ | |
| "server", "privilege escalation", "container", "cloud", "api", | |
| "database", "misconfiguration", "default credentials" | |
| ] | |
| } | |
| def get_model_config(model_name: str) -> Dict[str, Any]: | |
| """Get configuration for a specific model""" | |
| return MODEL_CONFIGS.get(model_name, MODEL_CONFIGS["distilbert_classification"]) | |
| def get_model_path(model_name: str) -> str: | |
| """Get the path for a specific model""" | |
| return DEFAULT_MODEL_PATHS.get(model_name, "") | |
| def validate_model_path(model_path: str) -> bool: | |
| """Validate if model path exists and contains required files""" | |
| if not model_path or not os.path.exists(model_path): | |
| return False | |
| required_files = ["config.json", "tokenizer.json"] | |
| for file in required_files: | |
| if not os.path.exists(os.path.join(model_path, file)): | |
| return False | |
| return True | |