Borrowing it
Nothing to install: this file belongs to dfirtnt/Huntable-CTI-Studio. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/dfirtnt/Huntable-CTI-Studio/main/.claude/skills/audit-provider-integration/SKILL.mdgit clone --depth 1 https://github.com/dfirtnt/Huntable-CTI-StudioWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dfirtnt/huntable-cti-studio/audit-provider-integration)<a href="https://agentmods.dev/skills/dfirtnt/huntable-cti-studio/audit-provider-integration"><img src="https://agentmods.dev/badge/skills/dfirtnt/huntable-cti-studio/audit-provider-integration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dfirtnt/huntable-cti-studio/audit-provider-integration"><img src="https://agentmods.dev/badge/skills/dfirtnt/huntable-cti-studio/audit-provider-integration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00169 | $0.01946 |
| Opus 5 | $0.00084 | $0.00973 |
| Sonnet 5 | $0.00034 | $0.00389 |
| Haiku 4.5 | $0.00017 | $0.00195 |
Grade A, and why
audit-provider-integration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 151 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Audit Provider Integration
A provider is almost never missing from this codebase. It is half-added — first-class in some surfaces and absent from others written by someone who had already "added the provider." This skill finds the gaps.
Real instance (2026-08-31): codex was first-class in Sigma generation, enrichment, the
queue UI dropdown, _call_traced_sigma_provider, and _PROVIDER_TO_SETTINGS_KEY — but
absent from three gates in the Sigma validate path. The symptom was not "codex is
unsupported." It was a validation panel reporting Provider: Lmstudio | Model: gpt-5.6-sol,
a pair configured nowhere, failing three times with "model is not loaded."
Do not skip: six invariants
These cost real debugging time. Violating any one of them reproduces a shipped bug.
-
Never substitute a provider while keeping the configured model. Provider and model are usually resolved by separate lines. If an unrecognized provider falls back to
_first_enabled_provider()while the model string is read straight from config, the result is a pair that exists nowhere, and the error is attributed to a provider the operator never chose. Fail loudly and name the configured provider instead. -
Keyless providers are a set, not an exception.
lmstudio(local server) andcodex(app-server subscription) need no API key. Any guard writtenprovider != "lmstudio"is a latent bug for codex. Fixing only some of them relocates the failure from "model not loaded" to "No Codex API key is configured" — which looks like progress and is not. -
openaiandcodexshare one model namespace. Codex serves the OpenAI model family.config/provider_model_catalog.jsonhas no codex key —gpt-5.6-solis filed underopenai. Any provider/model ownership check that does not treat them as one namespace will reject the live config and 3 of the 12 shipped quickstart presets. -
Model key shape differs by agent tier.
normalize_agent_models_to_flat()storesRankAgent/ExtractAgent/SigmaAgentunder the bare agent name, and all seven sub-extractors under<Agent>_model(src/config/workflow_config_schema.py,model_key = key if key in _MAIN_MODEL_AGENTS else f"{key}_model"). Reading only the bare key silently skips 7 of 10 model-bearing agents — and the omission looks like "no model configured" rather than an error.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 151 lines · 169 tokens per session scan A 86ae7e7495ed
audit-provider-integration is a skill published in the GitHub repository dfirtnt/Huntable-CTI-Studio (11 stars, last pushed 4d ago), licensed MIT. It adds 169 tokens to every session and 1,946 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
analyzing-slack-space-and-file-system-artifacts
Examine file system slack space, MFT entries, USN journal, and alternate data streams to recover hidden data and reconstruct file activity on NTFS volumes.
building-detection-rule-with-splunk-spl
Build effective detection rules using Splunk Search Processing Language (SPL) correlation searches to identify security threats in SOC environments.
analyzing-supply-chain-malware-artifacts
Investigate supply chain attack artifacts including trojanized software updates, compromised build pipelines, and sideloaded dependencies to identify intrusion vectors and scope of compromise.
configuring-windows-event-logging-for-detection
Configures Windows Event Logging with advanced audit policies to generate high-fidelity security events for threat detection and forensic investigation. Use when enabling audit policies for logon events, process creation, privilege use, and object access to feed SIEM detection rules. Activates for requests involving…
ctf-pwn
Use when solving binary exploitation / pwn CTF challenges — buffer overflows, ROP, format strings, heap, kernel pwn. Provides a decision tree, exploit primitive catalog, and uses pwntools via the runscript(venv="pwntools") MCP path. Triggers on "ctf pwn", "binary exploit", "rop", "buffer overflow", "format string"…
ctf-rev
Use when solving a CTF reverse engineering challenge — stripped binaries, packed binaries, anti-debug, custom VMs, .NET/Java decomp, Android dex, obfuscated JS, ELF/PE/Mach-O analysis. Provides workflow and tool ordering from the reversing module. Triggers on "ctf rev", "reversing", "reverse engineer", "decompile"…