ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Anthropic-Cybersecurity-Skills 实战:基于 AI/NLP 的商业电子邮件欺诈(BEC)检测 API 参考与源码实现解析

Anthropic-Cybersecurity-Skills 实战:基于 AI/NLP 的商业电子邮件欺诈(BEC)检测 API 参考与源码实现解析 Anthropic-Cybersecurity-Skills 实战基于 AI/NLP 的商业电子邮件欺诈BEC检测 API 参考与源码实现解析【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills导读本文围绕开源仓库 Anthropic-Cybersecurity-Skills 中 detecting-business-email-compromise-with-ai 技能包的 API 参考文档展开系统讲解如何用 NLP 特征提取、机器学习分类、写作风格分析笔迹学与行为基线识别仅靠社会工程学、不携带恶意链接或附件的 BEC 攻击。读完本文你将掌握BEC 检测的 NLP 特征体系与加权评分原理、基于 scikit-learn 的分类流水线搭建、伪装信号正则模式、Microsoft Graph API 检测恶意邮件转发规则MITRE T1114.003的方法以及本仓库两个可运行检测脚本agent.py、process.py的完整调用方式与输出格式。BEC 攻击为何需要 AI/NLP 检测商业电子邮件欺诈Business Email CompromiseBEC的核心特征是纯社会工程学攻击者冒充 CEO/CFO 等高管或可信供应商诱导员工转账、购买礼品卡或泄露凭证。这类邮件通常不包含恶意链接或附件因此传统基于规则的关键词过滤器极易漏检。本技能包的 SKILL.md 明确指出现代 AI 方案通过分析写作风格、语气、词汇、语法模式与行为上下文判断邮件是否真正来自声明中的发件人。其 Front Matter 同时将该能力映射到多个框架MITRE ATTCKT1566.002鱼叉式钓鱼、T1534内部鱼叉钓鱼、T1114.002邮箱数据、T1657财务盗窃、T1078.004云账户MITRE F3反欺诈T1660 Phishing、T1672 Email Spoofing、F1032 冒充官方、F1005.006 篡改付款信息、F1022 删除相关邮件、F1025.003 电汇NIST AI RMFGOVERN-6.1/6.2、MAP-5.2、MEASURE-2.5/2.7NIST CSFPR.AT-01、DE.CM-09、DE.AE-02、RS.CO-02D3FENDSender MTA Reputation Analysis、Email Filtering、Homoglyph Detection、Message Analysis 等。NLP 特征提取体系特征表与 BEC 信号含义api-reference.md 给出了检测模型使用的六大核心 NLP 特征Feature描述BEC 信号urgency_score紧迫性词汇占总词数的比例越高越可疑pressure_score保密/施压词汇占比越高越可疑financial_score金融术语占比越高越可疑authority_score高管头衔提及占比越高越可疑caps_ratio大写字符占比越高语气越激进unique_word_ratio词汇多样性指标越低越像模板源码中的特征工程实现上述特征在 scripts/agent.py 中有完整实现每个特征类别都有可扩展的关键词集合URGENCY_WORDS {urgent, immediately, asap, deadline, critical, important, expedite, priority, rush, now} PRESSURE_WORDS {confidential, secret, private, classified, between us, do not share, dont discuss, quiet} FINANCIAL_WORDS {wire, transfer, payment, invoice, bank, account, routing, ach, swift, funds} AUTHORITY_WORDS {ceo, cfo, president, director, boss, chairman, executive, management, vp}extract_features()将所有特征归一化为比率值除以词数或句子数输出 11 个数值字段除上表 6 项外还包括word_count、sentence_count、exclamation_ratio、avg_word_length、avg_sentence_length可直接作为后续机器学习模型的输入向量。更精细的版本见 scripts/process.py它使用带权重的正则模式库如r\bwire\stransfer\b权重 3、r\bgift\scard\b权重 4并对每个命中生成可读的indicators证据条目例如Urgency: \\burgent(ly)?\\b方便取证与告警展示。从特征到 BEC 概率加权评分scripts/agent.py 演示了无需训练模型的快速打分方案——对特征做线性加权后经 sigmoid 压缩def compute_bec_probability(features): weights { urgency_score: 3.5, pressure_score: 3.0, financial_score: 4.0, authority_score: 2.5, exclamation_ratio: 1.0, caps_ratio: 1.5, } raw sum(features.get(k, 0) * w for k, w in weights.items()) probability 1 / (1 math.exp(-10 * (raw - 0.15))) return round(probability, 4)可见金融类特征权重最高4.0其次是紧迫性3.5与保密施压3.0——这与 BEC 攻击施压 付款的典型话术完全吻合。概率随后映射为风险等级 0.8为 CRITICAL 0.6为 HIGH 0.3为 MEDIUM否则 LOW见 agent.py。基于 scikit-learn 的 BEC 分类流水线api-reference.md 提供了完整的机器学习分类示例将 TF-IDF 文本向量化与随机森林组合为一条流水线from sklearn.pipeline import Pipeline from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.ensemble import RandomForestClassifier pipeline Pipeline([ (tfidf, TfidfVectorizer(max_features5000, ngram_range(1, 2))), (clf, RandomForestClassifier(n_estimators100, random_state42)) ]) pipeline.fit(X_train, y_train) predictions pipeline.predict(X_test)参数说明与调优建议TfidfVectorizer(max_features5000, ngram_range(1, 2))最多保留 5000 个特征ngram_range(1, 2)同时纳入单词与相邻二元词组可捕捉wire transfergift card等复合金融短语。对 BEC 场景建议保留二元组因为诈骗话术大量依赖固定搭配RandomForestClassifier(n_estimators100, random_state42)100 棵决策树random_state42保证结果可复现便于调参与回归测试训练前需准备X_train/y_train历史邮件文本与标签与X_test测试集本仓库未内置训练数据集需按 SKILL.md 前置条件使用至少 30 天的历史邮件建立基线。从 standards.md 的 AI/ML 技术对比表看同类任务还可选用BERT 嵌入 SVC分类、Transformer NLP写作风格分析、异常检测行为基线偏离、图神经网络通信模式分析与情感分析紧迫性/操纵检测——其中 BERT 分类与 Transformer 笔迹分析精度最高。写作风格分析Stylometry与发件人身份核验BEC 检测的关键突破口在于识别冒充者攻击者盗用高管身份但无法复制其写作习惯。api-reference.md 给出的句长分布分析用于作者验证# Sentence length distribution for author verification import re, math sentences re.split(r[.!?], text) lengths [len(s.split()) for s in sentences if s.strip()] mean_len sum(lengths) / len(lengths) variance sum((l - mean_len)**2 for l in lengths) / len(lengths) std_dev math.sqrt(variance)源码 agent.py 将其扩展为返回三个指标的结构化函数mean_sentence_length平均句长词数sentence_length_std句长标准差style_consistency风格一致性 1 - min(std_dev / 20, 1)越接近 1 说明节奏越稳定。在detect_impersonation_signals()中若传入已知发件人基线--baseline-file sender_style.json模型会将当前邮件的平均句长与基线对比偏差超过 8 个词即标记writing_style_deviationagent.py。这意味着运营上需要为 CEO、CFO 等 VIP 建立写作风格档案template.md 中的 VIP Protection List 即为此设计见 workflow 第二步配置行为基线。伪装信号Impersonation Signal模式库攻击者邮件中常出现固定话术套路api-reference.md 给出四类正则模式源码 agent.py 一一对应并可独立产出信号意图正则模式检测信号移动签名制造不便回复借口rsent from my (iphone|ipad|android|mobile)mobile_signature_present劝阻核实别打电话/别回复r(please|kindly).*(do not|dont).*(reply|respond|call)discourages_verification不可用借口会议/出差/飞行中r(i am|im).*(in a meeting|traveling|on a flight)unavailability_excuse时间压力今天/立即/下班前r(handle|process|complete).*(today|immediately|by end of day)time_pressure提示源码对以上模式统一追加re.IGNORECASE且process.py的 AUTHORITY_PATTERNS 还覆盖im in a meeting、dont call、i authorize、approved by me等高管口吻属于同一话术库的工程化扩展。Microsoft Graph API检测恶意邮件转发规则T1114.003BEC 攻击的常见后手是在入侵邮箱后创建自动转发规则持续窃取后续邮件对应 standards.md 中的 T1114.003 Email Collection: Email Forwarding Rule。api-reference.md 提供两条 Graph API 查询GET https://graph.microsoft.com/v1.0/users/{id}/mailFolders/inbox/messageRules Authorization: Bearer {token} # Detect forwarding rules (T1114.003) GET https://graph.microsoft.com/v1.0/users/{id}/mailFolders/inbox/messageRules?$filteractions/forwardTo ne null第一条列出指定用户收件箱的全部邮件规则第二条用$filteractions/forwardTo ne null直接筛选出所有设置了转发到某地址动作的规则——这正是攻击者维持对邮箱访问、收集敏感邮件的典型行为也是 SOC 响应 BEC 时应首先核查的取证点使用时需为应用授予Mail.Read读取邮件规则相关委派或应用程序权限并以 Bearer Token 认证这与 SKILL.md Step 1 中验证消息访问与修复所需的 API 权限的前置要求一致。端到端 BEC 检测工作流与置信度分级AI 检测流水线Workflow 1workflows.md 定义了从邮件到达到处置动作的完整流水线特征提取发件人元数据域名、IP、认证状态、邮件内容主题、正文、NLP 特征、行为上下文通信历史、时间、关系图收发模式多模型并行分析Impostor 分类器显示名/域名冒充 NLP 模型写作风格 vs 发件人基线 行为模型请求异常 意图分类器付款/凭证/数据请求置信度打分聚合各模型输出按模型置信度与上下文加权生成整体 BEC 概率处置按分数分级见下表。处置阈值对照分数区间判定处置动作≥ 90%高置信度 BEC自动隔离Auto-quarantine SOC 告警70–89%中置信度 BEC警告横幅 分析师队列50–69%低置信度 BEC仅警告横幅 50%疑似正常正常投递源码中的多模型聚合实现scripts/process.py 的detect_bec_ai()正是该工作流的最小可运行实现且阈值与上表一致NLP 评分compute_nlp_score()对紧迫、保密、金融、权威四类模式加权求和并归一化min(total / 25.0, 1.0)同时推断意图payment_request金融分 3、directive权威 3 且紧迫 2、sensitive_request保密 2Impostor 评分compute_impostor_score()VIP 名单内显示名匹配但域名不一致0.5或 Reply-To 域与 From 域不一致0.3行为评分compute_behavioral_score()首次通信0.3、非常规发送时段0.2、发件人从未涉及金融主题却发出付款请求0.3加权聚合weights {nlp: 0.35, impostor: 0.40, behavioral: 0.25}Impostor 权重最高契合 BEC 以冒充为核心的特征置信度与动作confidence min(overall_score * 1.2, 1.0)总分 ≥ 0.7 →AUTO-QUARANTINE SOC alert≥ 0.5 →WARNING BANNER analyst queue≥ 0.3 →WARNING BANNER only否则DELIVER normally。行为基线训练train-baselineprocess.py还提供train_baseline()process.py从历史邮件日志含from、to、send_hour、subject为每个发件人生成基线 JSONrecipients常通信对象、typical_hours典型发送时段、typical_topics是否涉及金融/日程话题、email_count。这与 SKILL.md Step 2 的要求对应——先学习谁给谁发、何时发、谈什么再将偏离基线的行为标记为异常。模型反馈闭环Workflow 2workflows.md 的第二个工作流强调持续优化用户误报假阳性、分析师确认真阳性、用户漏报假阴性三类反馈回流后更新发件人信任分、用修正标签重训模型、调整置信度阈值并刷新行为基线。SKILL.md 的 Step 5 也要求将 BEC 判定结果反馈回训练数据形成检测—反馈—再训练的闭环。CLI 使用与运行方式agent.py单邮件快速检测api-reference.md 给出的两种调用方式与 agent.py 的参数定义完全一致python agent.py --file email_body.txt python agent.py --file email_body.txt --baseline-file sender_style.json--file必填待分析的邮件纯文本文件路径--baseline-file可选已知发件人风格基线 JSON来自analyze_writing_style的输出提供后将额外执行写作风格比对并输出writing_style_deviation信号输出为 JSON包含features11 个 NLP 特征、writing_style笔迹指标、impersonation_signals命中信号列表、bec_probabilityBEC 概率、risk_level风险等级。process.py生产化多子命令引擎scripts/process.py 提供两个子命令适合流水线集成# 基于结构化邮件 JSON 执行完整检测支持基线文件与 VIP 名单 python process.py detect --email-json email.json --baseline-file baselines.json --vip-file vip.json --json # 从历史邮件日志训练行为基线 python process.py train-baseline --email-log emails.json --output baselines.jsondetect读取含from、from_display_name、reply_to、to、subject、body、send_hour字段的邮件 JSON输出BECAIResultimpostor/nlp/behavioral 三维分数、overall_score、is_bec、confidence、action 与 indicators 证据列表加--json输出机器可读结果train-baseline从历史邮件列表训练基线并落盘终端打印Baseline trained for N sendersvip.json格式为[{name: ..., domain: ...}]用于 VIP 冒充检测。检测策略配置与验证标准平台配置模板assets/template.md 提供了可直接落地的配置模板核心字段包括维度推荐值集成方式API 方式Microsoft Graph基线训练周期30 天以上扫描范围入站 内部 出站邮件高置信度处置自动隔离 SOC 告警模型性能目标检测准确率 98%误报率 0.05%检测时延 5 秒五类检测策略结合 SKILL.md Step 4 与 standards.md 的检测分类可把策略划分为五类VIP 冒充检测Impostor Detection将新邮件与已知高管的通信模式比对显示名/域名冒充供应商冒充监控来自相似域名视觉近似域名的付款变更请求账户接管检测Account Takeover通过行为异常识别被盗邮箱账户的异常发送行为写作风格分析NLP 将邮件与发件人历史风格比对本文第三节意图分类与关系分析ML 将邮件分类为付款/凭证/数据请求并以图分析验证收发关系是否首次出现。可执行的验证清单部署后可按 SKILL.md Validation 章节验收纯社会工程学无恶意指标的测试 BEC 邮件能否被检出写作风格分析能否识别对已知高管的冒充行为基线能否标记来自被盗账户的异常付款请求NLP 能否正确识别紧迫性操纵同时跟踪基线训练完成后的误报率与相对规则过滤器的检出率提升。小结本文以 api-reference.md 为骨架结合同技能包的 SKILL.md、workflows.md、standards.md、template.md 以及 agent.py、process.py 两套可运行实现完整覆盖了 BEC 检测的技术栈从 NLP 特征与正则信号、笔迹学风格核验到 TF-IDF 随机森林的 scikit-learn 流水线、Microsoft Graph API 转发规则审计再到行为基线与置信度分级的端到端处置流程。对于安全团队而言既可以按 API 参考中的代码片段快速原型验证也可以直接运行仓库脚本接入 SIEM/SOAR实现规则检测不到、AI 补位兜底的纵深防御。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表