# ============================================================
# Knowledge Graph: Scoble Vishing Attack — 2FA Bypass via Social Engineering
# Base Source: https://x.com/Scobleizer/status/2053367142045847649
# Mesh Sources:
#   https://x.com/i/grok/share/c9e0ced23ca84a93885259d243c2124f
#   https://x.com/i/grok?conversation=2053503270107197590
# Subject: Robert Scoble's account compromise via vishing; Grok analysis of 2FA bypass
# Generated: 2026-05-10
# Template: kg-generator — Business & Market Analysis (RDF-Turtle)
# ============================================================

@prefix :       <https://x.com/Scobleizer/status/2053367142045847649#> .
@prefix schema: <https://schema.org/> .
@prefix skos:   <http://www.w3.org/2004/02/skos/core#> .
@prefix org:    <http://www.w3.org/ns/org#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:    <http://www.w3.org/2002/07/owl#> .
@prefix xsd:    <http://www.w3.org/2001/XMLSchema#> .
@prefix dbo:    <http://dbpedia.org/ontology/> .
@prefix dbr:    <http://dbpedia.org/resource/> .
@prefix prov:   <http://www.w3.org/ns/prov#> .

# ============================================================
# LIGHTWEIGHT ONTOLOGY — Cybersecurity Incident Model
# ============================================================

:CyberIncident a rdfs:Class ;
    rdfs:label "Cyber Incident"@en ;
    rdfs:comment "A security incident involving unauthorized access to or compromise of digital accounts or systems."@en ;
    owl:sameAs dbr:Cyberattack .

:SocialEngineeringAttack a rdfs:Class ;
    rdfs:subClassOf :CyberIncident ;
    rdfs:label "Social Engineering Attack"@en ;
    rdfs:comment "A cyber incident that exploits human psychology rather than technical vulnerabilities to gain unauthorized access."@en ;
    owl:sameAs <http://dbpedia.org/resource/Social_engineering_(security)> .

:VishingAttack a rdfs:Class ;
    rdfs:subClassOf :SocialEngineeringAttack ;
    rdfs:label "Vishing Attack"@en ;
    rdfs:comment "A social engineering attack carried out via voice phone call, in which the attacker impersonates a trusted entity (e.g., Google support) to manipulate the victim into surrendering credentials or authentication factors."@en ;
    owl:sameAs dbr:Voice_phishing .

:TwoFactorBypass a rdfs:Class ;
    rdfs:subClassOf :CyberIncident ;
    rdfs:label "Two-Factor Authentication Bypass"@en ;
    rdfs:comment "A class of attack technique that circumvents multi-factor authentication — not by technically defeating the cryptographic mechanism, but by manipulating the legitimate user into approving the attacker's authentication attempt."@en .

:AttackStage a rdfs:Class ;
    rdfs:label "Attack Stage"@en ;
    rdfs:comment "A discrete, ordered step in the lifecycle of a social engineering cyber incident."@en .

:DefenseMeasure a rdfs:Class ;
    rdfs:label "Defense Measure"@en ;
    rdfs:comment "A technical or behavioral countermeasure that reduces or eliminates the risk of a given attack class."@en .

# Custom properties
:hasPrecedingStage a rdfs:Property ;
    rdfs:domain :AttackStage ;
    rdfs:range :AttackStage ;
    rdfs:label "has preceding stage"@en ;
    rdfs:comment "Indicates the attack stage that must be completed before this stage begins."@en .

:exploitsWeakness a rdfs:Property ;
    rdfs:domain :CyberIncident ;
    rdfs:range xsd:string ;
    rdfs:label "exploits weakness"@en ;
    rdfs:comment "The human or technical weakness that the attack exploits."@en .

:mitigatedBy a rdfs:Property ;
    rdfs:domain :CyberIncident ;
    rdfs:range :DefenseMeasure ;
    rdfs:label "mitigated by"@en ;
    rdfs:comment "The defense measure that would prevent or reduce the impact of this incident."@en .

# ============================================================
# MAIN SOURCE DOCUMENTS
# ============================================================

:scoblePost a schema:SocialMediaPosting ;
    schema:headline "Scoble Vishing Hack Disclosure"@en ;
    schema:description """Robert Scoble (@Scobleizer) discloses a social engineering hack in which a vishing call impersonating
Google Support led to the compromise of several accounts including X (Twitter). The attacker, traced to Warsaw,
posted explicit content from Scoble's X profile. Google called Scoble to alert him and helped lock things down.
The incident occurred while Scoble was driving to Tahoe using Tesla Full Self-Driving, which allowed a safe
turnaround. In a public post-mortem, Scoble acknowledges bypassing his own verification protocols and calls
for 'AI first' habits in high-stress situations."""@en ;
    schema:url "https://x.com/Scobleizer/status/2053367142045847649" ;
    schema:author :robertScoble ;
    schema:publisher :xPlatform ;
    schema:datePublished "2026-05-10"^^xsd:date ;
    schema:about :scobleVishingIncident, :twoFactorBypass, :socialEngineering ;
    schema:hasPart :faqSection, :glossarySection, :howtoSection ;
    prov:wasGeneratedBy :kgGeneratorSkill, :rdfInfographicSkill .

