Skip to content

Home & FAQ

Brad Woodward edited this page Apr 1, 2022 · 3 revisions

Welcome to the NPK wiki!

Frequently Asked Questions

What instance type should I run this on?

NPK itself uses a purely event-driven, serverless architecture for the management plane, meaning it doesn't run on an instance. When you run a campaign, NPK provisions GPU-powered instances and runs hashcat for you. There are no instances to maintain for NPK itself.

Does NPK support Google Cloud/Azure/Alibaba/IBM Cloud/Oracle Cloud/Vast.ai/OpenStack/VMWare Air?

No. NPK is AWS-only.

The README suggests that I use a dedicated AWS account to deploy NPK. Why is this?

It's best practice to separate any stand-alone services into separate AWS accounts anyway. Given that NPK has no reason to reside alongside your other workloads or data, this is a best practice that you should align with. Having a distinct account also makes it easier to monitor costs, to be confident that a given cloud resources belongs to NPK and not to some other service in your environment, and reduces the risk of data compromise if vulnerabilities are found.

You might say that it's inconvenient, especially if you're just deploying it for testing, but don't be lazy and just do it.

What region should I pick?

You should pick whatever region you'll be running campaigns from most often, or whichever region has the highest GPU instance limit. us-west-2 tends to be cheapest, which can be a good fall-back if you're not sure. At the end of the day though, doing it wrong will only cost the typical user a few cents per campaign. It's generally not worth stressing about.

The performance numbers shown the the campaign builder are much lower than other benchmarks show. What gives? Is NPK slow?

Hashcat benchmarks only show the performance of mask-only attacks, which are the fastest attack type. NPK shows wordlist performance numbers by default, but the numbers and calculations will adjust automatically to numbers you're more familiar with if you select only a mask attack. Hashcat performs just as well in NPK as it does anywhere else.

My campaign was outbid. Why don't you use defined duration spot requests for cracking jobs, and why don't you use the 'maintain' option?

Defined duration spot requests last for a pre-defined period, and you pay for it whether you use it or not. If you build a 6-hour campaign that runs for 20 minutes, or worse that errors out, you're out for the full 6 hours. Yes, the risk of being outbid is higher, but you're far more likely to end early than you are to get outbid.

The 'maintain' option for spot fleet requests tells EC2 to spin up new instances to replace failed ones. Since nodes can't resume an active campaign, a new node that came online would start cracking from scratch. It would also mean that nodes the shut down after a campaign completes would just get spun back up for no benefit.