Commit c86b663
authored
Merge pull request #80 from ai-ram-ramani/add-security-extensions
Add security extensions framework
Later we need to address: comments for PR:
Token usage
Execution Time
Path ambiguity for extension scanning (Medium)
File: core-workflow.md:29
The extensions loading section says to scan extensions/ but doesn't specify relative to what. The rule details loading section above references .aidlc-rule-details/ as the base directory.
The actual file lives at aidlc-rules/aws-aidlc-rule-details/extensions/security/baseline/security-baseline.md. The scanning instruction should be explicit about the root path, e.g.
.aidlc-rule-details/extensions/.
Step 5.1 ordering relative to Step 6 (Medium)
File: requirements-analysis.md:93-102
Step 5.1 says to scan extensions for applicability questions and "include that question in the clarifying questions file created in Step 6." But Step 5.1 comes before Step 6 — at that
point the file doesn't exist yet. This is logically fine (gather the questions, then create the file in Step 6), but the phrasing "created in Step 6" in a step that precedes it may confuse
LLM execution. Consider rephrasing to something like: "collect these questions and include them when generating the clarifying questions file in Step 6."
.gitkeep files contain content (Low)
Files: hipaa/.gitkeep, pci-dss/.gitkeep, soc2/.gitkeep, customer-specific/.gitkeep
By convention, .gitkeep files are empty files used solely to preserve empty directories in git. These contain markdown content (5-11 lines each). Consider either:
Renaming them to README.md, or
Making them truly empty and putting the documentation elsewhere
OWASP 2025 reference may be premature (Low)
File: security-baseline.md:35 and the Appendix table
The rules reference "OWASP Top 10 (2025)" throughout. As of the knowledge cutoff, the latest official OWASP Top 10 is the 2021 edition. If a 2025 edition has been officially published,
this is fine — but if not, this should reference 2021 or drop the year qualifier to avoid confusion.
Missing OWASP mapping for some rules (Low)
File: security-baseline.md Appendix
Rules SECURITY-01 through SECURITY-07 are not mapped to any OWASP category in the appendix. The table only maps SECURITY-08 through SECURITY-15. For completeness, either:
Add mappings for SECURITY-01 through SECURITY-07 (e.g., SECURITY-01 maps to A02: Cryptographic Failures, SECURITY-05 maps to A03: Injection), or
Add a note explaining why they're excluded
No mechanism to load only specific compliance extensions (Low)
The core workflow scans extensions/ recursively and loads all .md files. Once someone adds HIPAA or PCI-DSS rules, they'll all be loaded together. The applicability question mechanism
helps (users can disable per-extension), but the loading itself could become expensive with many extensions. Consider whether the framework should support selective loading based on
directory, or if the current "load all, ask about each" approach is the intended design.
audit.md logging for skipped extensions not fully specified (Low)
File: core-workflow.md:40
The conditional enforcement section says "Skip disabled extensions and log the skip in audit.md" but doesn't define a format for these log entries. The existing audit log format in
core-workflow.md (lines 477-485) is structured. Consider specifying the expected format for extension skip entries to ensure consistency.
No versioning for extension rules (Low)
The security baseline has no version identifier. As rules evolve (e.g., updating OWASP mappings, adding/removing rules), there's no way to know which version of the rules were applied to a
given project. Consider adding a version field or date to the extension file header.7 files changed
Lines changed: 377 additions & 0 deletions
File tree
- aidlc-rules
- aws-aidlc-rule-details
- extensions/security
- baseline
- compliance
- hipaa
- pci-dss
- soc2
- customer-specific
- inception
- aws-aidlc-rules
Lines changed: 323 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
Lines changed: 11 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
93 | 104 | | |
94 | 105 | | |
95 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
28 | 45 | | |
29 | 46 | | |
30 | 47 | | |
| |||
0 commit comments