AWS Security Bulletins
When to use this skill
Use this skill when the user wants to:
- List or search AWS Security Bulletins
- Check recent AWS vulnerability disclosures or CVEs
- Get details of a specific AWS Security Bulletin by its ID or URL
- Monitor AWS security announcements
Workflow
First, determine whether the user wants to (1) list/search bulletins or (2) get details of a specific one. Then execute the appropriate script command.
1. List / Search Bulletins
1-a. Determine script arguments:
--start-date/--end-date: ISO 8601 dates. Default is the last 1 year. Convert natural language like "today", "this week", "last month" to appropriate dates.--keyword: Optional keyword(s) for title filtering (OR logic, case-insensitive). Multiple keywords can be specified.--no-date-filter: Disables date filtering entirely.
If the user's intent is ambiguous, ask for clarification before running the script.
1-b. Run the script:
uv run --project scripts scripts/fetch_bulletins.py list [--start-date YYYY-MM-DDTHH:MM:SSZ] [--end-date YYYY-MM-DDTHH:MM:SSZ] [--keyword kw1 kw2 ...] [--no-date-filter]
1-c. Format the output as a Markdown table:
The script outputs JSON conforming to list-response-schema.json. Present it as:
| # | Bulletin ID | Title | Published | Severity | URL |
|---|---|---|---|---|---|
| 1 | AWS-2025-032 | Key Commitment Issues… | 2025-12-17 | important | https://… |
1-d. Ask the user if they want to retrieve details for any specific bulletin.
2. Get Bulletin Detail
2-a. Confirm input: Ensure a bulletin ID (e.g. AWS-2025-032, 2026-003-AWS) or a full URL is provided. These are available from the url field in the list output.
2-b. Prefer running this as a sub-agent to avoid consuming the caller's context window with the full HTML body.
2-c. Run the script:
uv run --project scripts scripts/fetch_bulletins.py detail <BULLETIN_ID_OR_URL>
The script outputs JSON conforming to detail-response-schema.json. The body field contains the full HTML of the bulletin.
2-d. Summarize or answer: If the user has a specific question, answer it based on the body content. Otherwise, provide a concise summary of the bulletin including: affected versions, description, resolution, and any CVE identifiers.
Output schemas
- List response: references/list-response-schema.json
- Detail response: references/detail-response-schema.json
- Error response: references/error-response-schema.json
Script details
- Runtime: Python 3.11+, standard library only, run via
uv run --project scripts - Logging: Uses
loggingmodule to stderr. Control viaLOG_LEVELenv var (default:WARN) - Retries: Exponential backoff, max 3 attempts for HTTP requests
- Output: JSON to stdout. Errors as JSON to stderr with non-zero exit code.
Examples
List bulletins from the last year:
uv run --project scripts scripts/fetch_bulletins.py list
Search for S3-related bulletins:
uv run --project scripts scripts/fetch_bulletins.py list --keyword S3 encryption
Get bulletins from a specific date range:
uv run --project scripts scripts/fetch_bulletins.py list --start-date 2025-01-01T00:00:00Z --end-date 2025-12-31T23:59:59Z
Get all bulletins without date filtering:
uv run --project scripts scripts/fetch_bulletins.py list --no-date-filter
Get detail of a specific bulletin:
uv run --project scripts scripts/fetch_bulletins.py detail AWS-2025-032
uv run --project scripts scripts/fetch_bulletins.py detail https://aws.amazon.com/security/security-bulletins/AWS-2025-032/
Disclaimer
This skill depends on an unofficial AWS endpoint (https://aws.amazon.com/api/dirs/items/search). This API is not publicly documented and may change without notice, which could cause this skill to stop working.