jkcso
I simplify cyber security for developers through educational content and I speak in conferences globally to build dev-sec bridges.
GitHubWorldwide
Pinned Repositories
codeql
CodeQL workshops for GitHub Universe
Cryptosystems
Cryptosystems training through implementing VPN connectivity from an outside network to a privileged intranet.
Decentralised-Governance-Attacks
SAADG = Simulating Attacks Against Decentralised Governance
Distributed-Tradeoffs
A practical evaluation of the iconic distributed algorithms discussed in Christian Cachin's book "Introduction to Reliable and Secure Distributed Programming". Each repo's system incrementally improves its predecessor by adding further functionality. More info regarding the specifics of each system can be found in README.md.
Intel-One
Command line tool for passive reconnaissance, able to gather and link public information to a target domain, company or individual. It can make intelligence gathering faster and more effective by drastically reducing manual user interaction. This is achieved through the engineering of a highly customisable single input to multiple output solution. Tool conceived and developed in my free time as a result of my genuine interest in penetration testing.
Multi-Paxos
An experimental approach to the iconic and fault-taulerant distributed algorithm "Paxos", as described in the scientific paper "Paxos Made Moderately Complex" included in this repo under the name MultiPaxos.pdf.
Pint-OperatingSystem
An operating system for the 80x86 architecture. Supports kernel threads, loading and running user programs and a file system but implements these features in a simpler way compared to the popular operating systems currently in operation such as Linux, Mac OSX and Windows.
Robotics
This repo explores mobile robotics including Robot Motion, Sensing, Probabilistic Movement, Monte Carlo and Advanced Sonar Sensing Localisation and finally Simultaneous Localisation and Mapping. Implemented as part of coursework in Imperial College London Robotics class and it was definitely one of the projects I have enjoyed the most because of its practical and experimental approach.
Security-Architecture
Project emulates a university network including a DMZ, firewalls, subnets with trust zones, proxies, servers and client machines.
secure-code-game
A GitHub Security Lab initiative, providing an in-repo learning experience, where learners secure intentionally vulnerable code.
jkcso's Repositories
jkcso/Intel-One
Command line tool for passive reconnaissance, able to gather and link public information to a target domain, company or individual. It can make intelligence gathering faster and more effective by drastically reducing manual user interaction. This is achieved through the engineering of a highly customisable single input to multiple output solution. Tool conceived and developed in my free time as a result of my genuine interest in penetration testing.
jkcso/Distributed-Tradeoffs
A practical evaluation of the iconic distributed algorithms discussed in Christian Cachin's book "Introduction to Reliable and Secure Distributed Programming". Each repo's system incrementally improves its predecessor by adding further functionality. More info regarding the specifics of each system can be found in README.md.
jkcso/Multi-Paxos
An experimental approach to the iconic and fault-taulerant distributed algorithm "Paxos", as described in the scientific paper "Paxos Made Moderately Complex" included in this repo under the name MultiPaxos.pdf.
jkcso/Robotics
This repo explores mobile robotics including Robot Motion, Sensing, Probabilistic Movement, Monte Carlo and Advanced Sonar Sensing Localisation and finally Simultaneous Localisation and Mapping. Implemented as part of coursework in Imperial College London Robotics class and it was definitely one of the projects I have enjoyed the most because of its practical and experimental approach.
jkcso/codeql
CodeQL workshops for GitHub Universe
jkcso/Decentralised-Governance-Attacks
SAADG = Simulating Attacks Against Decentralised Governance
jkcso/Pint-OperatingSystem
An operating system for the 80x86 architecture. Supports kernel threads, loading and running user programs and a file system but implements these features in a simpler way compared to the popular operating systems currently in operation such as Linux, Mac OSX and Windows.
jkcso/secure-code-game-action
jkcso/SQL-Tutorial
A SQL tutorial created by me that teaches step by step every aspect of the most famous database programming language. Reader is first introduced to the basics and we then dive into more advanced aspects of the language.
jkcso/WACC-Compiler
A compiler for the WACC programming language which features all of the common language constructs you would expect from a modern language such as variables, expressions, conditional branching and looping.
jkcso/Cryptosystems
Cryptosystems training through implementing VPN connectivity from an outside network to a privileged intranet.
jkcso/DAO-AttackSimulator
Independent Security Research started during my free time on early October 2018 stemming from my genuine interest in Cryptocurrencies as a revolutionary money system. This repo is a Proof-of-Concept attack simulator against Dash's decentralised governance feature.
jkcso/Security-Architecture
Project emulates a university network including a DMZ, firewalls, subnets with trust zones, proxies, servers and client machines.
jkcso/Arm11
An emulator and assembler for encoding and decoding ARM machine code. A Morse Code program that was compiled and tested on a Raspberry Pi. The project extension is a disassembler aimed to be used as a debugger.
jkcso/BigData-Analytics
Optimised Hadoop scripts to retrieve data analytics from the latest US geographical survey. Mostly done for personal usage while learning Hadoop so there is no real value behind the data extracted but more of a comparison with SQL complex queries.
jkcso/CATie
Smart, Human-Centered Education Platform for Imperial College, Team of Six. This latest version of this software is closed source and currently maintained from the university. In this repo I have posted an old iteration (which even includes a package vulnerability) to demonstrate part of my work. This version is not maintained any more.
jkcso/DC-Modelling
An exhaustive symbolic model checking analysis for the Dining Cryptographers' Problem which inspired DC-Networks offering anonymity, unlinkability and unobservability based on synchronous finite-state and infinite-state systems.
jkcso/Enigma
Command line tool for the coding machine used by German forces in the Second World War. Simulates 2 machines set up in the same way allowed the sending of messages securely between their users. My code can be used to encrypt (or decrypt) messages provided on the standard input stream, outputting the encrypted (or decrypted) messages on the standard output stream.
jkcso/jkcso
jkcso/oss2021
The Open Security Summit 2021 is focused on the collaboration between, Developers and Application Security
jkcso/portfolio
jkcso/Security-Architecture-Practise
jkcso/Spark
Spark is an online forum for two types of people: Part time or unemployed developers and non technical people with ideas or mini tech problems. Developers can get inspired and hone their problem solving skills, understand what is trending and more importantly get iterative feedback from stakeholders. Non technical people are often missing the expertise and skillset to proceed with their idea or problem. Often, they don’t have the time or energy to practise and learn new skills so we provide them with the capability of posting in this forum and find one or many interested developers.
jkcso/War-of-Life
This repo evaluates the effectiveness of responsive to opponent strategies for an 8x8 board game called War of Life. This is done by the development of multiple AI algorithms and game executions to cover all possible combinations.
jkcso/x509-Generation
jkcso/Yelp-ORM
Object Relational Mapping (ORM) is a technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language. There are both free and commercial packages available that perform object-relational mapping, although some programmers opt to construct their own ORM tools.