No description
  • C 92.6%
  • Makefile 5.3%
  • Shell 1.9%
  • Assembly 0.2%
Find a file
Mopigames 46ae2ff615
All checks were successful
Generate Patches / generate-patches (push) Successful in 31s
refactor: restructure configure_cooling_system for improved readability and functionality
2026-05-26 10:29:06 +02:00
.github/workflows fix: standardize artifact name for patch uploads 2026-05-24 20:05:19 +02:00
include refactor: move MAX_REACTOR_POWER definition to obsidian.h 2026-05-26 01:18:34 +02:00
scripts fix: improve output directory handling and increment count syntax in patch generation script 2026-05-24 20:00:56 +02:00
src refactor: restructure configure_cooling_system for improved readability and functionality 2026-05-26 10:29:06 +02:00
tests feat: implement admin password verification and add unit tests for emergency shutdown 2026-05-26 01:08:32 +02:00
.editorconfig style: fix a bunch of stuff (indentation, line breaks...) 2026-05-16 13:33:14 +02:00
.gitignore feat: implement admin password verification and add unit tests for emergency shutdown 2026-05-26 01:08:32 +02:00
Makefile fix: update lcov command to ignore additional mismatch errors 2026-05-26 01:15:01 +02:00
README.md chore: init repo 2026-05-16 12:16:54 +02:00

G-SEC-210 Project: Obsidian Console

Project Overview

The Obsidian Console is a command-line interface (CLI) designed to simulate the operation and management of a nuclear reactor. This project is part of the G-SEC-210 module and focuses on secure software development practices, including vulnerability identification, mitigation, and secure coding techniques.

The console provides a variety of commands to interact with the reactor's systems, monitor its status, and simulate emergency scenarios. It also includes hidden features and challenges to test the user's ability to identify and secure potential vulnerabilities.


Features

  • Reactor Initialization: Safely start the reactor and prepare it for operation.
  • Status Monitoring: Check the reactor's core temperature, coolant flow rate, and radiation levels.
  • Emergency Protocols: Activate emergency shutdowns and simulate meltdown scenarios.
  • System Diagnostics: Run diagnostics and monitor critical system parameters.
  • Configuration Management: Load and configure reactor settings.
  • Hidden Features: Includes secret commands for advanced users.
  • And even more!

Commands

Below is a list of available commands in the Obsidian Console:

Command Description
init_reactor Initialize the reactor for operation.
check_reactor_status Check the current status of the reactor.
activate_emergency_protocols Activate emergency protocols (requires admin privileges).
simulate_meltdown Simulate a reactor meltdown for testing purposes.
check_cooling_pressure Check the pressure in the cooling system.
send_status_report Send a status report to the control center.
monitor_radiation_levels Monitor radiation levels in the reactor.
set_reactor_power Adjust the reactor's power output.
run_diagnostic Run a full diagnostic on the reactor systems.
enable_remote_access Enable or disable remote access to the reactor.
load_fuel_rods Load fuel rods into the reactor.
log_system_event Log a system event.
load_config Load configuration from a file.
configure_cooling_system Configure the cooling system.
init_steam_turbine Initialize the steam turbine.
read_turbine_config Read the turbine configuration.
turbine_remote_access Remote access to the turbine.
run_turbine Run the turbine.
turbine_temperature Change the turbine temperature.
history Display a list of all the commands that have been typed.
quit Exit the console.
help Display a list of available commands.

How to Run

$> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD
$> make
$> ./obsidian

Contributors

We would like to thank the following contributors for their efforts in developing and testing the Obsidian Console:

  • Igoatyouu - Security Analyst
  • ManuelR-T - Vulnerability Researcher
  • theocampos - Creator of obsidian library
  • Exeloo - Dev Ops Specialist
  • Aluxray - QA Engineer

If you would like to contribute to this project, feel free to submit a pull request or contact us via the repository's issue tracker.


License

This project is licensed under the MIT License.


Disclaimer

This project is for educational purposes only. It is not intended for use in real-world nuclear reactor systems.