Help Henry Hacker get to Homecoming during [DEFCON30](https://defcon.org/html/defcon-30/dc-30-index.html) -- Brought to you by the [AI Village](https://aivillage.org/)! In this series of challenges, you'll be interacting with various machine learning security challenges. 

The competition will be live from August 11th to September 12th @ 12:00. If you're in Vegas, stop by the village to chat about the competition. There's also the Kaggle Discussion Board and [Discord](https://discord.gg/c4hAzeRNGC).

# Process
This capture-the-flag (CTF) follows a different flow than most Kaggle competitions. Competitors will be interacting with API endpoints or code/objects stored in the `input` directory during each of the challenges. Upon successful completion of a challenge, that challenge will return a flag (unique-to-you strings with a length of 128 characters). To update the scoreboard, competitors will submit a `.csv` containing all of their flags -- see [the kaggle documentation](https://www.kaggle.com/docs/competitions#submitting-by-uploading-a-file) or contact the competition organizers for help. Cumulative scores will be weighted based on the difficulty of the challenge. All competitors start at `0` and work their way towards a perfect score of `1.0`. There are 22 challenges, ensure your `submission.csv` has exactly those 22 challenge rows.

NOTE: The template notebook is just a convenience function and method for submitting flags to the scoreboard. Don't feel constrained to that single operating environment. Interact with the challenges from your local host or any other machine that can access the internet. Afterwards, you can transport your flags into the notebook to update the scoreboard. The template is available [here](https://www.kaggle.com/lucasjt/getting-started).

NOTE: If you want to interact with online challenges through Kaggle (using the template notebook, for instance), you may need to verify your Kaggle account using a phone number.

Here is a handy link to Kaggle's [competition documentation](https://www.kaggle.com/docs/competitions), which includes, among other things, instructions on [submitting predictions](https://www.kaggle.com/docs/competitions#making-a-submission).

Paranoid? If you don't have a kaggle account and don't want to make one, let us know and we can give you instructions for playing the challenges from your own machine. You won't be able to contribute to the scoreboard, but you'll know when you get the right flag.

Please do not try and hack any infrastructure or share flags. Any teams found sharing flags will be disqualified.

# Challenges
CTF's are inherently puzzles that are intended to challenge you and help you learn new things. Sometimes they may be a little ambiguous or misleading. That's part of the challenge!

**Math Challenges**: Four challenges to explore the concept of dimensionality.
**Hotdog and Hotterdog**: Dogs, wieners, and classifiers. What more could you want?
**bad2good**: Can you poison a dataset to change how something is classified?
**baseball**: Can you impersonate someone else by throwing the correct distribution of pitches?
**crop**: Two challenges to test your ability to manipulate an image cropping model.
**deepfake**: There's a nasty deepfake getting detected out there, can you help it?
**honorstudent**: Can you change an image of an F to look like an A? Why would someone want to do such a thing?
**salt**: This model has some pretty advanced defenses. Can you evade it anyway?
**theft**: Can you steal this model to get a sneaky owl past it?
**token**: Sentiment Analysis. Who needs?
**waf**: A web-app-firewall blocks malicious requests. Can you discover and by-pass the 0-day?
**inference**: I think something's backwards here. Can you, like, back something out?
**forensics**: Nice artifact you got there, shame if there was a flag in it.
**leakage**: Get a password out of a model, is that even possible?
**murderbot**: Save the humans, escape the bots!
**secret_sloth**: That sloth has a message. Why? I don't know, but it does.
**wifi**: Can you pull your wifi password out of the embedding?

Are you in? Of course you are. Come check it out by making a copy of this notebook: https://www.kaggle.com/lucasjt/getting-started

# Help
For help, contact us on [Discord](https://discord.gg/c4hAzeRNGC), use the Kaggle discussion board, or if you're attending DEFCON 30 in-person, come find us at the AI Village.