Links

Tython Integration

oak9 Security as Code Framework
Tython is an open source security as code framework from oak9 that lets you define security reference architectures as code (blueprints) in the language of your choice. Internally, oak9 uses this same framework to codify security blueprints that adhere to industry standard guidance from NIST, Cloud Security Alliance (CSA), AWS, Azure, GCP and others. This open source project enables developers and security professionals to build their own blueprints and contribute them back to the community.

Guiding Principles

  • Empower the community to collaborate, build, and share security best practices
  • Strive for simplicity and extensibility
  • Focus on value to security and dev teams
  • Build reusable security reference architectures
  • Create transparency in the security design
  • Enable collaboration, autonomy, and shared responsibility across Dev and Security
  • Consider the lifecycle management of security architectures
  • Enable scalable security reference architectures
  • Cloud and technology agnostic approach

Background

Tython not only happens to be the birthplace of the Je'Daii Order (a precursor to the Jedi), it also is a portmanteau for the first two programming languages that we have built support for - Typescript and Python.

Configuring Python setup

Requires latest Python version 3.11
If you've done the pip install and still find yourself facing one or both of the following errors -
Issue finding python runtime and/or version
[Error] oak9 Tython framework package is not installed. Be sure to run "pip install -r requirements.txt
It is most likely there is a dependency conflict with the Tython packages you recently installed. By default, pip does not flag any dependency conflicts and will download multiple versions of a dependency into your project, resulting in errors. One approach to dealing with this (our recommended approach) is using an enhanced dependency management tool such as a virtual enviroments. Setting this up on your personal machine only takes a few minutes and will likely save you hours of troubleshooting pip versioning issues in the future, just follow the steps below:
1] Upgrade pip pip install -i https://pypi.org/simple --upgrade pip
2] Install virtualenv pip3 install -i https://pypi.org/simple virtualenv
3] Get the path for you Python 3.11 installation which -a python3
4] Create a virtual environment with this version called tython-venv virtualenv -p /Library/Frameworks/Python.framework/Versions/3.11/bin/python3 tython-venv
5] Activate your new enviroment source tython-venv/bin/activate
6] Last but not least, install your dependencies with pip and never face another versioning issue again! pip install -r requirements.txt

Feedback

If you are interested in participating feel free to create a GitHub issue or open a pull request. For support, questions, or to simply say "Hi!", join us on Discord: https://discord.gg/YHjfEfYYjz or reach out to [email protected].