:grokConversationShared a schema:Conversation ;
    schema:name "Grok Analysis: How the Scoble Vishing Attack Bypassed 2FA (Shared)"@en ;
    schema:url "https://x.com/i/grok/share/c9e0ced23ca84a93885259d243c2124f" ;
    schema:datePublished "2026-05-10"^^xsd:date ;
    schema:contributor :kidehen ;
    schema:description """Shared Grok conversation in which kidehen (@kidehen) prompted Grok to explain how the Scoble
vishing attack worked around 2-factor authentication on X. Grok provided a step-by-step technical and human
analysis of the 5-stage attack, covering credential pre-compromise, vishing call, number-challenge MitM,
Google account takeover, and X account compromise."""@en .

:grokConversationPrivate a schema:Conversation ;
    schema:name "Grok Analysis: Scoble Vishing — with Mermaid Sequence Diagram (Private)"@en ;
    schema:url "https://x.com/i/grok?conversation=2053503270107197590" ;
    schema:datePublished "2026-05-10"^^xsd:date ;
    schema:contributor :kidehen ;
    schema:description """Extended Grok conversation adding a Mermaid sequence diagram of the attack flow (Attacker →
Scoble → GoogleApp → Google Servers → X), plus a condensed lessons section recommending: hang up and call
back, verify with AI, use hardware security keys (YubiKey), maintain AI-first habits."""@en .

# ============================================================
# PEOPLE & ORGANIZATIONS
# ============================================================

:robertScoble a schema:Person ;
    schema:name "Robert Scoble"@en ;
    schema:alternateName "@Scobleizer"@en ;
    schema:description """Technology influencer, blogger, and author. Early blogger and social media pioneer;
former Microsoft and Rackspace technology evangelist. 25+ year career covering enterprise technology, spatial
computing, AI, and Silicon Valley startups. Co-author of 'Age of Context'. Known for early adoption of emerging
technologies and candid public disclosure of personal experiences — including this vishing incident."""@en ;
    schema:url "https://x.com/Scobleizer" ;
    schema:identifier "https://x.com/Scobleizer" ;
    rdfs:seeAlso dbr:Robert_Scoble .

:kidehen a schema:Person ;
    schema:name "Kingsley Uyi Idehen"@en ;
    schema:alternateName "@kidehen"@en ;
    schema:description "Founder and CEO of OpenLink Software. Semantic Web and Linked Data pioneer. Prompted the Grok analysis of this incident."@en ;
    schema:url "https://x.com/kidehen" ;
    schema:identifier "https://x.com/kidehen" .

:xPlatform a schema:Organization ;
    schema:name "X (formerly Twitter)"@en ;
    schema:description "Social media platform. One of the accounts compromised in the Scoble vishing attack."@en ;
    schema:url "https://x.com" ;
    schema:naics "519130" ;
    schema:identifier "https://www.census.gov/naics/?input=519130&year=2022&details=519130" ;
    rdfs:seeAlso dbr:Twitter .

:googleLLC a schema:Organization ;
    schema:name "Google LLC"@en ;
    schema:description """Google's security team both: (1) was impersonated by the attacker to manipulate Scoble,
and (2) detected the attack from Warsaw and called Scoble to initiate account protection. Google later confirmed
the attack origin and assisted in full account recovery."""@en ;
    schema:url "https://www.google.com" ;
    schema:naics "519130" ;
    schema:identifier "https://www.census.gov/naics/?input=519130&year=2022&details=519130" ;
    rdfs:seeAlso dbr:Google .

:unc6040 a schema:Organization ;
    schema:name "UNC6040"@en ;
    schema:description """Google-designated threat actor group known for conducting large-scale vishing campaigns
impersonating Google support. Uses real-time social engineering against 2FA push notifications and number-challenge
prompts. Operates globally; the Scoble attack was traced to Warsaw, Poland."""@en ;
    schema:identifier "UNC6040" .

