用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/arm2arm/AstroAgentAssistant --skill workstation-security-audit命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
S3/MinIO operations: connectivity, transfers, read benchmarks, and matplotlib visualization templates.
Complete guide to the REANA reproducible analytics platform: Dockerized client setup, multi-backend profiles, workflow authoring patterns, S3 dataset workflows, and best practices. Covers dev/prod backends, serial workflows, REANA_WORKSPACE usage, and self-learning from finished workflows.
Complete guide to working with Arepo simulation HDF5 files: structure inspection, unit conversion, radial profiles, slice projections, and dimensionality reduction (UMAP/t-SNE) for clustering analysis.
正在显示 SKILL.md
| name | workstation-security-audit |
| title | Linux workstation security audit for AI/GPU infra |
| description | Read-only audit and hardening for GPU research workstations. |
| author | Arman Khalatyan & Hermi |
| date | 2026-08-06T00:00:00.000Z |
| tags | ["security","audit","ssh","firewall","docker","gpu","hermes-infrastructure"] |
Use when auditing a Linux workstation (DGX, research VM, personal server) running AI agent infrastructure. Enforces two-phase discipline: collect evidence first, harden only after approval.
Golden rule: No writes, no service restarts, no config changes during this phase. All commands are read-only probes.
cat /etc/ssh/sshd_config # main config (note Includes)
for f in /etc/ssh/sshd_config.d/*.conf; do cat "$f"; done # drop-in overrides
ls -la ~/.ssh/authorized_keys && wc -l ~/.ssh/authorized_keys # key count + perms
Focus on: PermitRootLogin, PasswordAuthentication (commented = default yes), UsePAM, KbdInteractiveAuthentication
ss -tlnp # all TCP listeners with PIDs
systemctl list-units --type=service --state=running --no-pager # active daemons
Audit each listener on 0.0.0.0: should it be external? Is it auth'd?
groups $USER # sudo, docker, etc.
ls -la /var/run/docker.sock # docker group = root equiv
cat /etc/sudoers 2>/dev/null; ls /etc/sudoers.d/ # sudo policies
iptables -L -n 2>/dev/null && iptables-save 2>/dev/null # netfilter rules
ufw status 2>/dev/null # UFW state
ss -tlnp | grep 'LISTEN' # confirm all exposed ports
find / -type f \( -perm /6000 \) 2>/dev/null | grep -v '/proc/' | head -50 # setuid/sgid
getcap -r /usr/bin/ /usr/sbin/ 2>/dev/null # file caps
Flag any setuid binary outside /usr or that isn't standard distro.
docker ps --format '{{.Names}} {{.Image}} {{.Status}}' # running containers
docker inspect --format='P={{.HostConfig.Privileged}} CapAdd={{println .HostConfig.CapAdd}} NetMode={{.HostConfig.NetworkMode}} ReadonlyRoot={{.HostConfig.ReadonlyRootfs}}' <container> per container
docker images # image list + tag discipline (:latest = risk)
grep -rn 'api_key\|API_KEY\|password\|secret\|token' ~/.hermes/config.yaml ~/.hermes/.env | grep -v '^#\|^$'
ls -la ~/.hermes/.env # file permissions
find ~ -name '*.env' -o -name '*secret*' -o -name '*token*' 2>/dev/null # surface-level secret files
df -hT /lustre 2>/dev/null # shared mounts
crontab -l 2>/dev/null # user cron jobs
1. Executive risk summary (3-5 sentences)
2. Findings table: Severity | Finding ID | Evidence | Impact
3. Safe remediation order (by breakage risk, ascending)
4. Exact commands/diffs per fix + rollback steps for each
Severity rubric:
| Service | Typical port | Common exposure | Fix |
|---|---|---|---|
| Ollama | 11434 | No auth, exposed on 0.0.0.0 | OLLAMA_HOST=127.0.0.1:11434 systemd override |
| Memory API | custom (8420+) | Network-mapped containers | -p 127.0.0.1:PORT:PORT in docker run |
| Agent gateway | varies | Unauthenticated terminal access | Firewall deny + verify auth before re-opening |
| SSH root login | 22 | PermitRootLogin yes | Drop-in config with PermitRootLogin no |
| Docker socket | N/A (Unix sock) | User in docker group = root equiv | Accept risk or move to rootless-docker |
--force flag so it doesn't prompt mid-enable, test connectivity immediately after..conf files in sshd_config.d/ override main config. Check both before declaring findings.sk-p...qg) but the full value is on disk in plaintext. Check file perms and if other users can read them.