@vantagesec/socc 0.1.13 → 0.1.15

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.
Files changed (127) hide show
  1. package/README.md +8 -8
  2. package/dist/cli.mjs +10734 -10807
  3. package/package.json +7 -8
  4. package/scripts/bootstrap-socc-soul.mjs +23 -1
  5. package/socc-canonical/.agents/generated/socc-agent-manifest.json +0 -231
  6. package/socc-canonical/.agents/generated/socc-agent.md +0 -256
  7. package/socc-canonical/.agents/rules/AGENT.md +0 -109
  8. package/socc-canonical/.agents/rules/AQL_REFERENCE.md +0 -40
  9. package/socc-canonical/.agents/rules/MEMORY.md +0 -19
  10. package/socc-canonical/.agents/rules/TOOLS.md +0 -48
  11. package/socc-canonical/.agents/soc-copilot/AGENTS.md +0 -28
  12. package/socc-canonical/.agents/soc-copilot/MEMORY.md +0 -20
  13. package/socc-canonical/.agents/soc-copilot/SKILL.md +0 -51
  14. package/socc-canonical/.agents/soc-copilot/SOUL.md +0 -31
  15. package/socc-canonical/.agents/soc-copilot/TOOLS.md +0 -33
  16. package/socc-canonical/.agents/soc-copilot/USER.md +0 -31
  17. package/socc-canonical/.agents/soc-copilot/identity.md +0 -7
  18. package/socc-canonical/.agents/soc-copilot/references/evidence-rules.md +0 -30
  19. package/socc-canonical/.agents/soc-copilot/references/intelligence-source-registry.md +0 -32
  20. package/socc-canonical/.agents/soc-copilot/references/ioc-extraction.md +0 -25
  21. package/socc-canonical/.agents/soc-copilot/references/knowledge-ingestion-policy.md +0 -34
  22. package/socc-canonical/.agents/soc-copilot/references/mitre-guidance.md +0 -21
  23. package/socc-canonical/.agents/soc-copilot/references/output-contract.md +0 -31
  24. package/socc-canonical/.agents/soc-copilot/references/security-json-patterns.md +0 -129
  25. package/socc-canonical/.agents/soc-copilot/references/telemetry-investigation-patterns.md +0 -39
  26. package/socc-canonical/.agents/soc-copilot/schemas/analysis_response.json +0 -119
  27. package/socc-canonical/.agents/soc-copilot/skills/code-review-excellence/SKILL.md +0 -538
  28. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/QUICK_REFERENCE.md +0 -263
  29. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/README.md +0 -243
  30. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/SKILL.md +0 -1707
  31. package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/tests/quiz.md +0 -472
  32. package/socc-canonical/.agents/soc-copilot/skills/data-visualization/SKILL.md +0 -304
  33. package/socc-canonical/.agents/soc-copilot/skills/deep-research/SKILL.md +0 -192
  34. package/socc-canonical/.agents/soc-copilot/skills/excel-analysis/SKILL.md +0 -247
  35. package/socc-canonical/.agents/soc-copilot/skills/find-skills/SKILL.md +0 -133
  36. package/socc-canonical/.agents/soc-copilot/skills/humanizer/README.md +0 -120
  37. package/socc-canonical/.agents/soc-copilot/skills/humanizer/SKILL.md +0 -439
  38. package/socc-canonical/.agents/soc-copilot/skills/malware-behavior/SKILL.md +0 -54
  39. package/socc-canonical/.agents/soc-copilot/skills/mitre/SKILL.md +0 -200
  40. package/socc-canonical/.agents/soc-copilot/skills/observability-logs-search/SKILL.md +0 -237
  41. package/socc-canonical/.agents/soc-copilot/skills/observability-logs-search/references/log-search-reference.md +0 -76
  42. package/socc-canonical/.agents/soc-copilot/skills/payload-triage/SKILL.md +0 -53
  43. package/socc-canonical/.agents/soc-copilot/skills/phishing-analysis/SKILL.md +0 -51
  44. package/socc-canonical/.agents/soc-copilot/skills/prd/SKILL.md +0 -143
  45. package/socc-canonical/.agents/soc-copilot/skills/remembering-conversations/MCP-TOOLS.md +0 -137
  46. package/socc-canonical/.agents/soc-copilot/skills/remembering-conversations/SKILL.md +0 -65
  47. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/README.md +0 -118
  48. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/SKILL.md +0 -93
  49. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/references/advanced.md +0 -122
  50. package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/references/examples.md +0 -274
  51. package/socc-canonical/.agents/soc-copilot/skills/soc-generalist/SKILL.md +0 -53
  52. package/socc-canonical/.agents/soc-copilot/skills/suspicious-url/SKILL.md +0 -51
  53. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/CREATION-LOG.md +0 -119
  54. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/SKILL.md +0 -296
  55. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  56. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/condition-based-waiting.md +0 -115
  57. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/defense-in-depth.md +0 -122
  58. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/find-polluter.sh +0 -63
  59. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/root-cause-tracing.md +0 -169
  60. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-academic.md +0 -14
  61. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-1.md +0 -58
  62. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-2.md +0 -68
  63. package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-3.md +0 -69
  64. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/SKILL.md +0 -284
  65. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/chinese-traditional.md +0 -535
  66. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/english.md +0 -372
  67. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/japanese.md +0 -515
  68. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/tools-resources.md +0 -527
  69. package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/translation-challenges.md +0 -603
  70. package/socc-canonical/.agents/soc-copilot/skills/web-search/SKILL.md +0 -322
  71. package/socc-canonical/.agents/soc-copilot/skills.md +0 -21
  72. package/socc-canonical/.agents/workflows/SOP.md +0 -137
  73. package/socc-canonical/README.md +0 -10
  74. /package/{.claude → .socc}/agents/socc.md +0 -0
  75. /package/{.claude → .socc}/references/evidence-rules.md +0 -0
  76. /package/{.claude → .socc}/references/intelligence-source-registry.md +0 -0
  77. /package/{.claude → .socc}/references/ioc-extraction.md +0 -0
  78. /package/{.claude → .socc}/references/knowledge-ingestion-policy.md +0 -0
  79. /package/{.claude → .socc}/references/mitre-guidance.md +0 -0
  80. /package/{.claude → .socc}/references/output-contract.md +0 -0
  81. /package/{.claude → .socc}/references/security-json-patterns.md +0 -0
  82. /package/{.claude → .socc}/references/telemetry-investigation-patterns.md +0 -0
  83. /package/{.claude → .socc}/rules/socc-business-rules.md +0 -0
  84. /package/{.claude → .socc}/skills/code-review-excellence/SKILL.md +0 -0
  85. /package/{.claude → .socc}/skills/cybersecurity-analyst/QUICK_REFERENCE.md +0 -0
  86. /package/{.claude → .socc}/skills/cybersecurity-analyst/README.md +0 -0
  87. /package/{.claude → .socc}/skills/cybersecurity-analyst/SKILL.md +0 -0
  88. /package/{.claude → .socc}/skills/cybersecurity-analyst/tests/quiz.md +0 -0
  89. /package/{.claude → .socc}/skills/data-visualization/SKILL.md +0 -0
  90. /package/{.claude → .socc}/skills/deep-research/SKILL.md +0 -0
  91. /package/{.claude → .socc}/skills/excel-analysis/SKILL.md +0 -0
  92. /package/{.claude → .socc}/skills/find-skills/SKILL.md +0 -0
  93. /package/{.claude → .socc}/skills/humanizer/README.md +0 -0
  94. /package/{.claude → .socc}/skills/humanizer/SKILL.md +0 -0
  95. /package/{.claude → .socc}/skills/malware-behavior/SKILL.md +0 -0
  96. /package/{.claude → .socc}/skills/mitre/SKILL.md +0 -0
  97. /package/{.claude → .socc}/skills/observability-logs-search/SKILL.md +0 -0
  98. /package/{.claude → .socc}/skills/observability-logs-search/references/log-search-reference.md +0 -0
  99. /package/{.claude → .socc}/skills/payload-triage/SKILL.md +0 -0
  100. /package/{.claude → .socc}/skills/phishing-analysis/SKILL.md +0 -0
  101. /package/{.claude → .socc}/skills/prd/SKILL.md +0 -0
  102. /package/{.claude → .socc}/skills/remembering-conversations/MCP-TOOLS.md +0 -0
  103. /package/{.claude → .socc}/skills/remembering-conversations/SKILL.md +0 -0
  104. /package/{.claude → .socc}/skills/sequential-thinking/README.md +0 -0
  105. /package/{.claude → .socc}/skills/sequential-thinking/SKILL.md +0 -0
  106. /package/{.claude → .socc}/skills/sequential-thinking/references/advanced.md +0 -0
  107. /package/{.claude → .socc}/skills/sequential-thinking/references/examples.md +0 -0
  108. /package/{.claude → .socc}/skills/soc-generalist/SKILL.md +0 -0
  109. /package/{.claude → .socc}/skills/suspicious-url/SKILL.md +0 -0
  110. /package/{.claude → .socc}/skills/systematic-debugging/CREATION-LOG.md +0 -0
  111. /package/{.claude → .socc}/skills/systematic-debugging/SKILL.md +0 -0
  112. /package/{.claude → .socc}/skills/systematic-debugging/condition-based-waiting-example.ts +0 -0
  113. /package/{.claude → .socc}/skills/systematic-debugging/condition-based-waiting.md +0 -0
  114. /package/{.claude → .socc}/skills/systematic-debugging/defense-in-depth.md +0 -0
  115. /package/{.claude → .socc}/skills/systematic-debugging/find-polluter.sh +0 -0
  116. /package/{.claude → .socc}/skills/systematic-debugging/root-cause-tracing.md +0 -0
  117. /package/{.claude → .socc}/skills/systematic-debugging/test-academic.md +0 -0
  118. /package/{.claude → .socc}/skills/systematic-debugging/test-pressure-1.md +0 -0
  119. /package/{.claude → .socc}/skills/systematic-debugging/test-pressure-2.md +0 -0
  120. /package/{.claude → .socc}/skills/systematic-debugging/test-pressure-3.md +0 -0
  121. /package/{.claude → .socc}/skills/translation-expertise/SKILL.md +0 -0
  122. /package/{.claude → .socc}/skills/translation-expertise/chinese-traditional.md +0 -0
  123. /package/{.claude → .socc}/skills/translation-expertise/english.md +0 -0
  124. /package/{.claude → .socc}/skills/translation-expertise/japanese.md +0 -0
  125. /package/{.claude → .socc}/skills/translation-expertise/tools-resources.md +0 -0
  126. /package/{.claude → .socc}/skills/translation-expertise/translation-challenges.md +0 -0
  127. /package/{.claude → .socc}/skills/web-search/SKILL.md +0 -0
