Havoc
:volcano: A set of dangerous algorithms that cause havoc in .NET applications and operating systems for use in chaos engineering.
Install / Use
/learn @bchavez/HavocREADME
<img src="https://raw.githubusercontent.com/bchavez/Havoc/master/Docs/logo.png" align='right' />
Havoc
Project Description
Hello. I'm your host Brian Chavez (twitter). Havoc is a collection of dangerous code that wreck havoc in .NET applications and the operating system for chaos-engineering. Havoc is built on Bogus generator fake data generator for .NET.
Havoc can help you stress test your .NET applications under various load conditions, simulation, fault and failure-injection scenarios. If you like Havoc star :star: the repository and show your friends! :smile: :dizzy: :muscle:
Download & Install
Nuget Package Havoc
Install-Package Havoc
Minimum Requirements: .NET Standard 2.0 or .NET Framework 4.0.
Usage
Havoc Scenarios
Legend: :x: - Not Implemented Yet.
CpuStress- Saturate the CPU with excessive computational work.- :x:
ContextSwitching- Create a high amount of thread context switching.
Process- :x:
MassDeadlock- Create a massive mount of deadlocked threads. MassThread- Create a massive amount of threads in a process.FileOpenHandles- Excessively create large amount of open file handles.ThreadPoolStarvation- Create a situation where the thead pool is starved.ThreadPoolChaos- Keeps reference to thread pool threads, then later callsAbort()randomly causing thread pool threads to randomly abort executing code.ProcessExit- CallsEnvironment.FailFastand terminates the current running process immediately.
- :x:
DiskCachedWrites- Write as fast as possible using the same data to disk.- :x:
CachedReads- Read as fast as possible reading the same data on disk. - :x:
RandomWrites- Write random data to disk as fast as possible. - :x:
RandomReads- Read random data on disk as fast as possible. - :x:
RandomIO- Random reads and writes as fast as possible. - :x:
CachedIO- Cached reads and writes as fast as possible.
MemoryMemoryLeak- Create a slow memory leak situation.OutOfMemory- Excessive memory allocation that causesOutOfMemoryException.StackOverflow- Generate a stack overflow exception.- :x:
ExcessiveGC- Create a work load that causes excessive amounts of GC pauses. - :x:
MemoryCorruption- Reflects into object and manipulates private values. - :x:
DotNetFrameworkCorruption- Static values in the .NET Framework are manipulated at runtime with various out of range values that can cause problems if calling code is invoked.
NetworkLocalTcpPortExhaustionAsync- Exhaust the number of available TCP/IP ports on the local operating system.- :x:
TcpConnectionExhaustion- Create a massive amount of TCP/IP connections to a given host. - :x:
TcpSend- Sends TCP data as fast as possible saturating a TCP link with random data. - :x:
UdpSend- Send UDP data as fast as possible saturating UDP packets with random data.
Os- :x:
WaitHandles- Create a massive amount of wait handles registered in the operating system. MassMutex- Register a massive amount of handles in the operating system.MassSystemTimer- Create massive amounts ofSystem.Timers.Timerthat fire at random times.- :x:
Processes- Create a massive amount of processes in the operating system.
- :x:
Windows- :x:
BlueScreen- Cause a blue screen kernel bug check.
- :x:
Dangerous- :x:
DiskCorruption- Randomly modify executing assembly and reference assemblies. DiskFull- Continuously fill the disk until there is no free space left.WriteEicar- Write an EICAR test string to disk that will cause an anti-virus scanners to trigger.WriteEicarMany- Write an anti-virus test string to a folder on disk, creating as many Eicar files as possible. The directory will be filled with random file names and their contents with the Eicar test value.
- :x:
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
