Skip to content
Back to skills

Tempest

ASecurity

Drive PWN::SDR::Decoder::Tempest from pwn_eval.

  • 86 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
securityrubyshell

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add 0dayInc/pwn --skill tempest --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tempest?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tempest
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/0dayinc-tempest/badge)](https://www.skillsdirectory.com/skills/0dayinc-tempest)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pwn-sdr-decoder-tempest
description: Drive PWN::SDR::Decoder::Tempest from pwn_eval.
license: MIT
allowed-tools: [pwn, pwn_eval]
metadata:
  bundled: true
  generated: true
  module: PWN::SDR::Decoder::Tempest
  source: pwn/sdr/decoder/tempest.rb
---

# PWN::SDR::Decoder::Tempest

Pure-Ruby TEMPEST / Van Eck raster decoder. Recovers a greyscale candidate raster from AM on a display pixel-clock harmonic captured as I/Q (RTL-SDR, HackRF, Pluto, Soapy, or a .cu8/.cs16 file). Magnitude envelope is resampled to one sample per pixel, packed into H×V lines using a VESA timing, and written as Netpbm P5 PGM. No TempestSDR / GNU Radio dependency. Assumes known timing and frame origin; no automatic sync acquisition, drift tracking, or proof that the raster is a monitor image. Sample-and-hold interpolation cannot recover pixel detail absent from the capture bandwidth.

## When to use

Call `PWN::SDR::Decoder::Tempest` from `pwn_eval` when the task needs this module.
Do not reimplement it in shell.

## Methodologies

Generated from `pwn/sdr/decoder/tempest.rb`. Prefer the public class methods below.
Class methods take `(opts = {})` and read `opts`.

## How to call

```ruby
PWN::SDR::Decoder::Tempest.help
PWN::SDR::Decoder::Tempest.modes(opts)
```

## Public methods

- `modes`
- `resolve_timing`
- `reconstruct`
- `detect`
- `decode`
- `authors`
- `help`

## Source

`pwn/sdr/decoder/tempest.rb`

## Verification

`PWN::SDR::Decoder::Tempest.respond_to?(:modes)` after the
module is loaded. Read the source for parameter names.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.