:tesla a schema:Organization ;
    schema:name "Tesla"@en ;
    schema:description "Electric vehicle manufacturer. Scoble was using Tesla Full Self-Driving (FSD) when the attack occurred, enabling a safe turnaround to Tahoe despite his distraction."@en ;
    schema:url "https://www.tesla.com" ;
    schema:naics "336110" ;
    schema:identifier "https://www.census.gov/naics/?input=336110&year=2022&details=336110" ;
    rdfs:seeAlso <http://dbpedia.org/resource/Tesla,_Inc.> .

# ============================================================
# THE INCIDENT
# ============================================================

:scobleVishingIncident a :VishingAttack ;
    schema:name "Scoble Vishing Hack 2026"@en ;
    schema:description """A vishing (voice phishing) social engineering attack against Robert Scoble (@Scobleizer)
in which an attacker impersonating Google Support manipulated Scoble into approving the attacker's login via
Google's real 2FA number-challenge system. The attacker gained full control of Scoble's Google account and,
through Google SSO, compromised his X (Twitter) account. Explicit content was posted from Scoble's X profile.
Attack origin traced to Warsaw, Poland. Google called Scoble proactively to alert and assist in recovery."""@en ;
    schema:dateCreated "2026-05-10"^^xsd:date ;
    schema:location "Warsaw, Poland (attacker origin)"@en ;
    :exploitsWeakness "Human trust in authority figures; panic under pressure; dependence on push-based 2FA that assumes user will only approve own legitimate attempts" ;
    :mitigatedBy :hangUpAndCallBack, :aiFirstVerification, :hardwareSecurityKey, :panicProtocol ;
    schema:participant :robertScoble, :googleLLC, :xPlatform ;
    schema:about :twoFactorBypass, :socialEngineering, :vishing ;
    schema:hasPart :stage1CredentialCompromise, :stage2VishingCall,
                   :stage3NumberChallengeMitM, :stage4GoogleAccountTakeover,
                   :stage5XAccountTakeover .

:twoFactorBypass a :TwoFactorBypass ;
    schema:name "Real-Time 2FA Bypass via Social Engineering"@en ;
    schema:description """2FA (especially push notifications and number-challenge prompts) assumes the legitimate
user will only approve their own authentication attempts. Vishing attacks defeat this assumption by: creating
urgency ('Your account is being hacked right now!'), positioning the attacker as the helper, and instructing
the panicking victim to complete the 2FA step on the attacker's behalf. The cryptographic mechanism is never
defeated — the human is."""@en ;
    rdfs:seeAlso dbr:Multi-factor_authentication .

:socialEngineering a schema:DefinedTerm ;
    schema:name "Social Engineering (Cybersecurity)"@en ;
    schema:description """Psychological manipulation of individuals into divulging confidential information or
performing actions that compromise security. In the Scoble attack, the attacker exploited authority (Google
support), urgency (active threat from Warsaw), and distraction (driving) to bypass security protocols
the victim knew existed."""@en ;
    owl:sameAs <http://dbpedia.org/resource/Social_engineering_(security)> .

:vishing a schema:DefinedTerm ;
    schema:name "Vishing (Voice Phishing)"@en ;
    schema:description """A phone-based social engineering attack in which the caller impersonates a trusted
entity. Unlike email phishing, vishing creates real-time pressure and allows the attacker to guide the victim
step-by-step through the attack. Google's security team has publicly warned about UNC6040-style vishing groups
doing exactly this at scale."""@en ;
    owl:sameAs dbr:Voice_phishing .

:googleSSO a schema:DefinedTerm ;
    schema:name "Google Single Sign-On (SSO)"@en ;
    schema:description """Authentication mechanism allowing users to log into third-party services (including X)
using their Google account credentials. Once an attacker controls a victim's Google account, SSO becomes
an attack vector: they can either log into linked services directly, or use the now-controlled Gmail account
to receive password reset emails and take over those services too."""@en .

:mermaidSequenceDiagram a schema:DigitalDocument ;
    schema:name "Attack Sequence Diagram (Mermaid)"@en ;
    schema:description """Mermaid sequenceDiagram encoding the 5-stage Scoble vishing attack:
Attacker → Scoble (phone call impersonating Google Support) →
Attacker → Google Servers (real login attempt from Warsaw) →
Google → GoogleApp (legitimate 2FA push) →
GoogleApp → Scoble (shows 'Enter these numbers to verify') →
Scoble → GoogleApp (enters numbers as instructed by attacker) →
GoogleApp → Google (approves login) →
Google → Attacker (grants full session) →
Attacker → X (logs in via Google SSO or resets password via Gmail) →
Attacker → X (posts explicit content)"""@en ;
    schema:encodingFormat "text/x-mermaid" ;
    schema:isPartOf :grokConversationPrivate .

# ============================================================
# ATTACK STAGES — Five-Step Lifecycle
# ============================================================