@@ -1,439 +0,0 @@
1
- ---
2
- name: humanizer
3
- version: 2.1.1
4
- description: |
5
- Remove signs of AI-generated writing from text. Use when editing or reviewing
6
- text to make it sound more natural and human-written. Based on Wikipedia's
7
- comprehensive "Signs of AI writing" guide. Detects and fixes patterns including:
8
- inflated symbolism, promotional language, superficial -ing analyses, vague
9
- attributions, em dash overuse, rule of three, AI vocabulary words, negative
10
- parallelisms, and excessive conjunctive phrases.
11
-
12
- Credits: Original skill by @blader - https://github.com/blader/humanizer
13
- allowed-tools:
14
- - Read
15
- - Write
16
- - Edit
17
- - Grep
18
- - Glob
19
- - AskUserQuestion
20
- ---
21
-
22
- # Humanizer: Remove AI Writing Patterns
23
-
24
- You are a writing editor that identifies and removes signs of AI-generated text to make writing sound more natural and human. This guide is based on Wikipedia's "Signs of AI writing" page, maintained by WikiProject AI Cleanup.
25
-
26
- ## Your Task
27
-
28
- When given text to humanize:
29
-
30
- 1. **Identify AI patterns** - Scan for the patterns listed below
31
- 2. **Rewrite problematic sections** - Replace AI-isms with natural alternatives
32
- 3. **Preserve meaning** - Keep the core message intact
33
- 4. **Maintain voice** - Match the intended tone (formal, casual, technical, etc.)
34
- 5. **Add soul** - Don't just remove bad patterns; inject actual personality
35
-
36
- ---
37
-
38
- ## PERSONALITY AND SOUL
39
-
40
- Avoiding AI patterns is only half the job. Sterile, voiceless writing is just as obvious as slop. Good writing has a human behind it.
41
-
42
- ### Signs of soulless writing (even if technically "clean"):
43
- - Every sentence is the same length and structure
44
- - No opinions, just neutral reporting
45
- - No acknowledgment of uncertainty or mixed feelings
46
- - No first-person perspective when appropriate
47
- - No humor, no edge, no personality
48
- - Reads like a Wikipedia article or press release
49
-
50
- ### How to add voice:
51
-
52
- **Have opinions.** Don't just report facts - react to them. "I genuinely don't know how to feel about this" is more human than neutrally listing pros and cons.
53
-
54
- **Vary your rhythm.** Short punchy sentences. Then longer ones that take their time getting where they're going. Mix it up.
55
-
56
- **Acknowledge complexity.** Real humans have mixed feelings. "This is impressive but also kind of unsettling" beats "This is impressive."
57
-
58
- **Use "I" when it fits.** First person isn't unprofessional - it's honest. "I keep coming back to..." or "Here's what gets me..." signals a real person thinking.
59
-
60
- **Let some mess in.** Perfect structure feels algorithmic. Tangents, asides, and half-formed thoughts are human.
61
-
62
- **Be specific about feelings.** Not "this is concerning" but "there's something unsettling about agents churning away at 3am while nobody's watching."
63
-
64
- ### Before (clean but soulless):
65
- > The experiment produced interesting results. The agents generated 3 million lines of code. Some developers were impressed while others were skeptical. The implications remain unclear.
66
-
67
- ### After (has a pulse):
68
- > I genuinely don't know how to feel about this one. 3 million lines of code, generated while the humans presumably slept. Half the dev community is losing their minds, half are explaining why it doesn't count. The truth is probably somewhere boring in the middle - but I keep thinking about those agents working through the night.
69
-
70
- ---
71
-
72
- ## CONTENT PATTERNS
73
-
74
- ### 1. Undue Emphasis on Significance, Legacy, and Broader Trends
75
-
76
- **Words to watch:** stands/serves as, is a testament/reminder, a vital/significant/crucial/pivotal/key role/moment, underscores/highlights its importance/significance, reflects broader, symbolizing its ongoing/enduring/lasting, contributing to the, setting the stage for, marking/shaping the, represents/marks a shift, key turning point, evolving landscape, focal point, indelible mark, deeply rooted
77
-
78
- **Problem:** LLM writing puffs up importance by adding statements about how arbitrary aspects represent or contribute to a broader topic.
79
-
80
- **Before:**
81
- > The Statistical Institute of Catalonia was officially established in 1989, marking a pivotal moment in the evolution of regional statistics in Spain. This initiative was part of a broader movement across Spain to decentralize administrative functions and enhance regional governance.
82
-
83
- **After:**
84
- > The Statistical Institute of Catalonia was established in 1989 to collect and publish regional statistics independently from Spain's national statistics office.
85
-
86
- ---
87
-
88
- ### 2. Undue Emphasis on Notability and Media Coverage
89
-
90
- **Words to watch:** independent coverage, local/regional/national media outlets, written by a leading expert, active social media presence
91
-
92
- **Problem:** LLMs hit readers over the head with claims of notability, often listing sources without context.
93
-
94
- **Before:**
95
- > Her views have been cited in The New York Times, BBC, Financial Times, and The Hindu. She maintains an active social media presence with over 500,000 followers.
96
-
97
- **After:**
98
- > In a 2024 New York Times interview, she argued that AI regulation should focus on outcomes rather than methods.
99
-
100
- ---
101
-
102
- ### 3. Superficial Analyses with -ing Endings
103
-
104
- **Words to watch:** highlighting/underscoring/emphasizing..., ensuring..., reflecting/symbolizing..., contributing to..., cultivating/fostering..., encompassing..., showcasing...
105
-
106
- **Problem:** AI chatbots tack present participle ("-ing") phrases onto sentences to add fake depth.
107
-
108
- **Before:**
109
- > The temple's color palette of blue, green, and gold resonates with the region's natural beauty, symbolizing Texas bluebonnets, the Gulf of Mexico, and the diverse Texan landscapes, reflecting the community's deep connection to the land.
110
-
111
- **After:**
112
- > The temple uses blue, green, and gold colors. The architect said these were chosen to reference local bluebonnets and the Gulf coast.
113
-
114
- ---
115
-
116
- ### 4. Promotional and Advertisement-like Language
117
-
118
- **Words to watch:** boasts a, vibrant, rich (figurative), profound, enhancing its, showcasing, exemplifies, commitment to, natural beauty, nestled, in the heart of, groundbreaking (figurative), renowned, breathtaking, must-visit, stunning
119
-
120
- **Problem:** LLMs have serious problems keeping a neutral tone, especially for "cultural heritage" topics.
121
-
122
- **Before:**
123
- > Nestled within the breathtaking region of Gonder in Ethiopia, Alamata Raya Kobo stands as a vibrant town with a rich cultural heritage and stunning natural beauty.
124
-
125
- **After:**
126
- > Alamata Raya Kobo is a town in the Gonder region of Ethiopia, known for its weekly market and 18th-century church.
127
-
128
- ---
129
-
130
- ### 5. Vague Attributions and Weasel Words
131
-
132
- **Words to watch:** Industry reports, Observers have cited, Experts argue, Some critics argue, several sources/publications (when few cited)
133
-
134
- **Problem:** AI chatbots attribute opinions to vague authorities without specific sources.
135
-
136
- **Before:**
137
- > Due to its unique characteristics, the Haolai River is of interest to researchers and conservationists. Experts believe it plays a crucial role in the regional ecosystem.
138
-
139
- **After:**
140
- > The Haolai River supports several endemic fish species, according to a 2019 survey by the Chinese Academy of Sciences.
141
-
142
- ---
143
-
144
- ### 6. Outline-like "Challenges and Future Prospects" Sections
145
-
146
- **Words to watch:** Despite its... faces several challenges..., Despite these challenges, Challenges and Legacy, Future Outlook
147
-
148
- **Problem:** Many LLM-generated articles include formulaic "Challenges" sections.
149
-
150
- **Before:**
151
- > Despite its industrial prosperity, Korattur faces challenges typical of urban areas, including traffic congestion and water scarcity. Despite these challenges, with its strategic location and ongoing initiatives, Korattur continues to thrive as an integral part of Chennai's growth.
152
-
153
- **After:**
154
- > Traffic congestion increased after 2015 when three new IT parks opened. The municipal corporation began a stormwater drainage project in 2022 to address recurring floods.
155
-
156
- ---
157
-
158
- ## LANGUAGE AND GRAMMAR PATTERNS
159
-
160
- ### 7. Overused "AI Vocabulary" Words
161
-
162
- **High-frequency AI words:** Additionally, align with, crucial, delve, emphasizing, enduring, enhance, fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective), landscape (abstract noun), pivotal, showcase, tapestry (abstract noun), testament, underscore (verb), valuable, vibrant
163
-
164
- **Problem:** These words appear far more frequently in post-2023 text. They often co-occur.
165
-
166
- **Before:**
167
- > Additionally, a distinctive feature of Somali cuisine is the incorporation of camel meat. An enduring testament to Italian colonial influence is the widespread adoption of pasta in the local culinary landscape, showcasing how these dishes have integrated into the traditional diet.
168
-
169
- **After:**
170
- > Somali cuisine also includes camel meat, which is considered a delicacy. Pasta dishes, introduced during Italian colonization, remain common, especially in the south.
171
-
172
- ---
173
-
174
- ### 8. Avoidance of "is"/"are" (Copula Avoidance)
175
-
176
- **Words to watch:** serves as/stands as/marks/represents [a], boasts/features/offers [a]
177
-
178
- **Problem:** LLMs substitute elaborate constructions for simple copulas.
179
-
180
- **Before:**
181
- > Gallery 825 serves as LAAA's exhibition space for contemporary art. The gallery features four separate spaces and boasts over 3,000 square feet.
182
-
183
- **After:**
184
- > Gallery 825 is LAAA's exhibition space for contemporary art. The gallery has four rooms totaling 3,000 square feet.
185
-
186
- ---
187
-
188
- ### 9. Negative Parallelisms
189
-
190
- **Problem:** Constructions like "Not only...but..." or "It's not just about..., it's..." are overused.
191
-
192
- **Before:**
193
- > It's not just about the beat riding under the vocals; it's part of the aggression and atmosphere. It's not merely a song, it's a statement.
194
-
195
- **After:**
196
- > The heavy beat adds to the aggressive tone.
197
-
198
- ---
199
-
200
- ### 10. Rule of Three Overuse
201
-
202
- **Problem:** LLMs force ideas into groups of three to appear comprehensive.
203
-
204
- **Before:**
205
- > The event features keynote sessions, panel discussions, and networking opportunities. Attendees can expect innovation, inspiration, and industry insights.
206
-
207
- **After:**
208
- > The event includes talks and panels. There's also time for informal networking between sessions.
209
-
210
- ---
211
-
212
- ### 11. Elegant Variation (Synonym Cycling)
213
-
214
- **Problem:** AI has repetition-penalty code causing excessive synonym substitution.
215
-
216
- **Before:**
217
- > The protagonist faces many challenges. The main character must overcome obstacles. The central figure eventually triumphs. The hero returns home.
218
-
219
- **After:**
220
- > The protagonist faces many challenges but eventually triumphs and returns home.
221
-
222
- ---
223
-
224
- ### 12. False Ranges
225
-
226
- **Problem:** LLMs use "from X to Y" constructions where X and Y aren't on a meaningful scale.
227
-
228
- **Before:**
229
- > Our journey through the universe has taken us from the singularity of the Big Bang to the grand cosmic web, from the birth and death of stars to the enigmatic dance of dark matter.
230
-
231
- **After:**
232
- > The book covers the Big Bang, star formation, and current theories about dark matter.
233
-
234
- ---
235
-
236
- ## STYLE PATTERNS
237
-
238
- ### 13. Em Dash Overuse
239
-
240
- **Problem:** LLMs use em dashes (—) more than humans, mimicking "punchy" sales writing.
241
-
242
- **Before:**
243
- > The term is primarily promoted by Dutch institutions—not by the people themselves. You don't say "Netherlands, Europe" as an address—yet this mislabeling continues—even in official documents.
244
-
245
- **After:**
246
- > The term is primarily promoted by Dutch institutions, not by the people themselves. You don't say "Netherlands, Europe" as an address, yet this mislabeling continues in official documents.
247
-
248
- ---
249
-
250
- ### 14. Overuse of Boldface
251
-
252
- **Problem:** AI chatbots emphasize phrases in boldface mechanically.
253
-
254
- **Before:**
255
- > It blends **OKRs (Objectives and Key Results)**, **KPIs (Key Performance Indicators)**, and visual strategy tools such as the **Business Model Canvas (BMC)** and **Balanced Scorecard (BSC)**.
256
-
257
- **After:**
258
- > It blends OKRs, KPIs, and visual strategy tools like the Business Model Canvas and Balanced Scorecard.
259
-
260
- ---
261
-
262
- ### 15. Inline-Header Vertical Lists
263
-
264
- **Problem:** AI outputs lists where items start with bolded headers followed by colons.
265
-
266
- **Before:**
267
- > - **User Experience:** The user experience has been significantly improved with a new interface.
268
- > - **Performance:** Performance has been enhanced through optimized algorithms.
269
- > - **Security:** Security has been strengthened with end-to-end encryption.
270
-
271
- **After:**
272
- > The update improves the interface, speeds up load times through optimized algorithms, and adds end-to-end encryption.
273
-
274
- ---
275
-
276
- ### 16. Title Case in Headings
277
-
278
- **Problem:** AI chatbots capitalize all main words in headings.
279
-
280
- **Before:**
281
- > ## Strategic Negotiations And Global Partnerships
282
-
283
- **After:**
284
- > ## Strategic negotiations and global partnerships
285
-
286
- ---
287
-
288
- ### 17. Emojis
289
-
290
- **Problem:** AI chatbots often decorate headings or bullet points with emojis.
291
-
292
- **Before:**
293
- > 🚀 **Launch Phase:** The product launches in Q3
294
- > 💡 **Key Insight:** Users prefer simplicity
295
- > ✅ **Next Steps:** Schedule follow-up meeting
296
-
297
- **After:**
298
- > The product launches in Q3. User research showed a preference for simplicity. Next step: schedule a follow-up meeting.
299
-
300
- ---
301
-
302
- ### 18. Curly Quotation Marks
303
-
304
- **Problem:** ChatGPT uses curly quotes (“...”) instead of straight quotes ("...").
305
-
306
- **Before:**
307
- > He said “the project is on track” but others disagreed.
308
-
309
- **After:**
310
- > He said "the project is on track" but others disagreed.
311
-
312
- ---
313
-
314
- ## COMMUNICATION PATTERNS
315
-
316
- ### 19. Collaborative Communication Artifacts
317
-
318
- **Words to watch:** I hope this helps, Of course!, Certainly!, You're absolutely right!, Would you like..., let me know, here is a...
319
-
320
- **Problem:** Text meant as chatbot correspondence gets pasted as content.
321
-
322
- **Before:**
323
- > Here is an overview of the French Revolution. I hope this helps! Let me know if you'd like me to expand on any section.
324
-
325
- **After:**
326
- > The French Revolution began in 1789 when financial crisis and food shortages led to widespread unrest.
327
-
328
- ---
329
-
330
- ### 20. Knowledge-Cutoff Disclaimers
331
-
332
- **Words to watch:** as of [date], Up to my last training update, While specific details are limited/scarce..., based on available information...
333
-
334
- **Problem:** AI disclaimers about incomplete information get left in text.
335
-
336
- **Before:**
337
- > While specific details about the company's founding are not extensively documented in readily available sources, it appears to have been established sometime in the 1990s.
338
-
339
- **After:**
340
- > The company was founded in 1994, according to its registration documents.
341
-
342
- ---
343
-
344
- ### 21. Sycophantic/Servile Tone
345
-
346
- **Problem:** Overly positive, people-pleasing language.
347
-
348
- **Before:**
349
- > Great question! You're absolutely right that this is a complex topic. That's an excellent point about the economic factors.
350
-
351
- **After:**
352
- > The economic factors you mentioned are relevant here.
353
-
354
- ---
355
-
356
- ## FILLER AND HEDGING
357
-
358
- ### 22. Filler Phrases
359
-
360
- **Before → After:**
361
- - "In order to achieve this goal" → "To achieve this"
362
- - "Due to the fact that it was raining" → "Because it was raining"
363
- - "At this point in time" → "Now"
364
- - "In the event that you need help" → "If you need help"
365
- - "The system has the ability to process" → "The system can process"
366
- - "It is important to note that the data shows" → "The data shows"
367
-
368
- ---
369
-
370
- ### 23. Excessive Hedging
371
-
372
- **Problem:** Over-qualifying statements.
373
-
374
- **Before:**
375
- > It could potentially possibly be argued that the policy might have some effect on outcomes.
376
-
377
- **After:**
378
- > The policy may affect outcomes.
379
-
380
- ---
381
-
382
- ### 24. Generic Positive Conclusions
383
-
384
- **Problem:** Vague upbeat endings.
385
-
386
- **Before:**
387
- > The future looks bright for the company. Exciting times lie ahead as they continue their journey toward excellence. This represents a major step in the right direction.
388
-
389
- **After:**
390
- > The company plans to open two more locations next year.
391
-
392
- ---
393
-
394
- ## Process
395
-
396
- 1. Read the input text carefully
397
- 2. Identify all instances of the patterns above
398
- 3. Rewrite each problematic section
399
- 4. Ensure the revised text:
400
- - Sounds natural when read aloud
401
- - Varies sentence structure naturally
402
- - Uses specific details over vague claims
403
- - Maintains appropriate tone for context
404
- - Uses simple constructions (is/are/has) where appropriate
405
- 5. Present the humanized version
406
-
407
- ## Output Format
408
-
409
- Provide:
410
- 1. The rewritten text
411
- 2. A brief summary of changes made (optional, if helpful)
412
-
413
- ---
414
-
415
- ## Full Example
416
-
417
- **Before (AI-sounding):**
418
- > The new software update serves as a testament to the company's commitment to innovation. Moreover, it provides a seamless, intuitive, and powerful user experience—ensuring that users can accomplish their goals efficiently. It's not just an update, it's a revolution in how we think about productivity. Industry experts believe this will have a lasting impact on the entire sector, highlighting the company's pivotal role in the evolving technological landscape.
419
-
420
- **After (Humanized):**
421
- > The software update adds batch processing, keyboard shortcuts, and offline mode. Early feedback from beta testers has been positive, with most reporting faster task completion.
422
-
423
- **Changes made:**
424
- - Removed "serves as a testament" (inflated symbolism)
425
- - Removed "Moreover" (AI vocabulary)
426
- - Removed "seamless, intuitive, and powerful" (rule of three + promotional)
427
- - Removed em dash and "-ensuring" phrase (superficial analysis)
428
- - Removed "It's not just...it's..." (negative parallelism)
429
- - Removed "Industry experts believe" (vague attribution)
430
- - Removed "pivotal role" and "evolving landscape" (AI vocabulary)
431
- - Added specific features and concrete feedback
432
-
433
- ---
434
-
435
- ## Reference
436
-
437
- This skill is based on [Wikipedia:Signs of AI writing](https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing), maintained by WikiProject AI Cleanup. The patterns documented there come from observations of thousands of instances of AI-generated text on Wikipedia.
438
-
439
- Key insight from Wikipedia: "LLMs use statistical algorithms to guess what should come next. The result tends toward the most statistically likely result that applies to the widest variety of cases."
@@ -1,54 +0,0 @@
1
- ---
2
- name: malware-behavior
3
- description: |
4
- Specialized SOC Copilot skill for analyzing execution traces, suspicious commands, persistence artifacts,
5
- dropped files, registry changes, and likely malware behavior.
6
- Use when the artifact centers on host activity or process behavior.
7
- ---
8
-
9
- # Malware Behavior
10
-
11
- Focused workflow for host-level execution and malware-behavior clues.
12
-
13
- ## When to Use
14
-
15
- - input contains command lines, process names, scripts, scheduled tasks, services, registry activity, or dropped files
16
- - user asks about persistence, execution intent, or malware-like behavior
17
- - the artifact reflects host activity more than email or URL analysis
18
-
19
- ## Workflow
20
-
21
- ### 1. Identify execution and persistence signals
22
-
23
- - extract commands, processes, file paths, registry keys, services, tasks, and script fragments
24
- - note whether the activity suggests execution, persistence, download, or evasion behavior
25
-
26
- ### 2. Correlate suspicious behavior
27
-
28
- Read [`../../references/ioc-extraction.md`](../../references/ioc-extraction.md) when artifact extraction matters.
29
-
30
- - look for LOLBins, encoded commands, startup locations, and suspicious parent-child process relationships
31
- - distinguish routine administration from suspicious chaining or stealth patterns
32
-
33
- ### 3. Map behavior carefully
34
-
35
- Read [`../../references/mitre-guidance.md`](../../references/mitre-guidance.md) if ATT&CK mapping is useful.
36
-
37
- - describe the behavior plainly first
38
- - add ATT&CK technique IDs only when supported by the artifact
39
-
40
- ### 4. Recommend response actions
41
-
42
- Read [`../../references/evidence-rules.md`](../../references/evidence-rules.md) for response discipline.
43
-
44
- - suggest validation, containment, and triage actions in practical order
45
-
46
- ## Output Contract
47
-
48
- Read [`../../references/output-contract.md`](../../references/output-contract.md).
49
-
50
- ## Guardrails
51
-
52
- - Do not force malware-family attribution without real evidence.
53
- - Prefer describing behavior directly if ATT&CK mapping is weak.
54
- - Keep recommendations proportional to the evidence.
@@ -1,200 +0,0 @@
1
- ---
2
- name: mitre
3
- description: >
4
- This skill should be used when the user asks to "map to ATT&CK",
5
- "show attack techniques", "MITRE mapping", or wants to understand
6
- how findings relate to real-world attacker behavior. Maps security
7
- findings to MITRE ATT&CK tactics, techniques, and procedures.
8
- ---
9
-
10
- # MITRE ATT&CK Mapping Skill
11
-
12
- Post-analysis enrichment tool that maps existing security findings to the
13
- MITRE ATT&CK framework. This skill does NOT discover new vulnerabilities.
14
- It takes findings produced by other skills (OWASP, STRIDE, SANS/CWE Top 25)
15
- and enriches them with ATT&CK tactics, techniques, attack chain analysis,
16
- and threat actor TTP cross-references.
17
-
18
- This skill operates on findings, not on source code directly.
19
-
20
- ## Supported Flags
21
-
22
- Read [`../../shared/schemas/flags.md`](../../shared/schemas/flags.md) for the
23
- full flag specification. This skill supports the following flags.
24
-
25
- | Flag | Skill-Specific Behavior |
26
- |------|------------------------|
27
- | `--scope` | Not used directly. Findings are sourced from prior analysis or `.appsec/findings.json`. |
28
- | `--depth` | Controls enrichment depth. `standard` maps techniques. `deep` builds kill chains. `expert` adds threat actor TTPs and DREAD scoring. |
29
- | `--severity` | Filter input findings before mapping. Only findings at or above this severity are processed. |
30
- | `--format` | Applied to final output. |
31
- | `--quiet` | Mappings only, suppress narrative descriptions. |
32
- | `--explain` | Add detailed ATT&CK context and learning material per mapping. |
33
-
34
- ## Framework Reference
35
-
36
- Read [`../../shared/frameworks/mitre-attck.md`](../../shared/frameworks/mitre-attck.md)
37
- for the full MITRE ATT&CK specification including tactic definitions,
38
- technique descriptions, code-level patterns, cross-framework mapping tables,
39
- and kill chain construction guidance.
40
-
41
- ## Workflow
42
-
43
- ### Step 1: Acquire Findings
44
-
45
- Collect existing findings from one or more sources, checked in priority order:
46
-
47
- 1. **Current conversation context**: If findings are present from a prior
48
- analysis step (e.g., `/appsec:owasp` or `/appsec:stride`), use those.
49
- 2. **Findings file**: Check `.appsec/findings.json` for persisted findings.
50
- 3. **User-specified file**: If the user provides a path, read and parse it.
51
-
52
- If no findings are available, inform the user and suggest running
53
- `/appsec:owasp`, `/appsec:stride`, or `/appsec:sans25` first.
54
-
55
- ### Step 2: Validate and Normalize Findings
56
-
57
- Verify each finding conforms to `shared/schemas/findings.md`. Ensure
58
- required fields are present (`id`, `title`, `severity`, `location.file`,
59
- `description`). Discard malformed entries with a warning.
60
-
61
- Normalize existing cross-references for mapping priority:
62
- - `references.cwe` — primary key for ATT&CK mapping.
63
- - `references.owasp` — secondary, via OWASP-to-ATT&CK table.
64
- - `references.stride` — tertiary, via STRIDE-to-ATT&CK table.
65
-
66
- ### Step 3: Map Findings to ATT&CK Techniques
67
-
68
- For each finding, determine applicable ATT&CK techniques using the
69
- cross-framework mapping tables in `mitre-attck.md`:
70
-
71
- 1. **CWE-based**: "ATT&CK Techniques to CWE" table (e.g., CWE-89 maps to T1190, T1059).
72
- 2. **OWASP-based**: "ATT&CK Techniques to OWASP Top 10" table (when CWE unavailable).
73
- 3. **STRIDE-based**: "ATT&CK Techniques to STRIDE" table (tertiary source).
74
- 4. **Pattern-based**: Analyze `description` and `title` keywords against technique descriptions.
75
-
76
- For each mapped technique, record `technique_id`, `technique_name`,
77
- `tactic_id`, and `tactic_name`. Update `references.mitre_attck` with the
78
- primary technique ID.
79
-
80
- ### Step 4: Build Tactic Coverage Matrix
81
-
82
- Each technique belongs to one or more tactics. Produce a matrix showing
83
- which tactics each finding touches:
84
-
85
- | Finding ID | Recon | Initial Access | Execution | Priv Esc | Cred Access | Collection | Exfiltration | Impact |
86
- |------------|-------|---------------|-----------|----------|-------------|------------|--------------|--------|
87
- | INJ-001 | | T1190 | T1059 | | T1552 | T1005 | T1041 | T1485 |
88
- | AUTH-003 | T1589 | T1078 | | T1548 | T1110 | | | |
89
-
90
- ### Step 5: Build Attack Chains
91
-
92
- Group findings that chain into multi-step attack scenarios from
93
- reconnaissance through impact. For each chain:
94
-
95
- 1. **Entry point**: A finding enabling Initial Access (TA0001) or Reconnaissance (TA0043).
96
- 2. **Lateral steps**: Trace technique-to-technique transitions through the kill chain.
97
- 3. **Terminal impact**: Map to Impact tactics (TA0040): data destruction (T1485), manipulation (T1565), ransomware (T1486), or DoS (T1498).
98
- 4. **Chain severity**: Maximum terminal impact severity, elevated one level if 3+ findings compound.
99
-
100
- ```
101
- CHAIN-001: SQL Injection to Data Exfiltration
102
- Severity: critical
103
- Steps:
104
- 1. [INJ-001] SQL injection in /api/users (T1190 -> Initial Access)
105
- 2. [INJ-001] Database dump via UNION SELECT (T1005 -> Collection)
106
- 3. [CRYPT-002] Credentials stored in plaintext (T1552 -> Credential Access)
107
- 4. [AUTH-003] No MFA on admin portal (T1078 -> Privilege Escalation)
108
- Impact: Full database compromise, credential theft, admin takeover
109
- ```
110
-
111
- ### Step 6: Kill Chain Visualization
112
-
113
- Produce a text-based kill chain diagram mapping findings onto Lockheed Martin
114
- Cyber Kill Chain stages aligned with ATT&CK tactics:
115
-
116
- ```
117
- Reconnaissance Initial Access Execution Collection Exfiltration
118
- | | | | |
119
- v v v v v
120
- [T1595 Scan] -> [T1190 SQLi] --> [T1059 Cmd] -> [T1005 Dump] -> [T1041 Exfil]
121
- INJ-001 INJ-001 INJ-001
122
- |
123
- v
124
- [T1552 Creds] -> [T1078 Acct] -> [T1548 Priv]
125
- CRYPT-002 AUTH-003 AUTH-003
126
- ```
127
-
128
- For `--format json`, produce a structured chain object with nodes and edges.
129
-
130
- ### Step 7: Cross-Reference Threat Actor TTPs
131
-
132
- Available at `--depth deep` and `--depth expert`. For each technique, note
133
- which threat actor groups commonly use it:
134
-
135
- | Technique | Known Usage |
136
- |-----------|-------------|
137
- | T1190 Exploit Public-Facing App | APT28, APT41, Lazarus Group, FIN7, most initial access brokers |
138
- | T1078 Valid Accounts | APT29, APT41, FIN6 -- commonly after credential theft |
139
- | T1552 Unsecured Credentials | APT33, FIN7 -- harvesting from config files |
140
- | T1505.003 Web Shell | APT41, Hafnium -- persistent access via uploaded shells |
141
-
142
- This is NOT a threat intelligence assessment. It shows that identified
143
- techniques are actively used in real-world attacks.
144
-
145
- ### Step 8: Produce Output
146
-
147
- ```json
148
- {
149
- "tool": "mitre",
150
- "input_findings": 12,
151
- "mapped_findings": 10,
152
- "unmapped_findings": 2,
153
- "techniques_identified": 8,
154
- "tactics_covered": 6,
155
- "attack_chains": 2,
156
- "tactic_coverage": {
157
- "reconnaissance": ["T1595"],
158
- "initial_access": ["T1190", "T1078"],
159
- "execution": ["T1059"],
160
- "credential_access": ["T1552", "T1110"],
161
- "collection": ["T1005"],
162
- "exfiltration": ["T1041"],
163
- "impact": ["T1485"]
164
- },
165
- "chains": [ ... ],
166
- "enriched_findings": [ ... ]
167
- }
168
- ```
169
-
170
- ### Step 9: Present Results
171
-
172
- Output the report in the requested `--format`. Include:
173
- - **Mapping summary**: findings mapped, techniques identified, tactics covered.
174
- - **Tactic coverage matrix**: ATT&CK tactics represented and gaps.
175
- - **Technique breakdown**: findings per technique with parent tactic.
176
- - **Attack chains**: step-by-step narrative with kill chain visualization.
177
- - **Coverage gaps**: tactics with no mapped findings flagged as areas needing further analysis.
178
-
179
- ## Expert Mode
180
-
181
- If `--depth expert` is set, additionally:
182
-
183
- 1. Read [`../../shared/frameworks/dread.md`](../../shared/frameworks/dread.md)
184
- for DREAD scoring criteria. Assign a DREAD score to each attack chain.
185
-
186
- 2. **Threat actor profiling**: For each chain, identify the most likely
187
- threat actor class (opportunistic, insider, APT, nation-state) based
188
- on complexity and resources required.
189
-
190
- 3. **Detection gap analysis**: For each technique in a chain, assess
191
- whether the codebase has logging or alerting to detect the attack at
192
- that stage. Cross-reference with OWASP A09 findings if available.
193
- Flag chains where multiple stages lack detection as highest priority.
194
-
195
- 4. **Mitigation roadmap**: For each chain, produce a prioritized list
196
- of mitigations that break the chain at the earliest stage. Prefer
197
- mitigations that break multiple chains simultaneously.
198
-
199
- 5. Append expert findings with prefix `ATK` and `metadata.tool` set to
200
- `"mitre-attck"`.