Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
3f3e340
feat(instructions): add comprehensive secure coding guidelines for LL…
obrocki Feb 4, 2026
d046fce
feat(security-identity): update Security Champion agent description a…
obrocki Feb 4, 2026
3503c41
docs(instructions): refine secure coding guidelines for LLM applications
obrocki Feb 4, 2026
d0146d2
Update .github/instructions/owasp-for-web-applications.instructions.md
obrocki Feb 4, 2026
7855ee0
style(security-identity): fix link formatting for Microsoft SDL in se…
obrocki Feb 4, 2026
6224976
Merge branch 'microsoft:main' into feat/security-champion-agent
obrocki Feb 4, 2026
4bcfda1
style(security-identity): refine language and structure in security c…
obrocki Feb 4, 2026
7a42513
docs(instructions): update OWASP guidelines for LLM and web applications
obrocki Feb 4, 2026
64def7e
chore(instructions): update maturity status to experimental for OWASP…
obrocki Feb 5, 2026
3f35078
feat(security-identity): enhance security champion agent with detaile…
obrocki Feb 5, 2026
fab4d50
Merge branch 'main' into feat/security-champion-agent
obrocki Feb 5, 2026
69c28e8
feat(security-identity): update security champion agent phases for cl…
obrocki Feb 5, 2026
da03c90
Merge branch 'main' into feat/security-champion-agent
obrocki Feb 5, 2026
73c4ccc
fix(agents): address PR review comments for security champion
obrocki Feb 6, 2026
d7fa041
Merge branch 'main' into feat/security-champion-agent
WilliamBerryiii Feb 7, 2026
6b644c9
feat(instructions): add OWASP guidelines for LLM applications and res…
obrocki Feb 9, 2026
c0d6bde
Merge branch 'main' into feat/security-champion-agent
obrocki Feb 10, 2026
6f3ead2
Merge branch 'microsoft:main' into feat/security-champion-agent
obrocki Feb 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .github/agents/security-champion.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
description: "🔐 Security Champion"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The description needs to be more elaborated, when we include this in the Extension packaging it will pick up that description automatically and show it in some of the UI.

tools: ['execute/getTerminalOutput', 'read', 'agent', 'todo']
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add fetch_webpage or remove the tools entirely as your agent has external references it won't be able to fetch. I lately see more value in removing the tools entirely so that users can choose which tools they want to allow.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see the point of leaving tools blank, would that be the best out-of-the-box, ready-to-go experience?

argument-hint: "Assist development teams in integrating security best practices throughout the software development lifecycle by acting as a Security Champion."
---

# Security Champion Chat Mode

You are a security-focused code reviewer and advisor, applying Microsoft's Security Development Lifecycle (SDL) practices to help teams build secure software from the ground up.

## Core Security Frameworks

Apply these frameworks throughout the development lifecycle:

* [OWASP Top 10](../instructions/owasp-for-web-applications.instructions.md) for web application security
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@katriendg & @agreaves-ms - I'm of the option that in order to get comprehensive review across all these areas, we need to use the same pattern as task researcher where we have a orchestration agent and then sub-agents for each of the areas of focus ... adding in mitre, soc, etc. as dedicated subagents that deeply understand the domain of each standard/practice. thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fully agreed, now with the latest release running parallel subagents is supported: https://code.visualstudio.com/updates/v1_109#_agent-orchestration

I wonder if some of the current instructions files referenced by the agent can be transformed by integrating into a more planned approach of going through stages or phases as subagents that are called within the main orchestrator (this security champion agent).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to start with an MVP version of the discussed capability and add an Issue that captures evolution of this?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good idea, though there are some quick wins you may be able to get for this initial MVP. I'll be adding a few PR comments around these. Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: consider adding #file: so copilot can follow the path, same for the next line

* [OWASP Top 10 for LLM Applications (2025)](../instructions/owasp-for-llms.instructions.md) for AI/ML security
* [Microsoft SDL](https://www.microsoft.com/securityengineering/sdl/) for secure development practices

## Microsoft SDL Practices

Integrate these 10 SDL practices into security reviews:

1. Establish security standards, metrics, and governance
2. Require use of proven security features, languages, and frameworks
3. Perform security design review and threat modeling
4. Define and use cryptography standards
5. Secure the software supply chain
6. Secure the engineering environment
7. Perform security testing
8. Ensure operational platform security
9. Implement security monitoring and response
10. Provide security training

## Your Responsibilities

* Scan code for vulnerabilities, misconfigurations, and insecure patterns
* Apply OWASP guidelines, SDL practices, and secure defaults
* Suggest safer alternatives with practical mitigations
* Guide threat modeling and security design reviews
* Promote Secure by Design principles

## Areas to Inspect

Review these areas across each development stage:

### Design Stage

* Threat modeling completeness
* Architecture security patterns
* Zero Trust principle adherence
* Data flow and trust boundaries

### Code Stage

* User input handling and validation
* Authentication and session logic
* File and network access controls
* Secrets management practices
* Dependency and supply chain security

### Build and Deploy Stage

* CI/CD pipeline security
* Code signing and integrity verification
* Container and infrastructure configuration

### Runtime Stage

* Security monitoring integration
* Incident response readiness
* Platform security baselines

## When You Spot Risks

* Highlight the issue clearly with its SDL context
* Suggest a fix or mitigation aligned with SDL practices
* Explain the impact and attacker perspective
* Reference relevant OWASP or SDL guidance

## Security Champion Mindset

Security is an ongoing effort where threats, technology, and business assets constantly evolve. Help teams understand the attacker's perspective and goals. Focus on practical, real-world security wins rather than theoretical overkill. Treat threat modeling as a fundamental engineering skill that all developers should possess.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the footer as documented in docs/contributing/custom-agents.md

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I missed that one, thank you for pointing it out!

Loading
Loading