:stage1CredentialCompromise a :AttackStage ;
    schema:name "Stage 1: Credential Pre-Compromise"@en ;
    schema:position 1 ;
    schema:description """The attacker already possessed Scoble's Google password before the vishing call.
Likely obtained through malware, a prior data breach, or credential stuffing. Scoble noted 'something compromised
me — probably in something I installed.' Passwords alone no longer provide security; but they become
catastrophically effective when combined with social engineering against 2FA."""@en ;
    :exploitsWeakness "Password reuse, prior data breach exposure, credential stuffing" .

:stage2VishingCall a :AttackStage ;
    schema:name "Stage 2: Vishing Call — Impersonating Google Support"@en ;
    schema:position 2 ;
    schema:description """The attacker called Scoble pretending to be Google Support, warning of suspicious
login activity 'coming from Warsaw.' The timing was perfect: the real Google later confirmed the Warsaw origin
(matching the attacker's cover story), creating an illusion of legitimacy. Scoble was driving to Tahoe,
distracted and under pressure. He did not follow his own protocol of verifying with an AI like Grok or
ChatGPT before acting."""@en ;
    :hasPrecedingStage :stage1CredentialCompromise ;
    :exploitsWeakness "Authority bias (Google brand trust), urgency, distraction while driving" .

:stage3NumberChallengeMitM a :AttackStage ;
    schema:name "Stage 3: Number-Challenge Man-in-the-Middle"@en ;
    schema:position 3 ;
    schema:description """While Scoble was on the call, the attacker initiated a real login to Scoble's Google
account from Warsaw. Google's servers sent a legitimate 2FA push notification / number-challenge prompt to
Scoble's phone. The attacker instructed Scoble: 'To block the hacker and secure your account, open your
Google app, enter the numbers shown, and click the prompt.' Scoble complied. He unknowingly approved the
attacker's login session. This is the 'man-in-the-middle on the Google app' — the 2FA was never technically
defeated; the legitimate user was socially engineered into completing it on the attacker's behalf."""@en ;
    :hasPrecedingStage :stage2VishingCall ;
    :exploitsWeakness "Push-based 2FA design assumes user will only approve own legitimate sessions" .

:stage4GoogleAccountTakeover a :AttackStage ;
    schema:name "Stage 4: Google Account Takeover"@en ;
    schema:position 4 ;
    schema:description """With Scoble's 2FA approval, the attacker gained full session access to his Google
account. This provided control of Gmail (the recovery email for many other accounts), Google SSO credentials,
and Google account settings. The attacker now controlled the master key from which many other accounts
could be reached."""@en ;
    :hasPrecedingStage :stage3NumberChallengeMitM ;
    :exploitsWeakness "Google account as single point of failure for SSO-linked services" .

:stage5XAccountTakeover a :AttackStage ;
    schema:name "Stage 5: X Account Takeover and Content Posting"@en ;
    schema:position 5 ;
    schema:description """With Google account control, the attacker accessed Scoble's X (Twitter) account by
either: (a) using Google SSO directly, since many users link X login to Google; or (b) resetting the X password
via the now-controlled Gmail recovery address. Even though X had 2FA enabled, the attacker bypassed it through
the Google account chain. Explicit content was posted from Scoble's X profile before detection and recovery.
Scoble confirmed all his accounts had 2FA enabled — yet the attacker still succeeded."""@en ;
    :hasPrecedingStage :stage4GoogleAccountTakeover ;
    :exploitsWeakness "Google SSO as X login pivot; Gmail as password-reset recovery email" .

# ============================================================
# DEFENSE MEASURES
# ============================================================

:hangUpAndCallBack a :DefenseMeasure ;
    schema:name "Hang Up and Call Back Independently"@en ;
    schema:description """Never act on unsolicited support calls, regardless of how legitimate the caller sounds.
Hang up immediately. Look up the company's official support number independently (not from the caller's
direction). Call back using that known number. This single habit would have broken the Scoble attack at
Stage 2."""@en .

:aiFirstVerification a :DefenseMeasure ;
    schema:name "AI-First Verification in Crisis"@en ;
    schema:description """Before taking any urgent security action prompted by an external caller, paste the
situation into an AI assistant (Grok, ChatGPT, Claude, etc.) and ask whether this is a known attack pattern.
Scoble explicitly stated that had he consulted Grok or ChatGPT, it would have instantly flagged the vishing
pattern. 'AI first' habits in high-stress situations provide a cognitive pause that breaks the urgency loop."""@en ;
    schema:instrument :grok, :chatGPT .

