계: Environment
이 섹션에는 소스 코드 외부에 있지만 제작 중인 제품의 보안에는 여전히 중요한 내용이 모두 포함되어 있습니다. 이 섹션에서 다루는 문제들은 소스 코드와 직접적으로 관련이 없기 때문에 나머지 섹션과 분리했습니다.
Excessive Agency
Abstract
적절한 제어나 인간의 검증 없이 에이전트에게 너무 많은 자유를 허용하면 인증되지 않은 시스템 변경, 금융 거래 또는 민감한 데이터 노출과 같은 유해한 행위가 발생하여 심각한 보안 위협을 초래할 수 있습니다.
Explanation
자율적인 에이전트(예: AI 모델 또는 챗봇)가 충분한 제한, 검증 또는 인간의 감독 없이 작업을 수행하고, 결정을 내리고, 명령을 실행할 수 있는 능력을 부여받을 경우 과도한 대행권이 발생하며, 이로 인해 보안 위험, 데이터 유출, 심지어는 악의적인 행동 등과 같은 의도치 않은 결과로 이어질 수 있습니다.
에이전트가 너무 많은 자율 권한을 누리게 되면 실수로 중요한 시스템과 상호 작용하거나 위험한 작업을 수행하거나 민감한 데이터를 노출시킬 수 있습니다. 가장 심각한 결과는 에이전트가 인증된 사용자의 승인이나 허가 없이 자금 이체, 시스템 구성 수정 또는 이메일 전송 등의 작업을 수행하도록 허용된 경우 발생하게 됩니다.
예제 1: AI 도우미는 중요한 작업을 수행하고 사용자 프록시 에이전트와 협력할 수 있는 기능을 부여받지만, 철저한 검사나 제한된 권한이 없어도 민감한 지침에 따라 자율적으로 작동할 수 있습니다.
최소한의 감독 하에 "중요한 작업 수행"이라는 AI 도우미의 자율성을 부여함으로써 AI는 인간의 검토 없이도 명령을 실행하거나 데이터를 조작할 수 있는 잠재력을 가지고 있습니다. 종료 조건은 사용자가 명시적으로 "승인"을 언급한 경우에만 적용됩니다. 그러나 그렇지 않은 경우 에이전트는 계속 작동할 수 있으며, 해당 작업이 적절하게 모니터링되거나 제한되지 않으면 위험이 발생할 수 있습니다.
에이전트가 너무 많은 자율 권한을 누리게 되면 실수로 중요한 시스템과 상호 작용하거나 위험한 작업을 수행하거나 민감한 데이터를 노출시킬 수 있습니다. 가장 심각한 결과는 에이전트가 인증된 사용자의 승인이나 허가 없이 자금 이체, 시스템 구성 수정 또는 이메일 전송 등의 작업을 수행하도록 허용된 경우 발생하게 됩니다.
예제 1: AI 도우미는 중요한 작업을 수행하고 사용자 프록시 에이전트와 협력할 수 있는 기능을 부여받지만, 철저한 검사나 제한된 권한이 없어도 민감한 지침에 따라 자율적으로 작동할 수 있습니다.
model_client = OpenAIChatCompletionClient(model="gpt-4")
assistant = AssistantAgent("assistant", model_client=model_client)
# Create the termination condition which ends the conversation when the user says "APPROVE".
termination = TextMentionTermination("APPROVE")
team = RoundRobinGroupChat([assistant], termination_condition=termination)
# Run the conversation and stream to the console.
stream = team.run_stream(task="Perform critical task.")
최소한의 감독 하에 "중요한 작업 수행"이라는 AI 도우미의 자율성을 부여함으로써 AI는 인간의 검토 없이도 명령을 실행하거나 데이터를 조작할 수 있는 잠재력을 가지고 있습니다. 종료 조건은 사용자가 명시적으로 "승인"을 언급한 경우에만 적용됩니다. 그러나 그렇지 않은 경우 에이전트는 계속 작동할 수 있으며, 해당 작업이 적절하게 모니터링되거나 제한되지 않으면 위험이 발생할 수 있습니다.
References
[1] OWASP Top 10 for Large Language Model Applications OWASP
[2] UserProxyAgent Microsoft
[3] Standards Mapping - Common Weakness Enumeration CWE ID 285
[4] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-000381, CCI-002233, CCI-002235
[5] Standards Mapping - FIPS200 AC
[6] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[7] Standards Mapping - NIST Special Publication 800-53 Revision 4 AC-6 Least Privilege (P1), CM-7 Least Functionality (P1)
[8] Standards Mapping - NIST Special Publication 800-53 Revision 5 AC-6 Least Privilege, CM-7 Least Functionality
[9] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[10] Standards Mapping - OWASP Application Security Verification Standard 4.0 4.1.3 General Access Control Design (L1 L2 L3)
[11] Standards Mapping - OWASP Top 10 2017 A5 Broken Access Control
[12] Standards Mapping - OWASP Top 10 2021 A01 Broken Access Control
[13] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2.1 Requirement 7.1.2
[14] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 7.2.2
[15] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0.1 Requirement 7.2.2
[16] Standards Mapping - Payment Card Industry Software Security Framework 1.0 Control Objective 5.4 - Authentication and Access Control
[17] Standards Mapping - Payment Card Industry Software Security Framework 1.1 Control Objective 5.4 - Authentication and Access Control
[18] Standards Mapping - Payment Card Industry Software Security Framework 1.2 Control Objective 5.4 - Authentication and Access Control, Control Objective C.2.3 - Web Software Access Controls
[19] Standards Mapping - Security Technical Implementation Guide Version 4.11 APSC-DV-000500 CAT II, APSC-DV-000510 CAT I, APSC-DV-001500 CAT II
[20] Standards Mapping - Security Technical Implementation Guide Version 5.1 APSC-DV-000500 CAT II, APSC-DV-000510 CAT I, APSC-DV-001500 CAT II
[21] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-000500 CAT II, APSC-DV-000510 CAT I, APSC-DV-001500 CAT II
[22] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-000500 CAT II, APSC-DV-000510 CAT I, APSC-DV-001500 CAT II
[23] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-000500 CAT II, APSC-DV-000510 CAT I, APSC-DV-001500 CAT II
[24] Standards Mapping - Security Technical Implementation Guide Version 6.2 APSC-DV-000500 CAT II, APSC-DV-000510 CAT I, APSC-DV-001500 CAT II
desc.structural.python.excessive_agency