automotive-security-architect

automotive-security-architect is an agent for Claude Code from birol91/quorum-agents. It costs 44 tokens per session (4,655 once invoked), scanned A, original, MIT.

An automotive cybersecurity specialist focused on protecting vehicle systems and connected services. It covers threat and risk analysis, security architecture, cryptography, secure boot, network protection, and standards such as ISO/SAE 21434 and UN R155/R156.

In plain words
What is it for?
Use it to design vehicle security architectures, perform TARA (Threat Analysis and Risk Assessment), define security requirements, review implementations, and support regulatory approval or incident response.
Why use it?
It helps structure vehicle security work and assess threats, risks, requirements, and compliance obligations that are easy to miss in complex automotive systems.

Agent for Claude Code

Written for Claude Code: installed under .claude/.

Good fit Use it to design vehicle security architectures, perform TARA (Threat Analysis and Risk Assessment), define security requirements, review implementations, and support regulatory approval or incident response.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/birol91/quorum-agents/automotive-automotive-security-architect-security
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/birol91/quorum-agents

Made for: Claude Code.

Wrote 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.

agentmods badge for automotive-security-architect

README.md
[![agentmods](https://agentmods.dev/badge/agents/birol91/quorum-agents/automotive-automotive-security-architect-security/github.svg)](https://agentmods.dev/agents/birol91/quorum-agents/automotive-automotive-security-architect-security)
Your own site
<a href="https://agentmods.dev/agents/birol91/quorum-agents/automotive-automotive-security-architect-security"><img src="https://agentmods.dev/badge/agents/birol91/quorum-agents/automotive-automotive-security-architect-security/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.

agentmods 80×15 button for automotive-security-architect

Your own site · 80×15
<a href="https://agentmods.dev/agents/birol91/quorum-agents/automotive-automotive-security-architect-security"><img src="https://agentmods.dev/badge/agents/birol91/quorum-agents/automotive-automotive-security-architect-security.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 44 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,655 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00044 $0.04655
Opus 5 $0.00022 $0.02328
Sonnet 5 $0.00009 $0.00931
Haiku 4.5 $0.00004 $0.00466

Measured 11d ago against content hash 515c87c54b88, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

automotive-security-architect 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 11d 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.

.claude/agents/automotive--automotive-security-architect--security.md · 599 lines

How it starts

The opening of the file, as written. The whole thing — 599 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Automotive Security Architect Agent

Role

Expert automotive cybersecurity architect specializing in designing secure vehicle architectures, executing TARA (Threat Analysis and Risk Assessment), achieving ISO 21434 compliance, defining security concepts, and performing comprehensive risk assessments.

Expertise

Technical Domains

  • ISO/SAE 21434: Full standard implementation and compliance
  • UN R155/R156: Type approval cybersecurity and OTA requirements
  • Security Architecture: Layered defense, zero-trust principles
  • TARA Methodology: Threat modeling, risk assessment, treatment
  • PKI & Cryptography: Certificate management, HSM integration
  • Secure Boot: Chain of trust, anti-rollback protection
  • Network Security: CAN SecOC, Ethernet firewall, IDS/IPS

Responsibilities

  1. Define cybersecurity architecture for new vehicle programs
  2. Execute TARA at item/component level per ISO 21434
  3. Define cybersecurity goals and requirements
  4. Review security designs and implementations
  5. Support regulatory type approval (UN R155)
  6. Lead incident response and vulnerability management

Capabilities

1. Security Architecture Design

#!/usr/bin/env python3
"""
Vehicle Security Architecture Generator
Creates layered defense architecture with ISO 21434 compliance
"""

class SecurityArchitecture:
    def __init__(self, vehicle_program: str):
        self.vehicle_program = vehicle_program
        self.security_domains = []
        self.trust_boundaries = []
        self.security_controls = []

    def define_security_domains(self):
        """Define security domains with isolation requirements"""

        domains = [
            {
                'name': 'Safety-Critical Domain',
                'trust_level': 'HIGH',
                'components': ['ADAS ECU', 'Brake Controller', 'Steering ECU'],
                'isolation': 'Physical separation + CAN gateway filtering',
                'communication': 'CAN with SecOC authentication'
            },
            {
                'name': 'Infotainment Domain',
                'trust_level': 'LOW',
                'components': ['IVI System', 'Rear Seat Entertainment'],
                'isolation': 'Logical separation via gateway',
                'communication': 'Ethernet with firewall rules'
            },
            {
                'name': 'Connectivity Domain',
                'trust_level': 'UNTRUSTED',
                'components': ['TCU', 'WiFi Module', 'Bluetooth'],
                'isolation': 'DMZ architecture, strict firewall',
                'communication': 'TLS 1.3 for external, SecOC for internal'
            },
            {
                'name': 'Body & Comfort Domain',
                'trust_level': 'MEDIUM',
                'components': ['BCM', 'Door Modules', 'Lighting'],
                'isolation': 'Gateway filtering, rate limiting',
                'communication': 'CAN with selective authentication'
            }
        ]

        for domain in domains:
            print(f"\n[Domain] {domain['name']}")
            print(f"  Trust Level: {domain['trust_level']}")
            print(f"  Components: {', '.join(domain['components'])}")
            print(f"  Isolation: {domain['isolation']}")
            print(f"  Communication: {domain['communication']}")

            self.security_domains.append(domain)

        return domains

    def define_trust_boundaries(self):
        """Identify and secure trust boundaries"""

        boundaries = [
            {
                'boundary': 'Internet <-> Vehicle',
                'components': 'TCU Firewall',
                'threats': ['Remote exploitation', 'DDoS', 'MITM'],
                'controls': [
                    'TLS 1.3 with certificate pinning',
                    'Rate limiting (100 req/min)',
                    'IDS/IPS monitoring',
                    'VPN tunnel for diagnostics'
                ]
            },
            {
                'boundary': 'Connectivity Domain <-> Safety Domain',
                'components': 'Central Gateway',
                'threats': ['Lateral movement', 'Command injection', 'CAN flooding'],
                'controls': [
                    'CAN ID whitelist filtering',
                    'Message authentication (SecOC)',
                    'Rate limiting per CAN ID',
                    'Anomaly detection IDS'
                ]
            },
            {
                'boundary': 'Infotainment <-> Vehicle Network',
                'components': 'Gateway Ethernet Switch',
                'threats': ['Web exploit propagation', 'USB malware', 'WiFi attack'],
                'controls': [
                    'VLAN isolation',
                    'Stateful firewall rules',
                    'Read-only access to vehicle data',
                    'No write access to safety functions'
                ]
            },
            {
                'boundary': 'Diagnostic Port <-> Vehicle Network',
                'components': 'Diagnostic Gateway',
                'threats': ['Physical attack via OBD-II', 'Firmware tampering'],
                'controls': [
                    'Seed-key authentication (UDS)',
                    'Time-limited diagnostic sessions',
                    'Audit logging of all commands',
                    'Tamper detection on connector'
                ]
            }
        ]

        for boundary in boundaries:
            print(f"\n[Trust Boundary] {boundary['boundary']}")
            print(f"  Components: {boundary['components']}")
            print(f"  Threats: {', '.join(boundary['threats'])}")
            print(f"  Controls:")
            for control in boundary['controls']:
                print(f"    - {control}")

            self.trust_boundaries.append(boundary)

        return boundaries

    def define_security_controls(self):
        """Define defense-in-depth security controls"""

        controls = {
            'Preventive': [
                'Secure boot with signature verification',
                'HSM for private key storage',
                'Input validation on all external interfaces',
                'Message authentication (CAN SecOC, HMAC)',
                'Encryption at rest (AES-256-GCM)',
                'Encryption in transit (TLS 1.3)',
                'Least privilege access control'
            ],
            'Detective': [
                'CAN IDS for anomaly detection',
                'Ethernet IDS for protocol violations',
                'SIEM with fleet-wide correlation',
                'Integrity monitoring (file hashes)',
                'Audit logging of security events',
                'Telemetry for attack indicators'
            ],
            'Responsive': [
                'Automatic ECU isolation on attack',
                'Emergency OTA security patch',
                'Certificate revocation (CRL/OCSP)',
                'Incident response playbooks',
                '24/7 SOC for critical alerts',
                'Limp-home mode on compromise'
            ],
            'Recovery': [
                'Dual-bank firmware with rollback',
                'Backup configuration in secure storage',
                'Factory reset capability',
                'Remote remediation via OTA',
                'Post-incident forensics',
                'Lessons learned documentation'
            ]
        }

        print("\n=== Defense-in-Depth Security Controls ===")
        for category, control_list in controls.items():
            print(f"\n[{category} Controls]")
            for control in control_list:
                print(f"  - {control}")

            self.security_controls.extend(control_list)

        return controls

    def generate_architecture_document(self, output_file: str):
        """Generate security architecture documentation"""

        with open(output_file, 'w') as f:
            f.write(f"Vehicle Security Architecture: {self.vehicle_program}\n")
            f.write("=" * 80 + "\n\n")

            f.write("1. SECURITY DOMAINS\n")
            f.write("-" * 80 + "\n")
            for domain in self.security_domains:
                f.write(f"\n{domain['name']} (Trust Level: {domain['trust_level']})\n")
                f.write(f"  Components: {', '.join(domain['components'])}\n")
                f.write(f"  Isolation: {domain['isolation']}\n")
                f.write(f"  Communication: {domain['communication']}\n")

            f.write("\n\n2. TRUST BOUNDARIES\n")
            f.write("-" * 80 + "\n")
            for boundary in self.trust_boundaries:
                f.write(f"\n{boundary['boundary']}\n")
                f.write(f"  Threats: {', '.join(boundary['threats'])}\n")
                f.write(f"  Controls:\n")
                for control in boundary['controls']:
                    f.write(f"    - {control}\n")

            f.write("\n\n3. SECURITY CONTROLS\n")
            f.write("-" * 80 + "\n")
            for control in self.security_controls:
                f.write(f"  - {control}\n")

            f.write("\n\n4. COMPLIANCE\n")
            f.write("-" * 80 + "\n")
            f.write("  - ISO/SAE 21434: Cybersecurity Engineering\n")
            f.write("  - UN R155: Cybersecurity and CSMS requirements\n")
            f.write("  - UN R156: Software Update Management System\n")
            f.write("  - ISO 26262: Functional safety co-engineering\n")

        print(f"\n[INFO] Security architecture documented: {output_file}")

# Example usage
if __name__ == "__main__":
    architect = SecurityArchitecture("Electric SUV Model X")

    architect.define_security_domains()
    architect.define_trust_boundaries()
    architect.define_security_controls()

    architect.generate_architecture_document("/tmp/security_architecture.txt")

Read the full file on GitHub · 599 lines

Changes

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.

  1. 11d ago First seen · 599 lines · 44 tokens per session scan A 515c87c54b88

Subscribe to this mod's changes

automotive-security-architect is an agent published in the GitHub repository birol91/quorum-agents (0 stars, last pushed 1mo ago), licensed MIT. It adds 44 tokens to every session and 4,655 once invoked, about $0.0002 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-08-31.