appsec-advisor
v0.6.0-beta.4Code-derived threat modeling plugin: the architecture model is derived from the repository, not maintained by hand. Provides AppSec-focused agents and skills for threat modeling, STRIDE analysis, dependency scanning, QA review, and security context resolution.
By Application Security Team16 GitHub starsUpdated last week
Directory evidence
- Runtimes
- Claude Code
- Parsed components
- 28 skill or MCP entries
- Source updated
- Sep 16, 2026
- Manifest status
- Canonical path parsed
The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →
Install appsec-advisor for Claude Code
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install appsec-advisor@agent-plugin-marketplacePaste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.
The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.
Get the source manually
git clone https://github.com/appsec-foundry/appsec-advisorClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The repository root is the plugin root.
Plugin files
├── .claude-plugin/plugin.json├── skills/ask-threat-model/SKILL.md├── skills/audit-security-requirements/SKILL.md├── skills/authnz-review/SKILL.md├── skills/check-permissions/SKILL.md├── skills/clean-run-state/SKILL.md├── skills/create-threat-model/SKILL.md├── skills/diagnose-bundle/SKILL.md├── skills/diagnose-run/SKILL.md├── skills/eval-threat-model/SKILL.md├── skills/export-threat-model/SKILL.md├── skills/fix-run-issues/SKILL.md├── skills/help/SKILL.md├── skills/install-baseline/SKILL.md├── skills/internal-threat-analysis-kernel/SKILL.md├── skills/publish-threat-model/SKILL.md├── skills/remove-baseline/SKILL.md├── skills/repo-profile/SKILL.md├── skills/report-error/SKILL.md├── skills/review-threat-model/SKILL.md├── skills/security-score/SKILL.md├── skills/setup-target/SKILL.md├── skills/show-threat-model/SKILL.md├── skills/status/SKILL.md├── skills/threat-model-health/SKILL.md├── skills/update-baseline/SKILL.md├── skills/update-threat-model/SKILL.md├── skills/verify-baseline/SKILL.md└── skills/verify-requirements/SKILL.md
Included Skills28
Answer ANY question about the threat model in this repo — read-only Q&A over the committed threat-model.yaml. The default surface for every natural-language query about the model, however simple: does one exist at all ("is there a threat model here?", "gibt es hier ein bedrohungsmodell?"), how it stands ("how bad is it?", "is it still current?"), anything about its contents ("what are the critical findings?", "does it cover SSRF / IDOR / auth?", "which findings touch the payment service?", "is there a fix for F-003?", "welche kritischen findings gibt es?", "deckt mein bedrohungsmodell XSS ab?"), and meta questions ("what does P1 mean?", "what is STRIDE here?"). Grounds every data answer in the model and cites F-ids; never analyzes code, re-scores, spawns agents, or writes files. Prefer this over show-threat-model for anything phrased as a question — show only prints a fixed summary block on explicit request. To act on findings use review-threat-model; to (re)generate use create-threat-model.
Audit the current repository against a security requirements catalog and verify whether each requirement is implemented. Requirement IDs follow your catalog's own naming scheme (e.g. SEC-CSP-1, SCG-HARDENXML, or anything your YAML defines); tagging code with those IDs is optional and not required. Prints open requirements to the conversation with color-coded status and concise evidence. Optionally saves Markdown/PDF reports. With --json or --gate it also persists a deterministic structured verdict (.requirements-audit.json) and can act as a CI gate.
Standalone AuthN/AuthZ review of any repository. Runs three deterministic Python scanners (route inventory, auth-check scanner, IDOR confirmer) and dispatches a specialized agent that reasons over the combined output: cross-component IDOR chains, RBAC coverage gaps, JWT misconfiguration, and privilege-escalation signals. Optionally annotates findings with violated requirement IDs from a requirements catalog or Phase 8b violations index, and exports the findings as pentest tasks for an AI pentest agent. Does NOT require a prior threat model run. Prints results to the console; file output only with --save or --pentest-tasks.
Preflight the Claude Code permission allow-list for the AppSec plugin. Reports which Bash/Write/Edit/Read rules from data/required-permissions.yaml are missing from the user's settings.json, so unattended /appsec-advisor:create-threat-model runs do not block on prompts. Read-only by default; --update merges missing entries into a chosen scope.
Remove stale run-state files left behind by a crashed or abruptly terminated threat-model assessment. Refuses to clean when an active run is still holding the lock. Use when the Claude Code UI shows the threat-modeling skill as "scanning" forever after a session crash.
Perform a threat assessment of a repository and produce a threat-model.md. Supports --repo to analyze external repos and --output to set the output directory. Use --requirements <url> to check the findings against a security requirements catalog; no separate setup command is needed for that. Optionally also writes threat-model.yaml with --yaml flag.
Maintainer/dev skill that triages an anonymised diagnostic bundle (appsec-diag-*.tgz, produced by scripts/diagnostic_bundle.py) a user sent after a pipeline failure. Runs the deterministic inspect, then cross-references the plugin source (scripts/, compact runtimes, agents/, AGENTS.md) and known-bug history to produce a grounded root-cause hypothesis. Does NOT re-run the pipeline and never needs the user's repo.
Find the plugin defects behind the issues a create-threat-model run recorded. Reads `.run-issues.json`, re-reads each symptom next to the plugin's own code, and reports a `file:line` root cause per issue, or classifies it as an environment or expected condition. Read-only against the plugin; writes only `.run-bugs.json`. Requires plugin-developer mode (`APPSEC_PLUGIN_DEV=1`). Use it when a run offered a root-cause assessment and you deferred it, or when the completion summary listed Run Issues you want explained.
Developer/test skill that grades the SEMANTIC quality of a produced threat model (plausibility, severity proportionality, STRIDE coverage, mitigation actionability, missed surfaces) via a find→adversarial-verify loop over a frozen run. Complements the structural pytest/qa_checks suite; does NOT re-run the pipeline.
Re-export a finished threat-model.yaml/.md into PDF + HTML + SARIF + pentest-tasks artifacts, or the alpha OWASP Threat Dragon / ThreatAtlas JSON. Standalone post-processing — does not analyze the repo, does not run any agent. SARIF, pentest-tasks and Threat Dragon are derived deterministically from threat-model.yaml; PDF and HTML are converted from threat-model.md (requires pandoc; PDF also needs weasyprint plus mmdc+Chrome for Mermaid diagrams, or --no-mermaid).
Review recorded run issues using a validated diagnosis from the same run and present producer-level fixes with generic regression guidance. No automatic plugin edits are currently eligible.
Show what this plugin can do and which entry point fits the task — the starting point when someone does not know the commands yet ("what can appsec-advisor do?", "which commands are there?", "how do I start?", "wie fange ich an?", "was kann das plugin?", "help"). Prints a short command reference with example calls: creating a first threat model, asking questions about an existing one, working through the findings, the configuration and coach state in effect, and the flags that matter. Read-only — it prints guidance and does not scan, analyze, or write anything. For a question about the model's CONTENT ("what are the critical findings?") use ask-threat-model instead; this skill explains the tools, not the results.
Install the secure-coding baseline into Claude Code's instruction files, so the coding rules are in context on every prompt instead of only the ones that mention security. Menu-driven: this machine (~/.claude/CLAUDE.md), this repository (project CLAUDE.md), or this repository without touching CLAUDE.md (.claude/rules/). Fetches the published baseline, installs a signed release only once its signature verifies, and falls back to the copy bundled in the plugin when the source cannot be used. Use when the session banner reports the baseline is not installed, or on a request to install, add, set up, refresh or update the secure-coding baseline / secure coding rules / AI coding guardrails.
INTERNAL shared invariants preloaded only into appsec-advisor threat-analysis agents; not a user-invocable workflow.
Publish a completed threat model to version control. Runs pre-flight security checks (repo visibility, secret scan), patches .gitignore with negation exceptions for the publishable files, and creates a signed git commit with threat-count metadata. Keeps pentest-tasks.yaml and all intermediate files permanently ignored.
Remove an installed secure-coding baseline from Claude Code's instruction files, so the rules stop loading at the next session start. Drops the import by default and leaves the file on disk; deleting the file is a separate step that is always confirmed first, because the plugin cannot tell a copy it wrote from one the repository already had. Use on a request to remove, uninstall, disable, unwire or get rid of the secure-coding baseline / secure coding rules / AI coding guardrails, or to undo /appsec-advisor:install-baseline.
Deterministic profile of a repository before it is scanned: working-tree size, language split by bytes, build manifests and how many roots they sit in, tracked versus untracked content. Runs the filesystem walk alone — no agents, no LLM, no network, nothing written into the target repository, and no security judgement of any kind. Use it to decide whether a repository is worth a full run, at which assessment depth, and whether it is one service or a monorepo; use /appsec-advisor:security-score for a scanner-based number and /appsec-advisor:create-threat-model for the assessment itself.
User-facing skill for reporting a pipeline error. Builds an anonymised diagnostic bundle (appsec-diag-*.tgz) from the failed run via scripts/diagnostic_bundle.py, shows the user exactly what it contains, and tells them to review it and attach it to a GitHub issue. The bundle carries only tool versions, run shape, and scrubbed logs — never threat-model results, findings, source, or repo paths — and the tool makes no network calls.
User-facing triage of an existing threat model — an overview-first console over an already-generated threat-model.yaml (backlog by priority, severity mix, worst-case scenarios), then one of three modes. "Just look around" browses findings read-only by severity, security aspect, requirement, or control posture. "Fix or accept findings now" applies the code fix for findings you pick — or accepts the risk instead — one at a time for review. "Build a remediation plan" decides mitigate / accept-risk per finding and emits a remediation-plan.md without code changes. Within a session you can also discuss a single finding by id (F-/T-/M-/W-), a read-only aside that changes nothing. Runs later and independently of create-threat-model; reads the model, never regenerates or re-scores it. Not an artifact-quality check (that is eval-threat-model). To only *ask* about the model without acting on it, use ask-threat-model.
Deterministic quick Security Score (0-100) for a repository, computed from the scanner layer alone — no agents, no LLM, no threat model, nothing written into the target repository. Reports the score together with how many rules applied, the finding tally, and the weakest control domains. Use for a fast indication or a per-commit trend; it is not a risk rating and does not replace /appsec-advisor:create-threat-model.
Write the required Claude Code permission allow-list into a target repository so that /appsec-advisor:create-threat-model runs without permission prompts. One-shot setup; idempotent.
Print the standard summary block of the current threat model — scan identity, findings by severity, the remediation backlog (P1/P2/P3) and mitigation coverage, the worst-case scenarios, control posture, and whether the model is still up to date. A DISPLAY command, not a question-answering surface: use it only for an explicit request to see that block ("show me the threat model summary", "zeig mir die threat-model-uebersicht", "print the overview"). Reuses the same change detection that decides if an incremental scan is needed. Does not analyze code, write files, or compose prose — it prints a rendered block verbatim and cannot answer anything the block does not already contain. Do NOT route a natural-language question here, not even "is there a threat model?" / "gibt es hier ein bedrohungsmodell?" — every question goes to ask-threat-model, which answers directly and can produce this block too.
Read-only overview of the AppSec plugin — version, available features, last-run identity, and configuration sources. Does not analyze or modify anything.
Read-only three-check health probe for the threat model. Checks (1) whether a threat model exists and is still current, (2) whether intermediate artifacts are present and should be cleaned up, and (3) whether a threat model assessment is currently running. Check 3 runs first; if a run is active checks 1 and 2 are skipped so the command returns in under 1 second.
Refresh an already-installed secure-coding baseline from the source that publishes it, in place, wherever it is loaded from — this machine, the repository, or a file the repository already carried. Installs a newer signed release once its signature verifies; reports when a URL or git source has moved to a new id, which arrives with a plugin release rather than with this command; and never overwrites a foreign baseline, a newer one, or a file that holds more than the rules. Use on a request to update, refresh or re-fetch the secure-coding baseline / secure coding rules, or to ask whether the installed copy is still current. Installs nothing — /appsec-advisor:install-baseline is what puts a baseline on a machine that has none.
Reports that incremental threat-model updates are unavailable in the compact runtime and directs the user to a full or rebuild assessment.
Read-only check of whether the secure-coding baseline is actually loaded into Claude Code's instructions — which id, from which scope, through which file. Walks the project CLAUDE.md, .claude/CLAUDE.md, CLAUDE.local.md, .claude/rules/ and ~/.claude/CLAUDE.md plus their @ imports. Reports rather than fails; --enforce turns a missing baseline into a non-zero exit for CI. Use on a request to verify, check or confirm the secure-coding baseline / secure coding rules, or to answer whether the baseline is installed, loaded or up to date. Writes nothing.
Help a developer check the code they just changed against their company security requirements — or, if none are configured, against a built-in best-practices baseline. Scopes to the current diff, dispatches the appsec-reviewer subagent to grade only the triggered requirements, and prints concrete, code-aware guidance (what to fix and how). Advisory by default; an opt-in --gate turns it into a CI/merge gate. Complements the full-repo audit-security-requirements skill.
Plugin manifests1
{
"name": "appsec-advisor",
"version": "0.6.0-beta.4",
"analysis_version": 5,
"compatible_analysis_versions": [
1,
2,
3,
4,
5
],
"description": "Code-derived threat modeling plugin: the architecture model is derived from the repository, not maintained by hand. Provides AppSec-focused agents and skills for threat modeling, STRIDE analysis, dependency scanning, QA review, and security context resolution.",
"author": {
"name": "Application Security Team"
},
"keywords": [
"claude-code",
"appsec",
"security",
"threat-modeling",
"stride",
"agents",
"skills"
]
}For maintainers
If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.
[appsec-advisor on Agent Plugins Marketplace](https://pluginsmp.com/plugins/appsec-advisor)