• 简体中文
  • v6.5.2
  • 安全

    A3S Code 在创建 session 时暴露安全控制,并通过 session hook 暴露生命周期回调。宿主直接调用 session.tool()session.bash() 等 API 时,应把它们视为宿主侧特权操作;是否把这些能力暴露给用户,由宿主应用自己判断。

    委派子运行会继承所选 subagent 或 worker spec 的有边界权限。使用 confirmationInheritance 控制子运行的 Ask 决策,并把高风险发布命令放在显式 policy 后面。

    权限确认界面应该向用户说明操作、原因、影响范围和风险,而不只是放两个按钮。

    permissions.tsTypeScript
    const session = agent.session('/repo', {
    permissionPolicy: {
    deny: ['bash(rm -rf*)', 'write(**/.env*)'],
    ask: ['bash(git push*)', 'bash(npm publish*)'],
    allow: ['read(*)', 'grep(*)', 'glob(*)', 'bash(cargo test*)'],
    defaultDecision: 'ask',
    enabled: true,
    },
    });

    Hook API 的管理面包括注册、计数和卸载:

    TypeScript
    session.registerHook(
    'observe-secret-read',
    'pre_tool_use',
    { pathPattern: '**/.env*' },
    { priority: 100 },
    () => ({ action: 'continue' }),
    );
    console.log(session.hookCount());
    session.unregisterHook('observe-secret-read');

    发布流程应要求测试、包检查、CI 和 provider 验证证据。