Repositories
Where the code lives. New work goes to GitLab. The GitHub accounts hold recent projects, my dissertation research, the MITRE iMAS project, and experiments from 2010–2013.
GitLab
gitlab.com/black.gavin ↗Where new projects go from here on.
Recent work
GitHub ↗Current public projects.
- reading-the-stateDecision-model benchmark with exact ground truth and board-blind baselines.
- math-visualizersMusic visualizers where the audio changes the math: per-pixel equations, automata, a 4D solid.
Research and tools
GitHub ↗Code behind my dissertation and papers, and the tools I use day to day.
- securePromptsSecurity-focused prompts vs. code correctness in commercial LLMs (IEEE TETCI).
- fuzzing_seedsLLM-generated fuzzing seeds and the Atheris harness (IEEE Access 2024).
- ruffResource-usage fuzzing framework from the dissertation.
- ruftModelTransformer model for resource-usage fuzzing (RUFT).
- fuzzingMetricArtifacts for the fuzzing metric work.
- ids2018_explainExplainability graphs for ML-based network defenses.
- vuln-testsDeliberately vulnerable programs for testing model-based detection.
- daily-feedThe automated AI security brief behind this site's Daily Feed.
- the-clockBurn-in-safe OLED clock for a Raspberry Pi 4.
- music-video-generatorHeadless music-visualization video renderer.
MITRE iMAS
GitHub ↗iOS Mobile Application Security, MITRE's open-source research project. I was one of its two active researchers.
- encrypted-core-dataCore Data store encrypted with SQLCipher; 700+ stars.
- security-checkJailbreak and debugger detection.
- app-passwordApp-level passcode framework.
- memory-securityTools for keeping secrets out of memory.
- securefoundationSecure storage and authentication components.
- mdm-serverSample mobile device management server.
MITRE-era personal
GitHub ↗Side projects from 2010–2014.
- mini-bpelA small Java BPEL engine.
- translateWeb app to help translate media.
- rpgm-patcherSelf-applying patches for RPG Maker games.
- rpgm-patch-toolDecrypt and build patches for RPG Maker games.
Early experiments, 2010–2013
Archive ↗Archived and unmaintained, kept because they're where a lot of the later work started.
- wolframAutomataCellular automata whose rule is picked by the music.
- turingAutomata2D Turing machines that rewrite their own state tables.
- complexAutomataAutomata with complex-function rule sets.
- domainColoringDomain coloring of complex functions, with movies.
- prettyGraphImages from music (Haskell); the ancestor of math-visualizers.
- emergentFeedbackEmergent patterns from a visual feedback loop.
- frameSideChannelA browser frame side-channel demo.
- prngComparisonComparing pseudo-random number generators.
- cipherSaberCipherSaber encryption and decryption.
- cheatorrentA BitTorrent client that lies about its upload ratio.
- diceFinderSearch for nontransitive dice.
- imageSpectrogramTurns an image into a sound whose spectrogram is the image (Perl).
- blinkenLightPIC18F light sync.