Agent Skills by ALSEL
Anthropic Claudeセキュリティ⭐ リポ 1品質スコア 58/100

vastai-enterprise-rbac

Vast.ai エンタープライズ SSO、ロールベースアクセス制御、および組織管理を設定できます。 SSO 統合の実装、ロールベースの権限設定、または Vast.ai の組織レベルの制御を構築する際に活用してください。 「vastai SSO」「vastai RBAC」「vastai エンタープライズ」「vastai ロール」「vastai 権限」「vastai SAML」といったキーワードで呼び出せます。

description の原文を見る

Configure Vast.ai enterprise SSO, role-based access control, and organization management. Use when implementing SSO integration, configuring role-based permissions, or setting up organization-level controls for Vast.ai. Trigger with phrases like "vastai SSO", "vastai RBAC", "vastai enterprise", "vastai roles", "vastai permissions", "vastai SAML".

SKILL.md 本文

Vast.ai エンタープライズ RBAC

概要

Vast.ai 統合のためのエンタープライズグレードのアクセス制御を設定します。

前提条件

  • Vast.ai エンタープライズティアサブスクリプション
  • SAML/OIDC をサポートするアイデンティティプロバイダー(IdP)
  • ロールベースのアクセスパターンの理解
  • 監査ログインフラストラクチャ

ロール定義

ロール権限ユースケース
Adminフルアクセスプラットフォーム管理者
Developer読み取り/書き込み、削除なしアクティブな開発
Viewer読み取り専用ステークホルダー、監査者
ServiceAPI アクセスのみ自動化システム

ロール実装

enum Vast.aiRole {
  Admin = 'admin',
  Developer = 'developer',
  Viewer = 'viewer',
  Service = 'service',
}

interface Vast.aiPermissions {
  read: boolean;
  write: boolean;
  delete: boolean;
  admin: boolean;
}

const ROLE_PERMISSIONS: Record<Vast.aiRole, Vast.aiPermissions> = {
  admin: { read: true, write: true, delete: true, admin: true },
  developer: { read: true, write: true, delete: false, admin: false },
  viewer: { read: true, write: false, delete: false, admin: false },
  service: { read: true, write: true, delete: false, admin: false },
};

function checkPermission(
  role: Vast.aiRole,
  action: keyof Vast.aiPermissions
): boolean {
  return ROLE_PERMISSIONS[role][action];
}

SSO 統合

SAML 設定

// Vast.ai SAML セットアップ
const samlConfig = {
  entryPoint: 'https://idp.company.com/saml/sso',
  issuer: 'https://vastai.com/saml/metadata',
  cert: process.env.SAML_CERT,
  callbackUrl: 'https://app.yourcompany.com/auth/vastai/callback',
};

// IdP グループを Vast.ai ロールにマッピング
const groupRoleMapping: Record<string, Vast.aiRole> = {
  'Engineering': Vast.aiRole.Developer,
  'Platform-Admins': Vast.aiRole.Admin,
  'Data-Team': Vast.aiRole.Viewer,
};

OAuth2/OIDC 統合

import { OAuth2Client } from '@vastai/sdk';

const oauthClient = new OAuth2Client({
  clientId: process.env.VASTAI_OAUTH_CLIENT_ID!,
  clientSecret: process.env.VASTAI_OAUTH_CLIENT_SECRET!,
  redirectUri: 'https://app.yourcompany.com/auth/vastai/callback',
  scopes: ['read', 'write'],
});

組織管理

interface Vast.aiOrganization {
  id: string;
  name: string;
  ssoEnabled: boolean;
  enforceSso: boolean;
  allowedDomains: string[];
  defaultRole: Vast.aiRole;
}

async function createOrganization(
  config: Vast.aiOrganization
): Promise<void> {
  await vastaiClient.organizations.create({
    ...config,
    settings: {
      sso: {
        enabled: config.ssoEnabled,
        enforced: config.enforceSso,
        domains: config.allowedDomains,
      },
    },
  });
}

アクセス制御ミドルウェア

function requireVast.aiPermission(
  requiredPermission: keyof Vast.aiPermissions
) {
  return async (req: Request, res: Response, next: NextFunction) => {
    const user = req.user as { vastaiRole: Vast.aiRole };

    if (!checkPermission(user.vastaiRole, requiredPermission)) {
      return res.status(403).json({
        error: 'Forbidden',
        message: `Missing permission: ${requiredPermission}`,
      });
    }

    next();
  };
}

// 使用例
app.delete('/vastai/resource/:id',
  requireVast.aiPermission('delete'),
  deleteResourceHandler
);

監査証跡

interface Vast.aiAuditEntry {
  timestamp: Date;
  userId: string;
  role: Vast.aiRole;
  action: string;
  resource: string;
  success: boolean;
  ipAddress: string;
}

async function logVast.aiAccess(entry: Vast.aiAuditEntry): Promise<void> {
  await auditDb.insert(entry);

  // 疑わしいアクティビティがあればアラート
  if (entry.action === 'delete' && !entry.success) {
    await alertOnSuspiciousActivity(entry);
  }
}

手順

ステップ 1: ロールの定義

組織のロールを Vast.ai 権限にマッピングします。

ステップ 2: SSO の設定

IdP との SAML または OIDC 統合をセットアップします。

ステップ 3: ミドルウェアの実装

API エンドポイントに権限チェックを追加します。

ステップ 4: 監査ログの有効化

コンプライアンス用に全アクセスを追跡します。

出力

  • ロール定義が実装される
  • SSO 統合が設定される
  • 権限ミドルウェアがアクティブになる
  • 監査証跡が有効になる

エラー処理

問題原因解決策
SSO ログイン失敗間違ったコールバック URLIdP 設定を確認
アクセス拒否ロールマッピングがないグループマッピングを更新
トークン有効期限切れTTL が短いトークンリフレッシュロジックを実装
監査ログの欠落非同期ログが失敗ログパイプラインを確認

クイック権限チェック

if (!checkPermission(user.role, 'write')) {
  throw new ForbiddenError('Write permission required');
}

リソース

次のステップ

大規模なマイグレーションについては、vastai-migration-deep-dive を参照してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
Brmbobo
リポジトリ
Brmbobo/Web2podcast
ライセンス
MIT
最終更新
2026/1/26

Source: https://github.com/Brmbobo/Web2podcast / ライセンス: MIT

関連スキル

Anthropic Claudeセキュリティ⭐ リポ 8,981

secure-code-guardian

認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。

by Jeffallan
汎用セキュリティ⭐ リポ 1,982

claude-authenticity

APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。

by LeoYeAI
Anthropic Claudeセキュリティ⭐ リポ 2,159

anth-security-basics

Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。

by jeremylongshore
汎用セキュリティ⭐ リポ 699

x-ray

x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。

by pashov
汎用セキュリティ⭐ リポ 677

semgrep

Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。

by wimpysworld
汎用セキュリティ⭐ リポ 591

ghost-bits-cast-attack

Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。

by yaklang
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Brmbobo · Brmbobo/Web2podcast · ライセンス: MIT