@aegis-scan/skills 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ATTRIBUTION.md +71 -20
- package/CHANGELOG.md +43 -0
- package/README.md +66 -18
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +17 -1
- package/dist/commands/install.js.map +1 -1
- package/package.json +3 -2
- package/sbom.cdx.json +1 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/SKILL.md +305 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/abmahn-templates.md +306 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/aegis-integration.md +241 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/audit-patterns.md +277 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/bgh-urteile.md +167 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/branchenrecht.md +285 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/checklisten.md +276 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/dsgvo.md +238 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/international.md +163 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/it-recht.md +267 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/strafrecht-steuer.md +193 -0
- package/skills/compliance/aegis-native/brutaler-anwalt/references/vertragsrecht.md +243 -0
- package/skills/defensive/README.md +33 -4
- package/skills/defensive/aegis-native/rls-defense/SKILL.md +174 -0
- package/skills/defensive/aegis-native/ssrf-defense/SKILL.md +179 -0
- package/skills/defensive/aegis-native/tenant-isolation-defense/SKILL.md +225 -0
- package/skills/mitre-mapped/README.md +36 -8
- package/skills/mitre-mapped/aegis-native/mapping-overview/SKILL.md +129 -0
- package/skills/mitre-mapped/aegis-native/t1078-valid-accounts/SKILL.md +136 -0
- package/skills/mitre-mapped/aegis-native/t1190-exploit-public-app/SKILL.md +108 -0
- package/skills/ops/README.md +39 -4
- package/skills/ops/aegis-native/escalation-runbook/SKILL.md +147 -0
- package/skills/ops/aegis-native/suppress-correctly/SKILL.md +196 -0
- package/skills/ops/aegis-native/triage-finding/SKILL.md +144 -0
package/ATTRIBUTION.md
CHANGED
|
@@ -41,35 +41,86 @@ rule applies to any incoming updates — no stripping of upstream
|
|
|
41
41
|
attribution, no removal of AEGIS-added headers, no paper-over of
|
|
42
42
|
upstream format variance.
|
|
43
43
|
|
|
44
|
-
## Defensive skills — AEGIS-native
|
|
44
|
+
## Defensive skills — AEGIS-native
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
All skills under `skills/defensive/aegis-native/` are AEGIS-original
|
|
47
|
+
content under MIT License, mirroring patterns from `@aegis-wizard/cli`'s
|
|
48
|
+
pattern library and remediation guidance for `@aegis-scan/cli` scanner
|
|
49
|
+
findings.
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
- **Source:** AEGIS-original
|
|
52
|
+
- **License:** MIT (covered by the AEGIS top-level `LICENSE`)
|
|
53
|
+
- **Skill count at first ship:** 3 (`rls-defense`, `tenant-isolation-defense`, `ssrf-defense`)
|
|
54
|
+
- **First shipped:** post-v0.16.6 work-package WP-A2
|
|
51
55
|
|
|
52
|
-
|
|
53
|
-
[mukul975/Anthropic-Cybersecurity-Skills](https://github.com/mukul975/Anthropic-Cybersecurity-Skills)
|
|
54
|
-
under Apache-2.0 with per-skill quality-audit plus MITRE ATT&CK /
|
|
55
|
-
D3FEND / NIST CSF framework-mappings applied. Section populates when
|
|
56
|
-
skills-v0.2 lands.
|
|
56
|
+
## MITRE-mapped skills — AEGIS-native
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
All skills under `skills/mitre-mapped/aegis-native/` are AEGIS-original
|
|
59
|
+
content under MIT License, providing the cross-walk between AEGIS
|
|
60
|
+
scanner findings and MITRE ATT&CK Enterprise / ATLAS / D3FEND / NIST
|
|
61
|
+
CSF 2.0 / NIST AI RMF.
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
- **Source:** AEGIS-original
|
|
64
|
+
- **License:** MIT (covered by the AEGIS top-level `LICENSE`)
|
|
65
|
+
- **Skill count at first ship:** 3 (`mapping-overview`, `t1190-exploit-public-app`, `t1078-valid-accounts`)
|
|
66
|
+
- **First shipped:** post-v0.16.6 work-package WP-A2
|
|
67
|
+
|
|
68
|
+
The cross-walk references public MITRE frameworks. MITRE ATT&CK is
|
|
69
|
+
copyright © The MITRE Corporation, distributed under their copyright
|
|
70
|
+
statement at https://attack.mitre.org/resources/legal-and-branding/
|
|
71
|
+
which permits factual cross-walk usage. The AEGIS skills do not
|
|
72
|
+
re-distribute MITRE content; they reference public technique IDs and
|
|
73
|
+
descriptions by ID (which are factual identifiers).
|
|
74
|
+
|
|
75
|
+
## Operations skills — AEGIS-native
|
|
76
|
+
|
|
77
|
+
All skills under `skills/ops/aegis-native/` are AEGIS-original
|
|
78
|
+
operational runbooks under MIT License.
|
|
79
|
+
|
|
80
|
+
- **Source:** AEGIS-original
|
|
81
|
+
- **License:** MIT (covered by the AEGIS top-level `LICENSE`)
|
|
82
|
+
- **Skill count at first ship:** 3 (`triage-finding`, `suppress-correctly`, `escalation-runbook`)
|
|
83
|
+
- **First shipped:** post-v0.16.6 work-package WP-A2
|
|
84
|
+
|
|
85
|
+
## Compliance skills — AEGIS-native
|
|
86
|
+
|
|
87
|
+
All skills under `skills/compliance/aegis-native/` are AEGIS-original
|
|
88
|
+
adversarial DE/EU compliance content under MIT License.
|
|
89
|
+
|
|
90
|
+
- **Source:** AEGIS-original
|
|
91
|
+
- **License:** MIT (covered by the AEGIS top-level `LICENSE`)
|
|
92
|
+
- **Skill count at first ship:** 1 (`brutaler-anwalt`, multi-file with 11 supporting `references/*.md`)
|
|
93
|
+
- **First shipped:** v0.2.0
|
|
94
|
+
- **Content domain:** DE/EU compliance audit (DSGVO, DDG, TTDSG, UWG, NIS2, EU AI Act, branchenrecht, strafrecht-steuer). Three-persona self-verification (Hunter / Challenger / Synthesizer) is an AEGIS-original methodology pattern, not derived from upstream content. References cite German/EU statutes (`§`-paragraphs) and BGH/EuGH judgment-IDs (`Az.`) — these are factual legal identifiers, not copyrightable expression.
|
|
95
|
+
|
|
96
|
+
## Future external sources
|
|
97
|
+
|
|
98
|
+
The `skills/` tree is designed to grow across sources. Future
|
|
99
|
+
candidates being evaluated for cherry-pick (per the maintainer's
|
|
100
|
+
source-evaluation cycle):
|
|
101
|
+
|
|
102
|
+
- [mukul975/Anthropic-Cybersecurity-Skills](https://github.com/mukul975/Anthropic-Cybersecurity-Skills) — Apache-2.0, 754 mixed offensive+defensive skills with MITRE/D3FEND/NIST framework-mappings.
|
|
103
|
+
- [Eyadkelleh/awesome-claude-skills-security](https://github.com/Eyadkelleh/awesome-claude-skills-security) — security-pentesting curated list.
|
|
104
|
+
- [VoltAgent/awesome-agent-skills](https://github.com/VoltAgent/awesome-agent-skills) — MIT, 1000+ mixed agent skills aggregator.
|
|
105
|
+
|
|
106
|
+
Each future cherry-pick will land in a per-source subdirectory under
|
|
107
|
+
the appropriate category (e.g., `defensive/anthropic-cybersec-pick/`)
|
|
108
|
+
with attribution preserved per the same per-file `<!-- aegis-local: -->`
|
|
109
|
+
header convention as the offensive `snailsploit-fork/` source.
|
|
62
110
|
|
|
63
111
|
## License compatibility
|
|
64
112
|
|
|
65
113
|
AEGIS itself ships under MIT. Offensive skills ship under MIT (via
|
|
66
|
-
upstream).
|
|
67
|
-
under
|
|
68
|
-
|
|
69
|
-
|
|
114
|
+
upstream). AEGIS-native defensive / mitre-mapped / ops / compliance
|
|
115
|
+
skills ship under MIT (AEGIS-original). Future cybersecurity-framework-
|
|
116
|
+
mapped cherry-picks would ship under Apache-2.0 (via upstream) when
|
|
117
|
+
those land. All these licenses are permissive, commercially-
|
|
118
|
+
redistributable, and require attribution preservation — which this
|
|
119
|
+
file codifies. No license incompatibility.
|
|
70
120
|
|
|
71
121
|
## Changes to upstream
|
|
72
122
|
|
|
73
|
-
See `CHANGELOG.md` for AEGIS-side version history.
|
|
74
|
-
|
|
75
|
-
attribution header documented above.
|
|
123
|
+
See `CHANGELOG.md` for AEGIS-side version history.
|
|
124
|
+
|
|
125
|
+
- For `snailsploit-fork/` (offensive): the only change to any forked `SKILL.md` is the prepended AEGIS-local HTML attribution header documented above. Quarterly upstream-sync pulls additions and corrections.
|
|
126
|
+
- For `aegis-native/` (defensive / mitre-mapped / ops / compliance): there is no upstream — content is AEGIS-authored. Each `SKILL.md` carries an `<!-- aegis-local: AEGIS-native skill, MIT-licensed; ... -->` header documenting the AEGIS-internal source pattern.
|
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,49 @@ and quality-audit completion, not by a fixed schedule.
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## [Unreleased]
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## [0.2.0] — 2026-04-27 — "four-category-population + compliance with brutaler-anwalt"
|
|
16
|
+
|
|
17
|
+
### Added — four category populations (defensive / mitre-mapped / ops / compliance)
|
|
18
|
+
|
|
19
|
+
Ten new AEGIS-native `SKILL.md` files (MIT) populate four previously-placeholder category directories:
|
|
20
|
+
|
|
21
|
+
- **`skills/defensive/aegis-native/`** (3 skills) — `rls-defense`, `tenant-isolation-defense`, `ssrf-defense`. Mirror `@aegis-wizard/cli` patterns and provide remediation guidance for `@aegis-scan/cli` scanner findings (`rls-bypass-checker`, `tenant-isolation-checker`, `ssrf-checker`, `taint-analyzer`, `mass-assignment-checker`, `template-sql-checker`).
|
|
22
|
+
- **`skills/mitre-mapped/aegis-native/`** (3 skills) — `mapping-overview`, `t1190-exploit-public-app`, `t1078-valid-accounts`. Cross-walk AEGIS findings to MITRE ATT&CK Enterprise + ATLAS + D3FEND + NIST CSF 2.0 + NIST AI RMF.
|
|
23
|
+
- **`skills/ops/aegis-native/`** (3 skills) — `triage-finding`, `suppress-correctly`, `escalation-runbook`. Operational runbooks for the AEGIS workflow itself.
|
|
24
|
+
- **`skills/compliance/aegis-native/`** (1 skill) — `brutaler-anwalt`. Adversarial DE/EU compliance auditor (DSGVO / DDG / TTDSG / UWG / NIS2 / EU AI Act / branchenrecht / strafrecht-steuer) with three-persona self-verification (Hunter / Challenger / Synthesizer). Slash-command activation via `/anwalt`. Multi-file: ships an 11-file `references/` sibling tree (~120 KB) covering `audit-patterns.md`, `dsgvo.md`, `it-recht.md`, `vertragsrecht.md`, `checklisten.md`, `branchenrecht.md`, `bgh-urteile.md`, `abmahn-templates.md`, `aegis-integration.md`, `international.md`, `strafrecht-steuer.md`. The `aegis-integration.md` reference defines the consume-AEGIS-scanner-output severity-mapping (critical → 🔴 KRITISCH ≥70%, high → 🟡 HOCH 40–70%, etc.) so the skill bridges AEGIS technical findings to the rechtliche Bewertungs-Layer.
|
|
25
|
+
|
|
26
|
+
Total skills jumps from 37 to 47. All new content is MIT-AEGIS-original; no upstream-fork dependency. The `aegis-native/` source-namespace convention parallels the existing `snailsploit-fork/` for offensive skills, leaving room for future non-AEGIS sources (e.g., `defensive/anthropic-cybersec-pick/`) to slot in without layout churn.
|
|
27
|
+
|
|
28
|
+
### Added — installer support for multi-file skills (`references/` siblings)
|
|
29
|
+
|
|
30
|
+
`packages/skills/src/commands/install.ts` extended to copy any sibling `references/` directory next to a `SKILL.md` so multi-file skills stay self-consistent under the install target. The `brutaler-anwalt` skill is the first consumer; any future skill that ships supporting `.md` references inherits the same packaging treatment automatically. `--force` semantics extend naturally — references are overwritten alongside the SKILL.md they belong to. Markdown-only invariant intact (the new code only touches `.md` extensions).
|
|
31
|
+
|
|
32
|
+
### Added — scrub-test coverage for `references/` siblings
|
|
33
|
+
|
|
34
|
+
`__tests__/scrub.test.ts` gains a new describe-block (`scrub-clean — sibling references/ directories`) that iterates every SKILL.md, looks for a sibling `references/` dir, and runs the same FORBIDDEN-codename scan over each `.md` reference. Without this block, leaks in references would slip past source-side gates and only fail at the CI tarball-scrub step. Defense-in-depth: this catches them at unit-test time, source-side, before any push.
|
|
35
|
+
|
|
36
|
+
### Updated
|
|
37
|
+
|
|
38
|
+
- `skills/defensive/README.md`, `skills/mitre-mapped/README.md`, `skills/ops/README.md` — replace v0.2+ placeholder text with directory-of-shipped-content tables.
|
|
39
|
+
- `ATTRIBUTION.md` — credit the AEGIS-native sources, document the MIT license terms, future-external-source candidate list expanded.
|
|
40
|
+
- `README.md` (this package) — multi-source architecture diagram updated; per-category content tables replace the v0.1.0-only enumeration; new compliance row + brutaler-anwalt mention.
|
|
41
|
+
- `__tests__/manifest.test.ts` — `EXPECTED_TOTAL` 46 → 47, `EXPECTED_CATEGORIES` add `compliance`, `EXPECTED_SOURCES_BY_CATEGORY[compliance]` add `aegis-native`, `EXPECTED_NAMES_BY_CATEGORY[compliance]` add `brutaler-anwalt`.
|
|
42
|
+
|
|
43
|
+
### Validation
|
|
44
|
+
|
|
45
|
+
- All 10 new SKILL.md files pass the markdown-only structural invariant.
|
|
46
|
+
- All 10 new SKILL.md files pass the scrub-test (no internal-codename leaks).
|
|
47
|
+
- All 11 brutaler-anwalt `references/*.md` pass the new sibling-references scrub-block.
|
|
48
|
+
- All 3 updated category-README placeholders pass the future-category placeholder scrub-test.
|
|
49
|
+
- `loadAllSkills()` auto-discovers the new content via the existing `<category>/<source>/<name>/SKILL.md` layout — no loader changes needed.
|
|
50
|
+
- 405 / 405 tests pass post-addition (was 386).
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
11
54
|
## [0.1.1] — 2026-04-23 — "ship-gate-caught-recovery"
|
|
12
55
|
|
|
13
56
|
First published release. v0.1.0 was tagged but NEVER published to npm —
|
package/README.md
CHANGED
|
@@ -41,10 +41,11 @@ After `install` lands the skill files under `~/.claude/skills/user/aegis-skills/
|
|
|
41
41
|
Claude Code auto-loads each `SKILL.md` based on its trigger-phrases
|
|
42
42
|
whenever you invoke the agent with a relevant prompt.
|
|
43
43
|
|
|
44
|
-
## What ships
|
|
44
|
+
## What ships
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
### Offensive skills — `skills/offensive/snailsploit-fork/`
|
|
47
|
+
|
|
48
|
+
Thirty-seven offensive-security `SKILL.md` files covering:
|
|
48
49
|
|
|
49
50
|
- **Web application:** sqli · xss · ssrf · ssti · xxe · idor · file-upload
|
|
50
51
|
· rce · deserialization · race-condition · request-smuggling ·
|
|
@@ -63,30 +64,77 @@ Thirty-seven offensive-security SKILL.md files under
|
|
|
63
64
|
|
|
64
65
|
All forked from
|
|
65
66
|
[SnailSploit/Claude-Red](https://github.com/SnailSploit/Claude-Red)
|
|
66
|
-
under MIT License with attribution preserved per-file.
|
|
67
|
-
|
|
67
|
+
under MIT License with attribution preserved per-file.
|
|
68
|
+
|
|
69
|
+
### Defensive skills — `skills/defensive/aegis-native/`
|
|
70
|
+
|
|
71
|
+
Three AEGIS-native `SKILL.md` files (MIT) mirroring `@aegis-wizard/cli`
|
|
72
|
+
patterns and providing remediation guidance for `@aegis-scan/cli`
|
|
73
|
+
findings:
|
|
74
|
+
|
|
75
|
+
- **`rls-defense`** — Supabase Row-Level Security hardening (covers `rls-bypass-checker` + `template-sql-checker` findings)
|
|
76
|
+
- **`tenant-isolation-defense`** — multi-tenant SaaS isolation (covers `tenant-isolation-checker` + `mass-assignment-checker` findings)
|
|
77
|
+
- **`ssrf-defense`** — SSRF defense including DNS-rebinding, IPv6, cloud metadata-endpoint protection (covers `ssrf-checker` + cross-file taint findings)
|
|
78
|
+
|
|
79
|
+
### MITRE-mapped skills — `skills/mitre-mapped/aegis-native/`
|
|
80
|
+
|
|
81
|
+
Three AEGIS-native `SKILL.md` files (MIT) cross-walking AEGIS findings
|
|
82
|
+
to MITRE frameworks:
|
|
83
|
+
|
|
84
|
+
- **`mapping-overview`** — top-level per-CWE → ATT&CK technique mapping plus tactic-level coverage summary; ATLAS overlay for AI/LLM threats; D3FEND defensive-countermeasure mapping; NIST CSF 2.0 + NIST AI RMF function-level alignment.
|
|
85
|
+
- **`t1190-exploit-public-app`** — deep-dive on T1190 (the #1 Initial Access vector in Verizon DBIR 2024).
|
|
86
|
+
- **`t1078-valid-accounts`** — deep-dive on T1078 (Valid Accounts) coverage via the AEGIS credential-protection scanner family.
|
|
87
|
+
|
|
88
|
+
### Operations skills — `skills/ops/aegis-native/`
|
|
89
|
+
|
|
90
|
+
Three AEGIS-native `SKILL.md` files (MIT) wrapping the AEGIS workflow
|
|
91
|
+
in process-discipline:
|
|
92
|
+
|
|
93
|
+
- **`triage-finding`** — operational runbook for triaging an AEGIS finding (severity → confidence → verify → fix-vs-suppress-vs-defer).
|
|
94
|
+
- **`suppress-correctly`** — when suppression is appropriate, the structured-rationale syntax, anti-patterns, and audit-trail expectations.
|
|
95
|
+
- **`escalation-runbook`** — what to do when a BLOCKER reaches main, when a finding suggests active exploitation, or when a credential leak is detected.
|
|
96
|
+
|
|
97
|
+
### Compliance skills — `skills/compliance/aegis-native/`
|
|
98
|
+
|
|
99
|
+
One AEGIS-native multi-file `SKILL.md` (MIT) for adversarial DE/EU
|
|
100
|
+
compliance audits:
|
|
101
|
+
|
|
102
|
+
- **`brutaler-anwalt`** — adversarial DE/EU compliance auditor (DSGVO / DDG / TTDSG / UWG / NIS2 / EU AI Act / branchenrecht / strafrecht-steuer) with three-persona self-verification (Hunter / Challenger / Synthesizer). Slash-command activation via `/anwalt`. Ships an 11-file `references/` sibling tree (~120 KB) with per-bereich rules, BGH/EuGH-judgment database, abmahn-templates, and an explicit AEGIS-scanner-output → rechtliche-Bewertung mapping. The installer auto-copies the references tree alongside the SKILL.md.
|
|
103
|
+
|
|
104
|
+
### Attribution + license
|
|
105
|
+
|
|
106
|
+
See [`ATTRIBUTION.md`](./ATTRIBUTION.md) for the full credit chain.
|
|
107
|
+
Offensive skills are MIT-via-upstream-fork; defensive / mitre-mapped /
|
|
108
|
+
ops / compliance skills are MIT-AEGIS-original.
|
|
68
109
|
|
|
69
110
|
## Multi-source architecture
|
|
70
111
|
|
|
71
112
|
`@aegis-scan/skills` is designed to grow across sources without
|
|
72
|
-
re-architecting the package. The `skills/` tree carries
|
|
73
|
-
category-directories
|
|
74
|
-
for future content:
|
|
113
|
+
re-architecting the package. The `skills/` tree carries five
|
|
114
|
+
category-directories:
|
|
75
115
|
|
|
76
116
|
```
|
|
77
117
|
skills/
|
|
78
|
-
├── offensive/
|
|
79
|
-
│ └── snailsploit-fork/
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
├── mitre-mapped/
|
|
83
|
-
└──
|
|
118
|
+
├── offensive/
|
|
119
|
+
│ └── snailsploit-fork/ — 37 SKILL.md files (MIT, forked from SnailSploit/Claude-Red)
|
|
120
|
+
├── defensive/
|
|
121
|
+
│ └── aegis-native/ — 3 SKILL.md files (MIT, AEGIS-original)
|
|
122
|
+
├── mitre-mapped/
|
|
123
|
+
│ └── aegis-native/ — 3 SKILL.md files (MIT, AEGIS-original — ATT&CK / ATLAS / D3FEND / NIST cross-walk)
|
|
124
|
+
├── ops/
|
|
125
|
+
│ └── aegis-native/ — 3 SKILL.md files (MIT, AEGIS-original — triage / suppress / escalation runbooks)
|
|
126
|
+
└── compliance/
|
|
127
|
+
└── aegis-native/ — 1 multi-file SKILL.md + 11-file references/ tree (MIT, AEGIS-original — adversarial DE/EU compliance auditor with three-persona self-verification)
|
|
84
128
|
```
|
|
85
129
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
130
|
+
Total: **47 skills** across **5 categories** and **2 source-namespaces**
|
|
131
|
+
(`snailsploit-fork` for the offensive fork; `aegis-native` for the
|
|
132
|
+
defensive / mitre-mapped / ops / compliance AEGIS-original content).
|
|
133
|
+
|
|
134
|
+
When future external sources land, they slot into the existing tree
|
|
135
|
+
under their own per-source subdirectory (e.g.,
|
|
136
|
+
`defensive/anthropic-cybersec-pick/`) and the manifest metadata
|
|
137
|
+
expands without layout churn.
|
|
90
138
|
|
|
91
139
|
## Structural invariant
|
|
92
140
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,MAAM,CA4E/D"}
|
package/dist/commands/install.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* --dry-run Print what would be copied without writing anything.
|
|
16
16
|
*/
|
|
17
17
|
import { homedir } from 'node:os';
|
|
18
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync, } from 'node:fs';
|
|
18
|
+
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync, } from 'node:fs';
|
|
19
19
|
import { dirname, join, resolve } from 'node:path';
|
|
20
20
|
import { loadAllSkills } from '../skills-loader.js';
|
|
21
21
|
export function runInstall(options = {}) {
|
|
@@ -61,6 +61,22 @@ export function runInstall(options = {}) {
|
|
|
61
61
|
const content = readFileSync(skill.absolutePath, 'utf-8');
|
|
62
62
|
writeFileSync(targetPath, content, 'utf-8');
|
|
63
63
|
written += 1;
|
|
64
|
+
// Copy any sibling references/ directory so multi-file skills
|
|
65
|
+
// (e.g. compliance/aegis-native/brutaler-anwalt) keep their
|
|
66
|
+
// SKILL.md → references/*.md links intact under the target tree.
|
|
67
|
+
const sourceRefDir = join(dirname(skill.absolutePath), 'references');
|
|
68
|
+
if (existsSync(sourceRefDir) && statSync(sourceRefDir).isDirectory()) {
|
|
69
|
+
const targetRefDir = join(dirname(targetPath), 'references');
|
|
70
|
+
mkdirSync(targetRefDir, { recursive: true });
|
|
71
|
+
for (const entry of readdirSync(sourceRefDir)) {
|
|
72
|
+
if (!entry.endsWith('.md'))
|
|
73
|
+
continue;
|
|
74
|
+
const refSrc = join(sourceRefDir, entry);
|
|
75
|
+
const refDst = join(targetRefDir, entry);
|
|
76
|
+
writeFileSync(refDst, readFileSync(refSrc, 'utf-8'), 'utf-8');
|
|
77
|
+
written += 1;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
64
80
|
}
|
|
65
81
|
catch (err) {
|
|
66
82
|
console.error(`Error writing ${targetPath}: ${err.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aegis-scan/skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "AEGIS Skills — opt-in skill library for Claude Code and compatible AI agents. Offensive red-team methodology from curated sources, attribution preserved per-file. Multi-source-ready architecture with placeholder directories for future defensive (AEGIS-native) and MITRE-mapped extensions. Third sibling in the AEGIS full-repertoire toolkit alongside @aegis-scan/cli and @aegis-wizard/cli.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "RideMatch1 <230386010+RideMatch1@users.noreply.github.com>",
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
"README.md",
|
|
42
42
|
"LICENSE",
|
|
43
43
|
"ATTRIBUTION.md",
|
|
44
|
-
"CHANGELOG.md"
|
|
44
|
+
"CHANGELOG.md",
|
|
45
|
+
"sbom.cdx.json"
|
|
45
46
|
],
|
|
46
47
|
"type": "module",
|
|
47
48
|
"bin": {
|
package/sbom.cdx.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"bomFormat":"CycloneDX","specVersion":"1.6","serialNumber":"urn:uuid:cb3f76d2-19cc-48cb-a481-51c8ceecb5d4","version":1,"metadata":{"timestamp":"2026-04-27T22:03:31Z","tools":{"components":[{"group":"@cyclonedx","name":"cdxgen","version":"12.1.4","purl":"pkg:npm/%40cyclonedx/cdxgen@12.1.4","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@12.1.4","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}]},"authors":[{"name":"OWASP Foundation"}],"lifecycles":[{"phase":"build"}],"component":{"name":"skills","group":"@aegis-scan","version":"0.2.0","description":"AEGIS Skills — opt-in skill library for Claude Code and compatible AI agents. Offensive red-team methodology from curated sources, attribution preserved per-file. Multi-source-ready architecture with placeholder directories for future defensive (AEGIS-native) and MITRE-mapped extensions. Third sibling in the AEGIS full-repertoire toolkit alongside @aegis-scan/cli and @aegis-wizard/cli.","purl":"pkg:npm/%40aegis-scan/skills@0.2.0","bom-ref":"pkg:npm/@aegis-scan/skills@0.2.0","author":"RideMatch1 <230386010+RideMatch1@users.noreply.github.com>","type":"application","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"externalReferences":[{"type":"vcs","url":"https://github.com/RideMatch1/a.e.g.i.s#readme"},{"type":"vcs","url":"git+https://github.com/RideMatch1/a.e.g.i.s.git"}]},"properties":[{"name":"cdx:bom:componentTypes","value":"npm"},{"name":"cdx:bom:componentNamespaces","value":"@types"},{"name":"cdx:bom:componentSrcFiles","value":"packages/skills/node_modules/@types/node/package.json\\npackages/skills/node_modules/typescript/package.json\\npackages/skills/node_modules/vitest/package.json"}]},"components":[{"authors":[{"name":"Anthony Fu <anthonyfu117@hotmail.com>"}],"group":"","name":"vitest","version":"3.2.4","description":"Next generation testing framework powered by Vite","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/vitest@3.2.4","externalReferences":[{"type":"vcs","url":"https://github.com/vitest-dev/vitest#readme"},{"type":"vcs","url":"git+https://github.com/vitest-dev/vitest.git"}],"type":"framework","bom-ref":"pkg:npm/vitest@3.2.4","properties":[{"name":"SrcFile","value":"packages/skills/node_modules/vitest/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/skills/node_modules/vitest/package.json"}],"concludedValue":"packages/skills/node_modules/vitest/package.json"}]},"tags":["framework"]},{"authors":[{"name":"Microsoft Corp."}],"group":"","name":"typescript","version":"5.9.3","description":"TypeScript is a language for application scale JavaScript development","scope":"optional","licenses":[{"license":{"id":"Apache-2.0","url":"https://opensource.org/licenses/Apache-2.0"}}],"purl":"pkg:npm/typescript@5.9.3","externalReferences":[{"type":"website","url":"https://www.typescriptlang.org/"},{"type":"vcs","url":"https://github.com/microsoft/TypeScript.git"}],"type":"library","bom-ref":"pkg:npm/typescript@5.9.3","properties":[{"name":"SrcFile","value":"packages/skills/node_modules/typescript/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/skills/node_modules/typescript/package.json"}],"concludedValue":"packages/skills/node_modules/typescript/package.json"}]}},{"group":"@types","name":"node","version":"22.19.17","description":"TypeScript definitions for node","scope":"optional","licenses":[{"license":{"id":"MIT","url":"https://opensource.org/licenses/MIT"}}],"purl":"pkg:npm/%40types/node@22.19.17","externalReferences":[{"type":"vcs","url":"https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node"},{"type":"vcs","url":"https://github.com/DefinitelyTyped/DefinitelyTyped.git"}],"type":"library","bom-ref":"pkg:npm/@types/node@22.19.17","properties":[{"name":"SrcFile","value":"packages/skills/node_modules/@types/node/package.json"}],"evidence":{"identity":[{"field":"purl","confidence":0.7,"methods":[{"technique":"manifest-analysis","confidence":0.7,"value":"packages/skills/node_modules/@types/node/package.json"}],"concludedValue":"packages/skills/node_modules/@types/node/package.json"}]}}],"dependencies":[],"annotations":[{"bom-ref":"metadata-annotations","subjects":["pkg:npm/@aegis-scan/skills@0.2.0"],"annotator":{"component":{"group":"@cyclonedx","name":"cdxgen","version":"12.1.4","purl":"pkg:npm/%40cyclonedx/cdxgen@12.1.4","type":"application","bom-ref":"pkg:npm/@cyclonedx/cdxgen@12.1.4","publisher":"OWASP Foundation","authors":[{"name":"OWASP Foundation"}]}},"timestamp":"2026-04-27T22:03:31Z","text":"This Software Bill-of-Materials (SBOM) document was created on Monday, April 27, 2026 with cdxgen. The data was captured during the build lifecycle phase. The document describes an application named 'skills' with version '0.2.0'. The package type in this SBOM is npm with a single purl namespace '@types' described under components. The components were identified from 3 source files."}]}
|