Crate icookforms

Crate icookforms 

Source
Expand description

ICOokForms is a comprehensive, enterprise-grade cookie analysis and audit tool designed to ensure security, compliance, and privacy for web applications.

§Features

  • Security Analysis: Detect XSS, CSRF, Session Hijacking, and more
  • Compliance Checking: GDPR, CCPA, LGPD, and 50+ regulations
  • RFC 6265 Compliance: Full RFC 6265 and RFC 6265bis support
  • 🔥 Digital Forensics: Timeline reconstruction, iOS binary parsing, GA analysis (UNIQUE!)
  • 🤖 ML/AI Anomaly Detection: Machine learning-powered anomaly detection (UNIQUE!)
  • Supply Chain Security: Detect npm/PyPI vulnerabilities
  • Real-time Monitoring: Track cookies in real-time
  • Comprehensive Reporting: JSON, CSV, PDF, HTML exports

§Quick Start

use icookforms::{Scanner, Analyzer};
use icookforms::types::config::ScanConfig;
use tokio;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create scanner with configuration
    let config = ScanConfig::default();
    let scanner = Scanner::new(config)?;
     
    // Scan a website for cookies
    let scan_result = scanner.scan("https://example.com").await?;
     
    // Analyze cookies for security and compliance
    let analyzer = Analyzer::new();
    let results = analyzer.analyze(&scan_result.cookies)?;
     
    // Print summary
    println!("Found {} cookies", scan_result.cookies.len());
    println!("Security issues: {}", results.security_issues.len());
    println!("Compliance issues: {}", results.compliance_issues.len());
     
    Ok(())
}

§Architecture

ICOokForms is organized into the following modules:

  • scanner: HTTP scanning and cookie extraction
  • parser: RFC 6265 compliant cookie parsing
  • analyzer: Security and compliance analysis
  • compliance: GDPR, CCPA, and regulation checking
  • forensics: 🔥 UNIQUE - Digital forensics (timeline, iOS binary, GA analysis)
  • ml_analyzer: 🤖 UNIQUE - ML/AI anomaly detection (behavioral analysis, pattern recognition)
  • reporter: Report generation (JSON, PDF, CSV, HTML)
  • types: Core types and data structures

§Safety and Performance

ICOokForms is built with safety and performance in mind:

  • Zero unsafe code (except in well-justified crypto operations)
  • Comprehensive error handling with thiserror
  • Async/await with Tokio runtime
  • Zero-copy parsing where possible
  • Concurrent analysis with Rayon

§License

Licensed under the Apache License, Version 2.0

Re-exports§

pub use types::Config;
pub use types::Cookie;
pub use types::CookieAttribute;
pub use types::Error;
pub use types::Regulation;
pub use types::Result;
pub use types::Severity;
pub use types::config::AnalysisConfig;
pub use types::config::ScanConfig;
pub use types::issue::ComplianceIssue;
pub use types::issue::Issue;
pub use types::issue::IssueCategory;
pub use types::issue::SecurityIssue;
pub use types::report::AnalysisResult;
pub use types::report::ComplianceResult;
pub use types::report::ScanResult;
pub use analyzer::Analyzer;
pub use compliance::ComplianceChecker;
pub use parser::CookieParser;
pub use parser::ParseError;
pub use reporter::ReportFormat;
pub use reporter::Reporter;
pub use scanner::Scanner;
pub use scanner::ScannerBuilder;
pub use ml_analyzer::Anomaly;
pub use ml_analyzer::AnomalySeverity;
pub use ml_analyzer::MLAnalyzer;
pub use ml_analyzer::MLConfig;

Modules§

analyzer
Cookie security and compliance analyzer
cli
CLI module for ICOokForms
compliance
Compliance checking module
forensics
Cookie Forensics Module
ml_analyzer
Machine Learning Anomaly Detection Module
parser
RFC 6265 compliant cookie parser
reporter
Report generation module
scanner
Cookie scanner for web applications
storage
Storage module for persisting scan results and analysis data
types
Core types and data structures for ICOokForms
utils
Utility functions and helpers

Constants§

AUTHORS
Library authors
DESCRIPTION
Library description
NAME
Library name
VERSION
Library version

Functions§

init_tracing
Initialize the library with tracing