:hardwareSecurityKey a :DefenseMeasure ;
    schema:name "Hardware Security Keys (FIDO2/WebAuthn)"@en ;
    schema:description """Hardware authenticators (e.g., YubiKey, Google Titan) implementing FIDO2/WebAuthn
are resistant to real-time social engineering because the cryptographic response is bound to the legitimate
domain and cannot be replicated or reused by an attacker on a different session. Unlike push notifications
and number-challenge prompts, hardware keys cannot be socially engineered — there is no 'enter these
numbers' instruction possible."""@en ;
    schema:instrument :yubiKey ;
    rdfs:seeAlso dbr:FIDO2_Project .

:panicProtocol a :DefenseMeasure ;
    schema:name "Pre-Committed Panic Protocol"@en ;
    schema:description """Establish and commit to a written personal security protocol for crisis situations:
(1) Do not act on security decisions while driving or distracted. (2) Do not approve any authentication prompts
prompted by an external caller. (3) If in doubt, do nothing and call back. Scoble's mistakes — believing the
caller, rushing while driving, changing password after the attacker told him not to (too late) — all stem from
absence of a pre-committed panic protocol."""@en .

# ============================================================
# TOOLS REFERENCED
# ============================================================

:grok a schema:SoftwareApplication ;
    schema:name "Grok"@en ;
    schema:description "xAI's AI assistant, integrated into X (Twitter). Scoble uses Grok as his primary AI assistant. The Grok conversations analysing this incident were initiated by @kidehen."@en ;
    schema:url "https://x.com/i/grok" ;
    schema:identifier "https://x.com/i/grok" .

:chatGPT a schema:SoftwareApplication ;
    schema:name "ChatGPT"@en ;
    schema:description "OpenAI's AI assistant. Cited alongside Grok as a tool Scoble should have consulted before acting on the suspicious call."@en ;
    schema:url "https://chatgpt.com" ;
    schema:identifier "https://chatgpt.com" ;
    rdfs:seeAlso dbr:ChatGPT .

:yubiKey a schema:Product ;
    schema:name "YubiKey"@en ;
    schema:description "Hardware security key by Yubico implementing FIDO2/WebAuthn. Recommended as a countermeasure: hardware keys cannot be bypassed by the vishing pattern used against Scoble."@en ;
    schema:url "https://www.yubico.com" ;
    schema:identifier "https://www.yubico.com" .

:teslsFSD a schema:Product ;
    schema:name "Tesla Full Self-Driving (FSD)"@en ;
    schema:description "Tesla's advanced driver-assistance system. Scoble was using FSD while driving to Tahoe when the attack occurred. FSD enabled a safe turnaround despite Scoble's extreme distraction during the incident."@en .

# ============================================================
# PROVENANCE
# ============================================================

:kgGeneratorSkill a schema:SoftwareApplication ;
    schema:name "kg-generator skill"@en ;
    schema:url "https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator" ;
    schema:identifier "https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator" .

:rdfInfographicSkill a schema:SoftwareApplication ;
    schema:name "rdf-infographic-skill"@en ;
    schema:url "https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/rdf-infographic-skill" ;
    schema:identifier "https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/rdf-infographic-skill" .

# ============================================================
# FAQ SECTION — 12 Questions
# ============================================================

:faqSection a schema:FAQPage ;
    schema:name "Frequently Asked Questions"@en ;
    schema:mainEntity :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12 .

:q1 a schema:Question ;
    schema:name "What happened to Robert Scoble?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Robert Scoble (@Scobleizer) was the victim of a vishing (voice phishing) attack in which
an attacker called him impersonating Google Support, warned of a suspicious login from Warsaw, and manipulated
him into approving the attacker's login via Google's real 2FA system. The attacker gained control of his Google
account and subsequently his X (Twitter) account, posting explicit content from his X profile. Google called
Scoble proactively to alert him and helped recover all accounts."""@en ] .

:q2 a schema:Question ;
    schema:name "How did the attacker bypass 2-factor authentication?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """The 2FA was not technically defeated. The attacker already had Scoble's password from a
prior compromise. While on the vishing call, the attacker initiated a real login to Scoble's Google account
from Warsaw. Google sent a legitimate number-challenge prompt to Scoble's phone. The attacker instructed Scoble
to enter those numbers 'to block the hacker.' Scoble complied, unknowingly approving the attacker's own
login session. The human was socially engineered into completing the 2FA step for the attacker — a classic
real-time man-in-the-middle against push-based authentication."""@en ] .

:q3 a schema:Question ;
    schema:name "Why did Scoble's X account get compromised even though it had 2FA enabled?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Once the attacker controlled Scoble's Google account, they could reach X through two
routes: (1) Google Single Sign-On (SSO) — many users link their X account to log in via Google; or (2) Gmail
as password-reset recovery email — the attacker could request an X password reset and receive the reset link
in the now-controlled Gmail. Either route gave the attacker X access despite X's own 2FA being enabled,
because the attack chain circumvented X's 2FA entirely by operating at the Google layer."""@en ] .

