Crate cypat

source ·
Expand description

§A cyberpatriots scoring engine library

Provides a fairly simple interface for programming Cyberpatriots scoring engines for practice images. It provides many core facilities useful for writing a scoring engine, such as a simple system to handle vulnerabilities, a scoring report, and some optional facilities for handling a database of configuration files, or providing utilities for users, groups and packages.

§Examples

Here’s an example of a stupidly simple scoring engine.

fn main() {
    let func = |x: Option<&mut file> | -> bool {
        match x {
            Some(file) => {
                let mut string: std::string::String;
                std::io::BufReader::new(file.clone()).read_line(&mut string);
 
                if string == "Hello World" {
                    add_score_entry(0, 50, "Wrote Hello World.".to_string());
                    true
                } else {
                    false
                }
            },
            None => false,
        }
    };
     
    let mut engine = cypat::Engine::new();
    engine.add_file_vuln("world.txt", func);
    engine.set_freq(2);
    engine.set_completed_freq(10);
    engine.enter();
}

Modules§

  • Utility functions and data structures

Structs§

  • Contains some simple data regarding applications or packages

Enums§