HN user

griffinmb

987 karma

byatt.griffin@gmail.com

[ my public key: https://keybase.io/griffinmb; my proof: https://keybase.io/griffinmb/sigs/u-6FMiNO_5m8QCpOTM-1WeHOnVBTJwx9YIjSIJFSsNY ]

Posts27
Comments95
View on HN
gmb.is 5y ago

CSRF Protection in Plug and Phoenix

griffinmb
2pts0
github.com 5y ago

Mezzano – An Operating System Written in Common Lisp

griffinmb
4pts0
www.securemeteor.com 5y ago

Secure Meteor

griffinmb
1pts0
gmb.is 5y ago

Faking Useful Refinement Types in Racket

griffinmb
2pts0
github.com 6y ago

Sobelow: Security Scans for the Phoenix Framework

griffinmb
1pts0
griffinbyatt.com 6y ago

Das Q Vulnerabilities

griffinmb
1pts0
griffinbyatt.com 7y ago

The Phoenix Router

griffinmb
1pts0
www.securemeteor.com 7y ago

Secure Meteor

griffinmb
1pts0
thenextweb.com 7y ago

Stellar’s ‘decentralized’ blockchain crashed for 2 hours and nobody realized

griffinmb
2pts0
www.nccgroup.trust 7y ago

Private Key Extraction from Qualcomm Hardware-Backed Keystores

griffinmb
305pts56
blog.griffinbyatt.com 7y ago

Phoenix Is Not Magic

griffinmb
2pts0
blog.jcoglan.com 7y ago

Announcing Building Git

griffinmb
291pts52
blog.fox-it.com 7y ago

Identifying Cobalt Strike team servers in the wild

griffinmb
1pts0
griffinbyatt.com 7y ago

Unexpected Code Execution

griffinmb
1pts0
blog.griffinbyatt.com 7y ago

Dynamically Loading Mach-O Executables

griffinmb
1pts0
www.facebook.com 7y ago

My dog was killed on a walk with a walker ordered through Wag

griffinmb
775pts442
github.com 7y ago

Show HN: Sound – A security-focused, experimental web framework

griffinmb
2pts0
sound.griffinbyatt.com 7y ago

Show HN: Sound – An experimental web framework built with Swift

griffinmb
1pts0
www.craftinginterpreters.com 8y ago

Crafting Interpreters: Chunks of Bytecode

griffinmb
4pts0
github.com 8y ago

Sobelow: Security-Focused Static Analysis for the Phoenix Framework

griffinmb
3pts0
griffinbyatt.com 9y ago

Analysis of Plug Security Vulnerabilities

griffinmb
1pts0
blog.openbazaar.org 10y ago

OpenBazaar is Open for Business

griffinmb
215pts36
motherboard.vice.com 10y ago

The CEO of a Failed For-Profit College Started a Coding Bootcamp

griffinmb
4pts1
news.ycombinator.com 10y ago

Ask HN: I've got one user. What's the best way to get more?

griffinmb
66pts62
www.scriptcat.io 10y ago

Show HN: ScriptCat – Like Pingdom for ports

griffinmb
2pts1
news.ycombinator.com 10y ago

Ask HN: What are the best texts to learn the ins and outs of databases and OSs?

griffinmb
12pts5
github.com 11y ago

Show HN: Minimal Meteor Scaffolding

griffinmb
1pts1

The point is that with a powerful Effects system, devs calling the logger would have to account for the network call in their own code. Someone might have wondered why that was needed and gotten this addressed before it was ever widespread.

This class of bug (CSRF bypass via route confusion) is probably more common in Phoenix apps. I’ve found a handful of apps vulnerable to this issue with Sobelow.

People create (for example) a get ‘/profile’ and a post ‘/profile’, and the action intended to correspond with post requests really just pattern matches against params.

I’ve also seen at least one app implement this properly, matching against the HTTP method as you described.

Sure, the "passive" was what I was calling out as incorrect. And as you noted, a compromised trusted CA affects all domains. Which is another thing this article gets explicitly wrong.

If DigiCert’s Key Management System is compromised, all of their SSL certificates will have to be revoked and re-issued. But if one of the other CAs is compromised, it would not affect Medium’s site.

This is a horribly misinformed article, and is incorrect about the most fundamental arguments it is making. E.g. Among many other issues, it implies that a compromised CA would allow passive MitM.

Agreed that you don't gain anything if you're using 1Password. But users may be required to set up MFA to access something like GitHub organizations, in which case having it available in 1Password is convenient.

I made the switch from web development to security a few years ago and initially took a 10-15% pay cut. I didn't get any certs and wouldn't necessarily recommend them. Instead, I joined various bug bounty programs to get practical (and resume-lite) experience.

Having implementation experience (via webdev) in addition to the bug bounty experience was a plus when I was interviewing.

If you're in a tech hub like SF or NYC there is plenty of security work. But, yeah, I would expect some kind of a paycut since you are moving from a (potentially) senior position to an entrylevel position.

I mean, I read the codebase, which is why I'm saying it's small and easily understood. Sure, it has some specific things to know, and some ("magical") helpers like automatic view functions. But it's no more its own platform than any other micro-framework.

I'd be interested to know what you believe the ups and downs are, aside from speed.

Phoenix is really a very small framework, and its codebase can be easily understood in just a couple of days. Phoenix being "large" is a common (but unfounded) criticism that seems to stem from Elixir's superficial resemblance to Ruby.

Since launch Quit Genius has grown to 300,000 registered users, with over 20,000 people officially smoke-free in the app (which Quit Genius defines as having not smoked for over 28 days).

I'd be interested to know how "smoke-free" time is established. Are users self-reporting that they have or haven't smoked with the app? And 28-days of not smoking is great, but it feels dishonest to call that "smoke-free".

Healthy employees save the company money and are more productive, and Quit Genius thinks it can not only help employees get healthier but give employers a way to track that progress.

Dystopian.

I think the issue is more that nonce reuse with stream ciphers like GCM result in a more catastrophic failure (i.e. secret key disclosure), whereas reusing the IV with CBC will only disclose whether some plaintext was encrypted multiple times. In an embedded platform where there is no easy way to ensure a nonce is not reused, the potential info disclosure may be preferable.

In general, I think Ruby does a good job of being unsurprising. I like that most things work as I'd expect, with the syntax I'd expect. But then you've got weird things like `File.read("|ls")` that are entirely surprising.

I believe that the real reason is that Webkit needs privileged APIs and unique executable memory regions for the jit. Giving third-party developers that access would make jailbreaking a simpler process.