:q4 a schema:Question ;
    schema:name "What is vishing and why is it so effective?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Vishing (voice phishing) is a social engineering attack conducted by phone. Unlike email
phishing, vishing creates real-time pressure: the caller can respond to objections, build urgency, and guide
the victim step-by-step. It exploits authority bias (the caller claims to be Google support), urgency
('your account is being hacked right now'), and distraction (Scoble was driving). These three factors
together override the victim's normal security protocols. UNC6040 and similar groups run these attacks at
industrial scale against Google and X users."""@en ] .

:q5 a schema:Question ;
    schema:name "What role did Google play — as both the impersonated party and the rescuer?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Google played both roles. First, the attacker impersonated Google Support to manipulate
Scoble — using Google's own brand and the actual suspicious activity alert (from Warsaw) as cover. Second,
the real Google security team independently detected the attack, called Scoble proactively to alert him, and
helped lock down all compromised accounts. The attack's cover story ('we're Google support, there's a login
from Warsaw') matched what real Google later confirmed — which is part of what made the vishing call
initially credible."""@en ] .

:q6 a schema:Question ;
    schema:name "What is the 'AI first' habit Scoble recommends?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Scoble's post-mortem lesson: before taking any urgent security action triggered by an
external caller, consult an AI (Grok, ChatGPT, Claude, etc.) and ask whether the situation matches a known
attack pattern. Had Scoble pasted his situation into Grok or ChatGPT, the AI would have instantly recognized
the vishing pattern. The 'AI first' habit provides a cognitive pause that breaks the attacker's urgency loop:
the few seconds it takes to consult AI is enough time for rational thought to override panic."""@en ] .

:q7 a schema:Question ;
    schema:name "Why are hardware security keys (YubiKey) more resistant to this attack?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Hardware security keys implementing FIDO2/WebAuthn are resistant to real-time vishing
because the cryptographic response is domain-bound: the key signs a challenge tied to the specific website
origin. There is no 'enter these numbers' moment — the key simply signs, and the signature can only be valid
for the legitimate domain session the user is initiating. An attacker on a phone call cannot instruct the
victim to make the key produce a useful response for the attacker's session. This makes hardware keys
fundamentally resistant to the attack pattern used against Scoble."""@en ] .

:q8 a schema:Question ;
    schema:name "What mistakes did Scoble make, in his own words?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Scoble candidly listed his own mistakes: (1) Believed the phone caller without verification —
trusted the caller's authority claim without hanging up and calling back. (2) Didn't pause and check with an AI —
he knew about this protocol but was too panicked to follow it. (3) Rushed while distracted — was driving to Tahoe,
already cognitively overloaded, and Tesla FSD enabled physical safety but not cognitive safety. (4) Changed his
password after the attacker told him not to — unfortunately this was already too late, the session was active."""@en ] .

:q9 a schema:Question ;
    schema:name "Who is UNC6040 and what is their method?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """UNC6040 is a Google-designated threat actor group that conducts large-scale vishing campaigns
targeting Google and other service users. Google has publicly warned about this group. Their method is the same
pattern used against Scoble: call the victim impersonating the tech company's support, claim suspicious activity,
guide the victim into approving the attacker's real-time 2FA challenge. This is an industrialized social
engineering operation, not a targeted hack requiring technical expertise — it scales because it exploits
universal human psychology rather than specific technical vulnerabilities."""@en ] .

:q10 a schema:Question ;
    schema:name "What is the core design weakness in push-based 2FA that this attack exploits?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Push-based 2FA and number-challenge prompts (like Google's 'enter these numbers') are
designed with one key assumption: the user will only approve authentication attempts they themselves initiated.
Vishing attacks break this assumption by creating a situation where the user approves a prompt initiated by
the attacker. The 2FA system works exactly as designed — it just cannot distinguish between a legitimate
user approving their own session and a panicking user approving the attacker's session on an attacker's
instructions. The attack is a design-environment mismatch, not a cryptographic flaw."""@en ] .

:q11 a schema:Question ;
    schema:name "How did Tesla Full Self-Driving factor into the incident?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Scoble was driving to Tahoe when the attack occurred. Tesla Full Self-Driving (FSD) enabled
