mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-08-03 17:30:19 +03:00
Demand-driven expansion targeting the fastest-growing 2025-2026 threat and
skills categories (ISC2/WEF/CrowdStrike/Mandiant signals):
- AI Security (NEW domain, 12 skills): LLM red-teaming with garak/PyRIT,
prompt injection (direct/indirect/RAG), MCP tool-poisoning, agentic tool
invocation, guardrails, model/data poisoning, system-prompt leakage,
embedding/vector weaknesses, model extraction, continuous red-teaming
- Supply Chain Security (NEW domain, 5 skills): SBOMs, dependency confusion,
malicious-npm triage, typosquatting, SLSA/Sigstore provenance
- Hardware & Firmware Security (NEW domain, 4 skills): CHIPSEC/UEFI audit,
Secure Boot bypass, TPM measured-boot attestation, ESP bootkit hunting
- Identity (10): Entra ID/ROADtools, GraphRunner, AADInternals, ADCS/Certipy,
shadow credentials, coercion, BloodHound CE, device-code phishing, SSO abuse
- Cloud-native (8): Stratus, Pacu, CloudFox, container escape, K8s RBAC,
Falco, Trivy, kube-bench
- Offensive C2 (6): Sliver, Havoc, NetExec, DPAPI, NTLM relay ESC8, redirectors
- DFIR (6): Hayabusa, Chainsaw, KAPE, Velociraptor, EZ Tools, Plaso
- Backfill (4): OpenCTI, MISP, honeytokens, post-quantum crypto migration
Each skill follows the repo taxonomy (SKILL.md + references/{standards,api-reference}.md
+ scripts/agent.py + LICENSE), with researched real tool commands (no placeholders),
complete frontmatter, and ATT&CK/ATLAS + NIST CSF mappings. Updates README domain
table, skill count, and index.json.
3.1 KiB
3.1 KiB
PyRIT API Reference
Source: https://github.com/microsoft/PyRIT and https://azure.github.io/PyRIT/
Initialization
from pyrit.common import initialize_pyrit, IN_MEMORY, DUCK_DB
initialize_pyrit(memory_db_type=IN_MEMORY) # or DUCK_DB to persist, or AZURE_SQL
| Constant | Backend |
|---|---|
IN_MEMORY |
Ephemeral in-process store |
DUCK_DB |
Local DuckDB file (persistent) |
AZURE_SQL |
Azure SQL backend |
Targets (pyrit.prompt_target)
| Class | Purpose |
|---|---|
OpenAIChatTarget |
OpenAI / Azure OpenAI / OpenAI-compatible chat endpoint |
AzureMLChatTarget |
Azure ML managed online endpoint |
HTTPTarget |
Arbitrary HTTP API (custom request/response parsing) |
OpenAIDALLETarget |
Image-generation target |
Common OpenAIChatTarget args: endpoint, model_name (or deployment_name for Azure), api_key (else read from env).
Orchestrators / Attacks (pyrit.orchestrator)
| Class | Strategy | Notable params |
|---|---|---|
PromptSendingOrchestrator |
Send one/many prompts (baseline) | objective_target, prompt_converters |
RedTeamingOrchestrator |
Generic multi-turn adversarial chat | objective_target, adversarial_chat, objective_scorer, max_turns |
CrescendoOrchestrator |
Gradual escalation (Crescendo) | objective_target, adversarial_chat, scoring_target, max_turns, max_backtracks |
TreeOfAttacksWithPruningOrchestrator |
TAP branching + pruning | objective_target, adversarial_chat, scoring_target, width, depth, branching_factor |
PAIROrchestrator |
PAIR iterative refinement | objective_target, adversarial_chat, scoring_target |
All multi-turn classes subclass MultiTurnOrchestrator and expose run_attack_async(objective=...).
Scorers (pyrit.score)
| Class | Purpose |
|---|---|
SelfAskTrueFalseScorer |
LLM-as-judge true/false objective check |
SelfAskLikertScorer |
Likert-scale severity scoring |
SubStringScorer |
Substring match detection |
TrueFalseQuestion |
Question/criteria object passed to the scorer |
Converters (pyrit.prompt_converter)
| Class | Effect |
|---|---|
Base64Converter |
Base64-encode prompt |
ROT13Converter |
ROT13 transform |
AsciiArtConverter |
Render text as ASCII art |
TranslationConverter |
Translate to another language |
Memory (pyrit.memory)
from pyrit.memory import CentralMemory
memory = CentralMemory.get_memory_instance()
pieces = memory.get_prompt_request_pieces()
Minimal end-to-end example
import asyncio
from pyrit.common import initialize_pyrit, IN_MEMORY
from pyrit.prompt_target import OpenAIChatTarget
from pyrit.orchestrator import CrescendoOrchestrator
initialize_pyrit(memory_db_type=IN_MEMORY)
target = OpenAIChatTarget(model_name="gpt-4o-mini")
adversarial = OpenAIChatTarget(model_name="gpt-4o")
attack = CrescendoOrchestrator(
objective_target=target, adversarial_chat=adversarial,
scoring_target=adversarial, max_turns=10, max_backtracks=5,
)
result = asyncio.run(attack.run_attack_async(objective="..."))
asyncio.run(result.print_conversation_async())