Listen "173: Web App Security Best Practices and Sobelow"
Episode Synopsis
We delve into the tricky world of cybersecurity with our guest, Michael Lubas. We touch on the widely-discussed 23andMe data breach, discussing what went wrong and how it applies to Elixir apps. A significant part of our talk is centered around the informative guide by the EEF Security Working Group called “Web Application Security Best Practices for BEAM languages.” An essential tool featured in our discussion is Sobelow, a security-focused static code analysis tool invaluable in warding off potential security breaches. We wrap up the conversation by discussing the practical application of these tools, using Paraxial.io's vulnerable-by-design “Potion Shop” app as a case study to run Sobelow and practice fixing issues. Join us for an enlightening discussion packed full of important insights!
Show Notes online - http://podcast.thinkingelixir.com/173 (http://podcast.thinkingelixir.com/173)
Elixir Community News
- https://github.com/phoenixframework/phoenixliveview/pull/2845 (https://github.com/phoenixframework/phoenix_live_view/pull/2845?utm_source=thinkingelixir&utm_medium=shownotes) – Information on the upcoming LiveView that speeds up client DOM patching 5x.
- https://twitter.com/chris_mccord/status/1709681327019086044 (https://twitter.com/chris_mccord/status/1709681327019086044?utm_source=thinkingelixir&utm_medium=shownotes) – The post to further explain the upcoming LiveView.
- https://twitter.com/josevalim/status/1709841186972705033 (https://twitter.com/josevalim/status/1709841186972705033?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's clarification on how LiveView's 5x DOM patching works.
- https://twitter.com/wojtekmach/status/1709675064944144605 (https://twitter.com/wojtekmach/status/1709675064944144605?utm_source=thinkingelixir&utm_medium=shownotes) – Teaser about a cool new Req feature by Wojtek Mach.
- https://twitter.com/wojtekmach/status/1710053454217887970 (https://twitter.com/wojtekmach/status/1710053454217887970?utm_source=thinkingelixir&utm_medium=shownotes) – Release note for Req v0.3.12 and v0.4.4 and encouragement to upgrade.
- https://twitter.com/Tangui/status/1709645048906748378 (https://twitter.com/Tangui/status/1709645048906748378?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of a new HTTP Caching library called httpcache.
- http://svground.fr/blog/posts/introducing-http-cache/ (http://svground.fr/blog/posts/introducing-http-cache/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post that accompanies the release of the new HTTP Caching library.
- https://github.com/tanguilp/plughttpcache (https://github.com/tanguilp/plug_http_cache?utm_source=thinkingelixir&utm_medium=shownotes) – plughttpcache - An Elixir plug that caches HTTP responses.
- https://github.com/tanguilp/teslahttpcache (https://github.com/tanguilp/tesla_http_cache?utm_source=thinkingelixir&utm_medium=shownotes) – teslahttpcache - HTTP caching Tesla middleware.
- https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2 (https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2?utm_source=thinkingelixir&utm_medium=shownotes) – Post about Day 1 of Livebook's launch week with information on the new feature.
- https://twitter.com/thmsmlr/status/1709309268183367901 (https://twitter.com/thmsmlr/status/1709309268183367901?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Livebook Copilot by Thomas Millar.
- https://github.com/thmsmlr/kino_copilot (https://github.com/thmsmlr/kino_copilot?utm_source=thinkingelixir&utm_medium=shownotes) – kinocopilot - Livebook SmartCell that refactors code, generates SQL for data analysis, writes documentation, and generates dashboards.
- https://twitter.com/hugobarauna/status/1709631824555573554 (https://twitter.com/hugobarauna/status/1709631824555573554?utm_source=thinkingelixir&utm_medium=shownotes) – Demonstration of Livebook voice transcription by Hugo Baraúna.
- https://github.com/brainlid/langchain_demo (https://github.com/brainlid/langchain_demo?utm_source=thinkingelixir&utm_medium=shownotes) – LangChain Demo project that includes an example of an Agent.
- https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/ (https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post - Created my Personal AI Fitness Trainer in 2 Days
- https://www.youtube.com/watch?v=AsfQNtoaB1M (https://www.youtube.com/watch?v=AsfQNtoaB1M?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube video overview for AI Personal Fitness Trainer with demo
- https://spawnfest.org/ (https://spawnfest.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Information on SpawnFest, a 48-hour online software development contest.
- https://codebeameurope.com/ (https://codebeameurope.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information on CodeBEAM Europe event.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://www.wired.com/story/23andme-credential-stuffing-data-stolen/ (https://www.wired.com/story/23andme-credential-stuffing-data-stolen/?utm_source=thinkingelixir&utm_medium=shownotes) – 23andMe breach
- https://erlef.github.io/security-wg/webappsecuritybestpractices_beam/ (https://erlef.github.io/security-wg/web_app_security_best_practices_beam/?utm_source=thinkingelixir&utm_medium=shownotes) – Web Application Security Best Practices for BEAM languages - a guide from the EEF Security Working Group
- https://paraxial.io/blog/real-sobelow (https://paraxial.io/blog/real-sobelow?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Security - Real World Sobelow
- https://podcast.thinkingelixir.com/148 (https://podcast.thinkingelixir.com/148?utm_source=thinkingelixir&utm_medium=shownotes) – Security Scanning our Apps with Sobelow
- https://www.ftc.gov/enforcement/refunds/equifax-data-breach-settlement (https://www.ftc.gov/enforcement/refunds/equifax-data-breach-settlement?utm_source=thinkingelixir&utm_medium=shownotes) – Why use Sobelow? The Equifax breach, $425 million penalty, was a remote code execution (RCE) vulnerability
- https://paraxial.io/blog/elixir-rce (https://paraxial.io/blog/elixir-rce?utm_source=thinkingelixir&utm_medium=shownotes) – Understanding remote code execution (RCE) attacks in Elixir
- https://paraxial.io/blog/potion-shop (https://paraxial.io/blog/potion-shop?utm_source=thinkingelixir&utm_medium=shownotes) – Potion Shop
- https://www.meetup.com/new-york-city-elixir/events/296705817/ (https://www.meetup.com/new-york-city-elixir/events/296705817/?utm_source=thinkingelixir&utm_medium=shownotes) – The NYC Elixir meetup
- https://www.meetup.com/denver-erlang-elixir/ (https://www.meetup.com/denver-erlang-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Denver Elixir meetup
Guest Information
- https://twitter.com/paraxialio (https://twitter.com/paraxialio?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter
- https://github.com/paraxialio/ (https://github.com/paraxialio/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github
- https://genserver.social/paraxial (https://genserver.social/paraxial?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse
- https://paraxial.io/blog/index (https://paraxial.io/blog/index?utm_source=thinkingelixir&utm_medium=shownotes) – Blog
- https://www.linkedin.com/company/paraxial-io (https://www.linkedin.com/company/paraxial-io?utm_source=thinkingelixir&utm_medium=shownotes) – LinkedIn
- https://www.youtube.com/@paraxial5874 (https://www.youtube.com/@paraxial5874?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial YouTube channel
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @[email protected] (https://genserver.social/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @[email protected] (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @[email protected] (https://genserver.social/dbern)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
- Cade Ward on Fediverse - @[email protected] (https://genserver.social/cadebward)
Show Notes online - http://podcast.thinkingelixir.com/173 (http://podcast.thinkingelixir.com/173)
Elixir Community News
- https://github.com/phoenixframework/phoenixliveview/pull/2845 (https://github.com/phoenixframework/phoenix_live_view/pull/2845?utm_source=thinkingelixir&utm_medium=shownotes) – Information on the upcoming LiveView that speeds up client DOM patching 5x.
- https://twitter.com/chris_mccord/status/1709681327019086044 (https://twitter.com/chris_mccord/status/1709681327019086044?utm_source=thinkingelixir&utm_medium=shownotes) – The post to further explain the upcoming LiveView.
- https://twitter.com/josevalim/status/1709841186972705033 (https://twitter.com/josevalim/status/1709841186972705033?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's clarification on how LiveView's 5x DOM patching works.
- https://twitter.com/wojtekmach/status/1709675064944144605 (https://twitter.com/wojtekmach/status/1709675064944144605?utm_source=thinkingelixir&utm_medium=shownotes) – Teaser about a cool new Req feature by Wojtek Mach.
- https://twitter.com/wojtekmach/status/1710053454217887970 (https://twitter.com/wojtekmach/status/1710053454217887970?utm_source=thinkingelixir&utm_medium=shownotes) – Release note for Req v0.3.12 and v0.4.4 and encouragement to upgrade.
- https://twitter.com/Tangui/status/1709645048906748378 (https://twitter.com/Tangui/status/1709645048906748378?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of a new HTTP Caching library called httpcache.
- http://svground.fr/blog/posts/introducing-http-cache/ (http://svground.fr/blog/posts/introducing-http-cache/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post that accompanies the release of the new HTTP Caching library.
- https://github.com/tanguilp/plughttpcache (https://github.com/tanguilp/plug_http_cache?utm_source=thinkingelixir&utm_medium=shownotes) – plughttpcache - An Elixir plug that caches HTTP responses.
- https://github.com/tanguilp/teslahttpcache (https://github.com/tanguilp/tesla_http_cache?utm_source=thinkingelixir&utm_medium=shownotes) – teslahttpcache - HTTP caching Tesla middleware.
- https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2 (https://news.livebook.dev/remote-execution-smart-cell---launch-week-2---day-1-m3dv2?utm_source=thinkingelixir&utm_medium=shownotes) – Post about Day 1 of Livebook's launch week with information on the new feature.
- https://twitter.com/thmsmlr/status/1709309268183367901 (https://twitter.com/thmsmlr/status/1709309268183367901?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Livebook Copilot by Thomas Millar.
- https://github.com/thmsmlr/kino_copilot (https://github.com/thmsmlr/kino_copilot?utm_source=thinkingelixir&utm_medium=shownotes) – kinocopilot - Livebook SmartCell that refactors code, generates SQL for data analysis, writes documentation, and generates dashboards.
- https://twitter.com/hugobarauna/status/1709631824555573554 (https://twitter.com/hugobarauna/status/1709631824555573554?utm_source=thinkingelixir&utm_medium=shownotes) – Demonstration of Livebook voice transcription by Hugo Baraúna.
- https://github.com/brainlid/langchain_demo (https://github.com/brainlid/langchain_demo?utm_source=thinkingelixir&utm_medium=shownotes) – LangChain Demo project that includes an example of an Agent.
- https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/ (https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post - Created my Personal AI Fitness Trainer in 2 Days
- https://www.youtube.com/watch?v=AsfQNtoaB1M (https://www.youtube.com/watch?v=AsfQNtoaB1M?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube video overview for AI Personal Fitness Trainer with demo
- https://spawnfest.org/ (https://spawnfest.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Information on SpawnFest, a 48-hour online software development contest.
- https://codebeameurope.com/ (https://codebeameurope.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information on CodeBEAM Europe event.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://www.wired.com/story/23andme-credential-stuffing-data-stolen/ (https://www.wired.com/story/23andme-credential-stuffing-data-stolen/?utm_source=thinkingelixir&utm_medium=shownotes) – 23andMe breach
- https://erlef.github.io/security-wg/webappsecuritybestpractices_beam/ (https://erlef.github.io/security-wg/web_app_security_best_practices_beam/?utm_source=thinkingelixir&utm_medium=shownotes) – Web Application Security Best Practices for BEAM languages - a guide from the EEF Security Working Group
- https://paraxial.io/blog/real-sobelow (https://paraxial.io/blog/real-sobelow?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Security - Real World Sobelow
- https://podcast.thinkingelixir.com/148 (https://podcast.thinkingelixir.com/148?utm_source=thinkingelixir&utm_medium=shownotes) – Security Scanning our Apps with Sobelow
- https://www.ftc.gov/enforcement/refunds/equifax-data-breach-settlement (https://www.ftc.gov/enforcement/refunds/equifax-data-breach-settlement?utm_source=thinkingelixir&utm_medium=shownotes) – Why use Sobelow? The Equifax breach, $425 million penalty, was a remote code execution (RCE) vulnerability
- https://paraxial.io/blog/elixir-rce (https://paraxial.io/blog/elixir-rce?utm_source=thinkingelixir&utm_medium=shownotes) – Understanding remote code execution (RCE) attacks in Elixir
- https://paraxial.io/blog/potion-shop (https://paraxial.io/blog/potion-shop?utm_source=thinkingelixir&utm_medium=shownotes) – Potion Shop
- https://www.meetup.com/new-york-city-elixir/events/296705817/ (https://www.meetup.com/new-york-city-elixir/events/296705817/?utm_source=thinkingelixir&utm_medium=shownotes) – The NYC Elixir meetup
- https://www.meetup.com/denver-erlang-elixir/ (https://www.meetup.com/denver-erlang-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Denver Elixir meetup
Guest Information
- https://twitter.com/paraxialio (https://twitter.com/paraxialio?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter
- https://github.com/paraxialio/ (https://github.com/paraxialio/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github
- https://genserver.social/paraxial (https://genserver.social/paraxial?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse
- https://paraxial.io/blog/index (https://paraxial.io/blog/index?utm_source=thinkingelixir&utm_medium=shownotes) – Blog
- https://www.linkedin.com/company/paraxial-io (https://www.linkedin.com/company/paraxial-io?utm_source=thinkingelixir&utm_medium=shownotes) – LinkedIn
- https://www.youtube.com/@paraxial5874 (https://www.youtube.com/@paraxial5874?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial YouTube channel
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @[email protected] (https://genserver.social/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @[email protected] (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @[email protected] (https://genserver.social/dbern)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
- Cade Ward on Fediverse - @[email protected] (https://genserver.social/cadebward)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.