him to safely turn the car around despite being extremely distracted by the incident — handling the
phone call, checking accounts, and managing the crisis. Without FSD, the driving distraction would have been
a physical safety risk. With FSD, it was only a cognitive security risk. The incident is an indirect
illustration of how AI-enabled physical safety (autonomous driving) and AI-enabled cognitive safety
('AI first' verification habits) are both needed in a world of sophisticated social engineering."""@en ] .

:q12 a schema:Question ;
    schema:name "What should someone do right now to protect against this attack pattern?"@en ;
    schema:acceptedAnswer [ a schema:Answer ;
        schema:text """Four immediate actions: (1) Adopt the hang-up-and-call-back rule — never act on unsolicited
security calls; always dial the company back using an official number you find independently. (2) Set up
hardware security keys (YubiKey, Google Titan) as your primary 2FA method for Google and X — these cannot
be vished. (3) Write a personal panic protocol and commit to it: 'If I receive an urgent security call while
distracted, I will hang up, consult an AI, and call back.' (4) Enable 'AI first' habits — paste suspicious
situations into Grok, ChatGPT, or Claude before taking any action. The few seconds of AI consultation will
instantly flag known attack patterns."""@en ] .

# ============================================================
# GLOSSARY — 10 Terms
# ============================================================

:glossarySection a skos:ConceptScheme ;
    a schema:DefinedTermSet ;
    schema:name "Cybersecurity Terms Glossary"@en ;
    skos:hasTopConcept
        :termVishing, :termSocialEngineering, :termTwoFactorAuth,
        :termCredentialStuffing, :termGoogleSSO, :termFIDO2,
        :termPushNotification2FA, :termUNC6040, :termAIFirst,
        :termMitM .

:termVishing a skos:Concept ;
    schema:name "Vishing"@en ;
    schema:description "Voice phishing — a social engineering attack conducted by phone call. The attacker impersonates a trusted entity (tech company, bank, government) to manipulate the victim into revealing credentials or performing security actions on the attacker's behalf." ;
    skos:exactMatch :vishing ;
    skos:inScheme :glossarySection .

:termSocialEngineering a skos:Concept ;
    schema:name "Social Engineering"@en ;
    schema:description "Psychological manipulation that exploits human trust, authority bias, urgency, and panic to bypass security controls. The most effective attacks do not require technical sophistication — they require understanding human psychology." ;
    skos:exactMatch :socialEngineering ;
    skos:inScheme :glossarySection .

:termTwoFactorAuth a skos:Concept ;
    schema:name "Two-Factor Authentication (2FA)"@en ;
    schema:description "A security mechanism requiring the user to prove identity with two factors: something they know (password) and something they have (phone, hardware key). Effective against remote password attacks; vulnerable to real-time social engineering when push-based or number-challenge based." ;
    skos:exactMatch :twoFactorBypass ;
    skos:inScheme :glossarySection .

:termCredentialStuffing a skos:Concept ;
    schema:name "Credential Stuffing"@en ;
    schema:description "An automated attack using stolen username/password pairs from data breaches against other services, exploiting the fact that many users reuse passwords. How the Scoble attacker likely obtained the initial Google password." ;
    skos:related :stage1CredentialCompromise ;
    skos:inScheme :glossarySection .

:termGoogleSSO a skos:Concept ;
    schema:name "Google Single Sign-On (SSO)"@en ;
    schema:description "Authentication federation allowing users to log into third-party services using their Google identity. Once an attacker controls a Google account, SSO-linked services become compromised too — making the Google account a high-value target." ;
    skos:exactMatch :googleSSO ;
    skos:inScheme :glossarySection .

:termFIDO2 a skos:Concept ;
    schema:name "FIDO2 / WebAuthn"@en ;
    schema:description "An open authentication standard (W3C + FIDO Alliance) enabling hardware security keys. Cryptographic responses are domain-bound and cannot be replicated for attacker-controlled sessions. Fundamentally resistant to real-time vishing attacks." ;
    skos:exactMatch :hardwareSecurityKey ;
    skos:related :yubiKey ;
    skos:inScheme :glossarySection .

:termPushNotification2FA a skos:Concept ;
    schema:name "Push Notification / Number-Challenge 2FA"@en ;
    schema:description "A class of 2FA in which the server sends the user a push notification or number prompt that the user must approve. Convenient but vulnerable to real-time social engineering: an attacker can initiate the server-side authentication and instruct the victim to approve it." ;
    skos:related :twoFactorBypass ;
    skos:related :stage3NumberChallengeMitM ;
    skos:inScheme :glossarySection .

:termUNC6040 a skos:Concept ;
    schema:name "UNC6040"@en ;
    schema:description "Google-designated threat actor group running industrialized vishing campaigns impersonating Google support. Responsible for the attack pattern used against Scoble. Operates at scale by exploiting universal human psychology rather than technical exploits." ;
    skos:exactMatch :unc6040 ;
    skos:inScheme :glossarySection .

:termAIFirst a skos:Concept ;
    schema:name "AI-First Habits"@en ;
    schema:description "The behavioral practice of consulting an AI assistant before taking any urgent action prompted by an external party — especially in high-stress or time-pressured situations. Scoble's post-incident recommendation for cognitive security hygiene." ;
    skos:exactMatch :aiFirstVerification ;
    skos:related :grok, :chatGPT ;
    skos:inScheme :glossarySection .

:termMitM a skos:Concept ;
    schema:name "Man-in-the-Middle (MitM)"@en ;
    schema:description "An attack where the attacker positions themselves between two communicating parties. In the Scoble attack, the attacker is MitM between Google's authentication system and Scoble: triggering real Google prompts and instructing Scoble to approve them, while Scoble believes he is interacting with a Google representative." ;
    skos:exactMatch :stage3NumberChallengeMitM ;
    skos:inScheme :glossarySection .

# ============================================================
# HOW-TO SECTION — 7 Steps
# ============================================================

:howtoSection a schema:HowTo ;
    schema:name "How to Defend Against Vishing 2FA Bypass Attacks"@en ;
    schema:description "Seven actionable steps to protect your accounts from the attack pattern used against Robert Scoble."@en ;
    schema:step :step1, :step2, :step3, :step4, :step5, :step6, :step7 .

:step1 a schema:HowToStep ;
    schema:name "Adopt the Hang-Up Protocol"@en ;
    schema:position 1 ;
    schema:text """Commit unconditionally: if you receive an unsolicited call from anyone claiming to be tech
