Skip to content

Instantly share code, notes, and snippets.

View nategraf's full-sized avatar

Victor Graf nategraf

View GitHub Profile
@nategraf
nategraf / snare_ex_1.py
Last active May 23, 2023 01:30
Snare examples 1 and 2 from Network Hacking 201
import snare
def show_pkt(pkt):
print(pkt.summary())
return pkt
sniffer = snare.Sniffer(
iface='tap0',
modules=[snare.ArpMitmModule(filter=show_pkt)]
)
@nategraf
nategraf / challenges.md
Last active December 14, 2022 02:07
Recommend challenges for the YDS offensive security workshop

Here is a list of recommended challenes on play.picoctf.org/practice for you to work on.

If you are stuck, it's often a good idea to move on to another challenge and come back later.

Always feel free to work on any challenge that strikes your fancy. These are ones I have taken a look at.

Class Leaderboard

If you are interested in being on a class leaderboard, you can join here:

@nategraf
nategraf / investiation_notes.md
Last active September 24, 2020 02:12
Investigation into Celo Network Instability on September 22, 2020

Investigation notes for September 22, 2020

Which blocks were delayed and why?

  • 2647788 incurred 4 round changes
    • Proposer 0x90684BC3ded2f69d8853D791bDC57eEa0a84C9d0 skipped
    • Proposer 0x2765162CC4ad257a956F0411675Bc45257E6CB30 skipped
    • Proposer 0x81c885A48Fa2e7D3609E98b44f5Ca1080dD43626 skipped
    • Proposer 0x89457B24524c94f97C0cC03F794c3e80B3DFD30B skipped
  • .....90 incurred 2 round changes
@nategraf
nategraf / proposal.md
Last active July 2, 2020 23:23
Proposal to Add cUSD to the Reserve's list of stable tokens on Baklava

Baklava CGP [0001]: Add cUSD to the Reserve's list of stable tokens

  • Date: 2020-07-2
  • Author(s): @nategraf (Victor | cLabs)
  • Status: PROPOSED
  • Governance Proposal ID #: 1

Overview

Add cUSD to the list of stabilized assets in the Reserve contract.

@nategraf
nategraf / baklava_june_24_deployed_grants.json
Last active April 23, 2022 03:48
Baklava June 24 deployment ReleaseGold artifacts
[
{
"Beneficiary": "0xFf0559D9062650213623968d2bD4E25f8705910c",
"ContractAddress": "0x4CC07E49EAb0BefF68450f306180a7B2502f8048",
"MultiSigProxyAddress": "0x1F37821b2752112d607eeF9c9620E25D42d580E6",
"MultiSigTxHash": "0xa1e4f99a082b1d4fd8011387ee2649c35a3c847de2099ac9354a7eef3ac08a2b",
"ReleaseGoldTxHash": "0x5b519332a39aa4d53285804dd4a0ec773ba81b368da71d1e95aa4996d3c53abc"
},
{
"Beneficiary": "0xeA6a71634F7228798Ec8AC6395525a632Ec4945e",
@nategraf
nategraf / baklava_reset_grant_beneficiaries.json
Last active June 24, 2020 17:03
A list of beneficiary addresses for the initial round of grants on the Baklava network
[
"0xFf0559D9062650213623968d2bD4E25f8705910c",
"0xeA6a71634F7228798Ec8AC6395525a632Ec4945e",
"0xf1b73b4B9aB0A098972D9E17949fA1Eb09E2947C",
"0x651c00F9E939B498ffc198141fFF9D9f3439CC87",
"0x95785ce0Ca05F23484342Ca3c2337d7660b68d36",
"0x0BCDF73c45D99F33D1d8354980d7ca73C4cF72db",
"0xe89897510bfb2fc0647325fB6D580594c061aCbF",
"0xD0604078265249629759F6f342cc5d19461b2c8B",
"0x49c3C6A9B0c17aC32169FFc45998aA80029128B3",
@nategraf
nategraf / proposal.md
Last active April 23, 2020 19:47
Adjust Baklava DowntimeSlasher Window Governance Proposal

DowntimeSlasher.setSlashableDowntime(7200)

Execution of the downtime slasher with a 8640 blocks block window, approximately 12 hours, requires ~20.8 million gas. With a gas limit of 20 million on the Baklava network, it is not currently possible to execute this function.

Downtime slashing is an important measure to ensure the stability of the Baklava network, as there are no incentives against abandoning elected validator nodes. At the time of writing there are 13 elected validators on the Baklava network which appear to be abandoned. If this number exceeds 1/3 of the elected set, currently 19, the network will stall

This proposal will call the function DowntimeSlasher.setSlashableDowntime(7200) to set the slashing window to 7200 blocks, approximately 10 hours, which will execute with approximately 17.3 million gas, within the gas limit. After this proposal in enacted, downtime slashing can be used to slash offline validators, which will remove them from their groups and from the elected set if the o

@nategraf
nategraf / releasegold_address_map.json
Last active April 7, 2020 21:22
Baklava Beneficiary to ReleaseGold address mapping
[
{
"Beneficiary": "0xff0559d9062650213623968d2bd4e25f8705910c",
"ReleaseGoldContractAddress": "0x4CC07E49EAb0BefF68450f306180a7B2502f8048"
},
{
"Beneficiary": "0xea6a71634f7228798ec8ac6395525a632ec4945e",
"ReleaseGoldContractAddress": "0xd6314e990CD952f7a0A1644647B138Fa43b17478"
},
{
@nategraf
nategraf / handshake.md
Created February 14, 2020 15:03
handshake.md

The notes below describe the approach in designing and writing the initial reference implementation of Handshake. This is not a prescriptive document and should not be used as such. This document's goal is to provide a referenece on the rationale and initial design of the protocol.

Abstract

The foundation for the internet's security has relied upon trusted Certificate Authorities (CAs) which attest that a user is connecting to the correct server or node. This has created a reliance upon a handful of trusted actors, many of

@nategraf
nategraf / announce_events.py
Last active October 1, 2019 02:43
Announce Noisebridge Events on Mary Poppins
#!/usr/bin/env python3
# coding: utf-8
from datetime import datetime, timedelta
import logging
import random
import requests
import urllib.parse
logging.basicConfig(level=logging.INFO)