ソース情報
- リポジトリ
- jmagly/aiwg
- ソースの最終更新活動
- 2026年5月10日 05:20
- 検出された SKILL.md の言語
- 英語
- スター
- 178
- フォーク
- 26
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/jmagly/aiwg --skill forensics-investigateコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
WCAG accessibility analysis for color palettes including contrast ratios, compliance checking, and remediation suggestions. Use when user needs to verify colors meet accessibility standards.
Generate, analyze, compare, export, and suggest color palettes using color theory. Use when user asks about colors, palettes, color schemes, or needs help choosing colors for a project.
Research current color trends from Pantone, architecture, film, and design. Use when user asks about trending colors, popular palettes, or wants research-backed color inspiration.
SOC 職業分類に基づく
SKILL.md を表示中
| namespace | aiwg |
| name | forensics-investigate |
| platforms | ["all"] |
| description | Full multi-agent investigation workflow |
| commandHint | {"argumentHint":"<target> [--scope triage|full|targeted-ssh|container|cloud] [--skip-stage stage]","category":"forensics-investigation"} |
Orchestrate a complete digital forensics investigation by coordinating all specialized agents through the full workflow: reconnaissance, triage, acquisition, multi-domain analysis, timeline building, IOC extraction, and report generation. Suitable for incident response and proactive threat hunting.
/forensics-investigate <target> [options]
| Argument | Required | Description |
|---|---|---|
| target | Yes | SSH connection string, cloud target, or findings directory path |
| --scope | No | Investigation scope: triage, full, targeted-ssh, container, cloud (default: full) |
| --skip-stage | No | Skip a specific stage: recon, triage, acquire, analysis, timeline, ioc, report |
| --resume | No | Resume a previously interrupted investigation from last checkpoint |
| --output | No | Output directory (default: .aiwg/forensics/) |
| --parallel | No | Run analysis agents in parallel where possible (default: true) |
| --notify | No | Webhook URL for stage completion notifications |
When invoked, this command:
Initialize Investigation
.aiwg/forensics/INV-<date>-<host>)Reconnaissance (recon-agent)
profiles/<hostname>/Triage (triage-agent)
findings/<hostname>/volatile/Acquisition (forensic-acquisition-agent)
acquisition/Analysis (parallel agent coordination)
analysis/<agent>/Timeline Building (timeline-builder)
timeline/incident-timeline.mdIOC Extraction (ioc-analyst)
ioc/ioc-register.mdWhen a target profile exists at .aiwg/forensics/profiles/<hostname>-<date>/system-profile.md, forensics-investigate reads it before generating the investigation plan. This enables the plan to contain parameterized, host-specific commands instead of generic placeholders.
The command resolves the profile path from the target argument:
ssh://admin@web01 → web01).aiwg/forensics/profiles/ for directories matching <hostname>-*web01-2026-02-27/)system-profile.md (human-readable) and system-profile.json (machine-readable) from that directory/forensics-profile firstThe investigation plan's Target Profile Reference section is populated from the resolved path:
target_profile_path: .aiwg/forensics/profiles/web01-2026-02-27/system-profile.md
profile_date: 2026-02-27
The following profile fields are extracted and substituted into investigation plan commands:
| Profile Field | Plan Variable | Example Usage |
|---|---|---|
| Hostname | {{hostname}} | last -n 50 web01 |
| Case ID | {{case_id}} | ps auxf > /tmp/INV-2026-02-27-web01_ps_snapshot.txt |
| Users with shell access | {{expected_users}} | Auth log grep patterns scoped to known accounts |
| Running services list | {{expected_service_pattern}} | `lsof -i |
| Listening ports | {{expected_ports}} | Connection count alert comparison |
| Investigation date | {{investigation_date}} | journalctl --since "2026-02-27 00:00:00" |
| Log lookback window | {{log_lookback_days}} | --since timestamps for auth and syslog queries |
| Timeline window | {{timeline_window_days}} | find / -newer reference marker |
| Large file threshold | {{large_file_threshold_mb}} | find / -size +100M |
| Connection alert threshold | {{connection_count_alert_threshold}} | awk '$1 >= 20' in network phase |
| Failed login threshold | {{failed_login_threshold}} | Alert threshold in auth analysis |
| Package manager | {{package_manager_history_command}} | Distro-appropriate package history command |
| Log file paths | {{web_access_log}} | Service-specific log path substitution |
| Evidence storage path | {{evidence_storage_path}} | Evidence collection target directory |
| Escalation contact | {{escalation_contact}} | Red flag notification target |
User and authentication commands in Phase 2 are scoped to the known account list from the profile's Users with Shell Access table. For example, if the profile documents admin, deploy, and root, the SSH key sweep is limited to those home directories rather than iterating all of /home.
Phase 3 (Process and Service Audit) and Phase 7 (Log Analysis) include service-specific checks only for services listed in the profile's Services and Ports table with Expected: Yes.
The command applies these rules:
| Service Present in Profile | Checks Included |
|---|---|
nginx or apache2 | Web access log parsing, HTTP error pattern grep |
mysqld or postgresql | Database error log check, unusual connection sources |
sshd | SSH auth failure threshold, authorized_keys sweep |
docker / containerd | Phase 8 (Container / Docker Audit) is included; otherwise skipped |
| No container runtime listed | Phase 8 is excluded from the generated plan with a note |
| Cloud metadata service detected | Cloud Analyst agent is added to the Phase 5 parallel pool |
The Phase 8 section header in the generated plan reflects the include/exclude decision explicitly:
### Phase 8: Container / Docker Audit
> INCLUDED — docker detected in target profile (3 running containers at baseline)
or:
### Phase 8: Container / Docker Audit
> SKIPPED — no container runtime in target profile
Services not present in the profile that are found running during triage are flagged as anomalies in the triage summary and receive targeted investigation commands appended to Phase 3.
The profile's Services and Ports and Network Baseline sections establish what is normal. The generated plan encodes these baselines directly into triage commands:
Port baseline — The expected listening ports from the profile (e.g., 22, 80, 443, 3306) are embedded in the Phase 6 network check. Any port reported by ss -tlnpu that is not in this list is flagged inline:
# Ports not in baseline (web01 profile: 22, 80, 443, 3306)
ss -tlnpu | awk 'NR>1 {print $5}' | grep -oP ':\K[0-9]+' | sort -un \
| grep -vE '^(22|80|443|3306)$' | while read p; do echo "UNEXPECTED PORT: $p"; done
Outbound connection baseline — The expected outbound destinations from the profile's Expected Outbound Connections table are embedded in the network phase as an allowlist. Connections to destinations outside this list are flagged for review.
User baseline — The known shell-access accounts from the profile are compared against getent passwd output at investigation time. New accounts not in the profile are flagged in Phase 2 as potential persistence artifacts.
Container baseline — If the profile includes a Running Containers (Baseline) table, the generated plan compares current docker ps output against that baseline. Containers not present at profile time are flagged as anomalous in Phase 8.
Failed login threshold — The failed_login_threshold from the profile's Investigation Scope Configuration block (default: 10) is substituted into the auth log grep commands. Accounts exceeding this threshold in Phase 2 are surfaced as priority findings.
| Scope | Stages | Use Case |
|---|---|---|
triage | recon, triage | Initial rapid assessment |
targeted-ssh | recon, triage, acquire, logs, persistence, network | SSH-compromised host |
container | recon, triage, acquire, container, network | Container escape or image compromise |
cloud | recon, acquire, cloud, ioc, report | Cloud account breach |
full | All stages | Comprehensive incident response |
/forensics-investigate ssh://admin@192.168.1.50 --scope full
/forensics-investigate ssh://admin@192.168.1.50 --scope triage
/forensics-investigate ssh://root@docker-host --scope container
/forensics-investigate aws://123456789012/us-east-1 --scope cloud
/forensics-investigate ssh://admin@192.168.1.50 --resume
/forensics-investigate ssh://admin@host --scope full --skip-stage memory
All artifacts are saved under .aiwg/forensics/:
.aiwg/forensics/
├── investigation.yaml # Investigation metadata and state
├── profiles/
│ └── web01-2026-02-27/
│ └── system-profile.md
├── findings/
│ └── web01-2026-02-27/
│ ├── triage-summary.md
│ └── volatile/
├── acquisition/
│ ├── evidence-manifest.yaml
│ └── custody-log.yaml
├── analysis/
│ ├── logs/
│ ├── persistence/
│ ├── network/
│ └── ioc/
├── timeline/
│ └── incident-timeline.md
├── ioc/
│ └── ioc-register.md
└── reports/
└── forensic-report.md
Investigation: INV-2026-02-27-web01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[14:30:00] Stage 1/8: Reconnaissance RUNNING
[14:31:42] Stage 1/8: Reconnaissance COMPLETE (102s)
[14:31:42] Stage 2/8: Triage RUNNING
[14:34:15] Stage 2/8: Triage COMPLETE (153s) [CRITICAL - active compromise]
[14:34:15] Stage 3/8: Acquisition RUNNING
[14:39:02] Stage 3/8: Acquisition COMPLETE (287s) [14 artifacts collected]
[14:39:02] Stage 4/8: Analysis RUNNING (parallel: 5 agents)
[14:39:02] Log Analyst RUNNING
[14:39:02] Persistence Hunter RUNNING
[14:39:02] Network Analyst RUNNING
[14:52:18] Log Analyst COMPLETE [8 findings]
[14:53:41] Persistence Hunter COMPLETE [3 findings]
[14:55:09] Network Analyst COMPLETE [5 findings]
[14:55:09] Stage 4/8: Analysis COMPLETE (976s) [16 total findings]
[14:55:09] Stage 5/8: Timeline RUNNING
[14:57:33] Stage 5/8: Timeline COMPLETE (144s)
[14:57:33] Stage 6/8: IOC Extraction RUNNING
[14:59:01] Stage 6/8: IOC Extraction COMPLETE (88s) [12 IOCs extracted]
[14:59:01] Stage 7/8: Report Generation RUNNING
[15:01:44] Stage 7/8: Report Generation COMPLETE (163s)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Investigation Complete: INV-2026-02-27-web01
Duration: 31m 44s
Findings: 16 total (2 CRITICAL, 5 HIGH, 6 MEDIUM, 3 LOW)
IOCs: 12 extracted (4 enriched with threat intel)
Report: .aiwg/forensics/reports/forensic-report.md
Report Generation (reporting-agent)
reports/forensic-report.mdQuality Gate