support (Google, Apple, Microsoft, your bank), hang up immediately. Do not finish the call. Do not 'verify'
anything first. The hang-up is the safety move. Find the company's official support number independently
(from their website, not from the caller) and call back."""@en .

:step2 a schema:HowToStep ;
    schema:name "Enable AI-First Verification"@en ;
    schema:position 2 ;
    schema:text """Before taking any security action prompted by an external message or call, spend 30 seconds
with an AI. Paste the situation: 'I just received a call from someone claiming to be Google support saying
my account was hacked from Warsaw and I need to enter numbers in my Google app. Is this legitimate?'
Any competent AI will immediately flag the vishing pattern. Make this a pre-committed reflex, not a
case-by-case decision."""@en .

:step3 a schema:HowToStep ;
    schema:name "Upgrade to Hardware Security Keys"@en ;
    schema:position 3 ;
    schema:text """Replace push-notification and SMS 2FA with FIDO2 hardware security keys (YubiKey, Google
Titan Key) for your most critical accounts: Google, Apple ID, X, financial services. Hardware keys are
cryptographically bound to the legitimate domain and cannot be socially engineered. There is no
'enter these numbers' prompt possible. This single change makes the Scoble attack pattern impossible."""@en .

:step4 a schema:HowToStep ;
    schema:name "Audit Your Google SSO Connections"@en ;
    schema:position 4 ;
    schema:text """Go to your Google account → Security → Third-party apps with account access. Review every
service connected via Google SSO. Understand that anyone who controls your Google account can reach all of
these. For high-value accounts (X, financial services, work tools), delink Google SSO and establish
independent login credentials with hardware-key 2FA."""@en .

:step5 a schema:HowToStep ;
    schema:name "Write a Personal Panic Protocol"@en ;
    schema:position 5 ;
    schema:text """Write it down before you need it: (1) I will never approve a 2FA prompt that appears while
I am on a phone call with an external party. (2) I will not take security actions while driving or distracted.
(3) If I feel urgency or panic about an account, I will do nothing for 60 seconds and consult an AI first.
Pre-commitment beats in-the-moment judgment. Scoble knew the right protocols but could not access them
under panic pressure."""@en .

:step6 a schema:HowToStep ;
    schema:name "Set Up a Recovery Kill Switch"@en ;
    schema:position 6 ;
    schema:text """Prepare for compromise before it happens: (1) Keep a list of all accounts linked to your
primary email. (2) Know the direct phone number for your email provider's security team. (3) Have a trusted
person (family, colleague) who knows to call your carrier and initiate account recovery if you are unreachable.
(4) Store recovery codes for critical accounts offline, not in your email or cloud. Speed of recovery
limits the attacker's damage window."""@en .

:step7 a schema:HowToStep ;
    schema:name "Report and Learn Publicly"@en ;
    schema:position 7 ;
    schema:text """Scoble's public disclosure of this incident is itself a defense measure: by documenting exactly
what happened, what mistakes he made, and what the lessons are, he has made thousands of people more resistant
to the same attack. If you experience a social engineering incident, consider disclosing it (safely, after
recovery) — the marginal embarrassment is outweighed by the collective security improvement. The attacker
relies on victims staying silent."""@en .
