Skip to content
Skillpedia
Agents35k · #5657

detecting-deepfake-audio-in-vishing-attacks

Helps your agent identify fake AI-generated audio in voice scams. Useful for investigating fraud and analyzing computer-generated speech.

What it does

This tool helps identify if audio was created by artificial intelligence (AI), such as in voice phishing (vishing) scams. It analyzes sound characteristics to determine if a voice sounds fake.

When to use it

  • ✓Suspected scam where a boss's voice was cloned to authorize a transfer.
  • ✓Received audio sounds like someone known, but the tone seems off.
  • ✓Investigation to determine if a voice recording contains synthetic speech.

Example of what to ask your AI

“Analyze this audio and tell me if the voice sounds like an AI imitation.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-deepfake-audio-in-vishing-attacks/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-deepfake-audio-in-vishing-attacks/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool examines sound details, like frequency contours and voice variations. It uses machine learning models to compare these details against patterns of real and fake voices.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-deepfake-audio-in-vishing-attacks

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-deepfake-audio-in-vishing-attacks/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Detecting Deepfake Audio in Vishing Attacks

When to Use

  • A suspected vishing call used an AI-cloned executive voice to authorize a wire transfer
  • Security operations received a voicemail that sounds like the CEO but the tone seems off
  • Incident response needs to determine whether a recorded phone call contains synthetic speech
  • Fraud investigation requires forensic proof that audio was AI-generated
  • Red team exercises use voice cloning and blue team needs detection capability

Do not use for text-based phishing (email/SMS); use email header analysis or URL detonation tools instead.

Prerequisites

  • Python 3.9+ with librosa, numpy, scikit-learn, and scipy installed
  • Audio samples in WAV, MP3, or FLAC format (mono or stereo, any sample rate)
  • Reference corpus of known genuine voice samples for the targeted individual (optional but improves accuracy)
  • FFmpeg installed for audio format conversion (librosa dependency)
  • Minimum 3 seconds of audio for reliable feature extraction

Workflow

Step 1: Audio Preprocessing

Normalize and prepare audio samples for feature extraction:

import librosa
import numpy as np

# Load audio, resample to 16kHz mono
y, sr = librosa.load("suspect_call.wav", sr=16000, mono=True)

# Trim silence from beginning and end
y_trimmed, _ = librosa.effects.trim(y, top_db=25)

# Normalize amplitude to [-1, 1]
y_norm = y_trimmed / np.max(np.abs(y_trimmed))

Audio preprocessing ensures consistent feature extraction across different recording conditions, microphones, and codec artifacts.

Step 2: Extract Spectral Features

Extract the feature set that distinguishes real from synthetic speech:

Mel-Frequency Cepstral Coefficients (MFCCs):

# Extract 20 MFCCs + delta and delta-delta
mfccs = librosa.feature.mfcc(y=y_norm, sr=sr, n_mfcc=20)
mfcc_delta = librosa.feature.delta(mfccs)
mfcc_delta2 = librosa.feature.delta(mfccs, order=2)

MFCCs capture the spectral envelope of speech, representing how the vocal tract shapes sound. Deepfake audio often shows unnatural smoothness in higher-order MFCCs because neural vocoders approximate but do not perfectly replicate the acoustic resonance of a physical vocal tract.

Spectral Features:

spectral_centroid = librosa.feature.spectral_centroid(y=y_norm, sr=sr)
spectral_bandwidth = librosa.feature.spectral_bandwidth(y=y_norm, sr=sr)
spectral_contrast = librosa.feature.spectral_contrast(y=y_norm, sr=sr)
spectral_rolloff = librosa.feature.spectral_rolloff(y=y_norm, sr=sr)
zero_crossing_rate = librosa.feature.zero_crossing_rate(y_norm)

Key indicators of deepfake audio:

  • Reduced spectral contrast in the 4-8 kHz range (vocoders compress high-frequency detail)
  • Abnormally consistent spectral centroid over time (real speech has natural variation)
  • Lower zero-crossing rate variance (synthetic speech lacks micro-perturbations)
  • Missing or attenuated formant transitions during consonant-vowel boundaries

Step 3: Build Feature Vector and Classify

Aggregate frame-level features into a fixed-length vector and classify:

from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.model_selection import cross_val_score

def build_feature_vector(y, sr):
    features = []
    mfccs = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=20)
    for coeff in mfccs:
        features.extend([np.mean(coeff), np.std(coeff), np.min(coeff), np.max(coeff)])
    for feat_fn in [librosa.feature.spectral_centroid,
                    librosa.feature.spectral_bandwidth,
                    librosa.feature.spectral_rolloff,
                    librosa.feature.zero_crossing_rate]:
        feat = feat_fn(y=y, sr=sr) if feat_fn != librosa.feature.zero_crossing_rate else feat_fn(y)
        features.extend([np.mean(feat), np.std(feat), np.min(feat), np.max(feat)])
    contrast = librosa.feature.spectral_contrast(y=y, sr=sr)
    for band in contrast:
        features.extend([np.mean(band), np.std(band)])
    return np.array(features)

Classification uses an ensemble approach: Random Forest for robustness and Gradient Boosting for accuracy, with a voting mechanism to reduce false positives.

Step 4: Temporal Artifact Analysis

Examine time-domain artifacts that neural vocoders leave behind:

# Pitch stability analysis - deepfakes often have unnaturally stable F0
f0, voiced_flag, voiced_probs = librosa.pyin(y_norm, fmin=50, fmax=500, sr=sr)

…
FAQ

Do I need specific software to use this?

Yes, you need to have Python installed along with audio and machine learning libraries like librosa, numpy, and scikit-learn.

What audio file types are supported?

Files in WAV, MP3, or FLAC formats are accepted. The audio can have any sample rate and be mono or stereo.

What is 'vishing'?

Vishing is a type of scam that uses voice calls to trick people, often by impersonating someone trustworthy.

Details

Original description by the author

Detect AI-generated deepfake audio used in voice phishing (vishing) by extracting spectral features (MFCC, spectral centroid, spectral contrast, zero-crossing rate) and classifying samples with machine learning models, supporting batch audio analysis, confidence scoring, and forensic reporting. Use for deepfake voice detection, vishing investigations, AI-generated speech analysis, voice cloning de

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5657
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills