ಲಾಭಗಳು:
- ಮೂರು ಲೇಯರ್ಗಳಲ್ಲಿ AI ಔಟ್ಪುಟ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯ: ನಿಖರತೆ, ಭದ್ರತೆ ಮತ್ತು ಮೂಲ/ಪರವಾನಗಿ
- ಸುರಕ್ಷಿತ ಅಚ್ಚುಗಳು ಮತ್ತು ಸಾಧನಗಳೊಂದಿಗೆ ಇಂಜೆಕ್ಷನ್, ಭ್ರಮೆಯ ಪ್ಯಾಕೇಜುಗಳು ಮತ್ತು ಸಮಾಧಿ ರಹಸ್ಯಗಳಂತಹ ಅಪಾಯಗಳನ್ನು ಒಳಗೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯ
- ಸಮರ್ಥ ಎಂಜಿನಿಯರ್ನ ಅನುಮೋದನೆಗೆ ಭದ್ರತಾ-ನಿರ್ಣಾಯಕ ಕೋಡ್ ಅನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಜವಾಬ್ದಾರಿಯ ವರ್ಗಾವಣೆಯಾಗದಿರುವುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
AI ಕೋಡ್ ಅನ್ನು ರಚಿಸುವುದು ಸುಲಭ; ಅವನನ್ನು ನಂಬುವುದು ದುಬಾರಿಯಾಗಿದೆ. ಈ ಘಟಕದ ಏಕೈಕ ಉದ್ದೇಶವೆಂದರೆ ನಾವು ಹಿಂದಿನ ಎಲ್ಲಾ ಘಟಕಗಳಲ್ಲಿ ಪುನರಾವರ್ತಿಸಿದ "ಪರಿಶೀಲನೆ" ತತ್ವವನ್ನು ವ್ಯವಸ್ಥಿತ ಎಂಜಿನಿಯರಿಂಗ್ ವಿಭಾಗವಾಗಿ ಪರಿವರ್ತಿಸುವುದು. ಏಕೆಂದರೆ AI ನಿರ್ಮಿಸಿದ ಕೋಡ್, ಮೊದಲ ನೋಟದಲ್ಲಿ ಸರಿಯಾಗಿ ತೋರಿದರೂ ಸಹ, ಮೂರು ಪ್ರತ್ಯೇಕ ಅಪಾಯಗಳನ್ನು ಹೊಂದಿದೆ: ಕೆಲಸ ಮಾಡದಿರುವುದು/ತಪ್ಪಾಗಿರುವುದು (ಭ್ರಮೆ), ಅಸುರಕ್ಷಿತವಾಗಿರುವುದು (ದುರ್ಬಲತೆ) ಮತ್ತು ಕಾನೂನು/ಪರವಾನಗಿ ಅಪಾಯಗಳನ್ನು ಹೊಂದಿರುವುದು. ಈ ಮೂರನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದಕ್ಕೂ ಬಾಗಿಲು ಸ್ಥಾಪಿಸುವುದು ನಿಮ್ಮನ್ನು ವೃತ್ತಿಪರರನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.
ಇಲ್ಲಿ ನಾವು "ಮೌಲ್ಯೀಕರಣ" ವನ್ನು ಮೂರು ಪದರಗಳಲ್ಲಿ ಪರಿಗಣಿಸುತ್ತೇವೆ: ಸರಿಯಾಗಿರುವುದು (ಕೋಡ್ ನಿಜವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆಯೇ?), ಭದ್ರತೆ (ಇದು ದುರುದ್ದೇಶಪೂರಿತ ಇನ್ಪುಟ್ ಅನ್ನು ತಡೆದುಕೊಳ್ಳುತ್ತದೆಯೇ?), ಮತ್ತು ಮೂಲ/ಪರವಾನಗಿ (ಈ ಕೋಡ್ ಅನ್ನು ಬಳಸುವ ಹಕ್ಕನ್ನು ನಾನು ಹೊಂದಿದ್ದೇನೆಯೇ?). ಪ್ರತಿಯೊಂದು ಪದರವು ತನ್ನದೇ ಆದ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಯಾವುದನ್ನೂ "ಅದು AI ಹೇಳಿದೆ" ಎಂದು ಬೈಪಾಸ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
ಅಪಾಯದ ಮೂರು ಪದರಗಳು
1. ನಿಖರತೆಯ ಅಪಾಯ (ಭ್ರಮೆ). ಮಾದರಿಯು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಕಾರ್ಯವನ್ನು ಕರೆಯಬಹುದು, API ಅನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳಬಹುದು, ಅಂಚಿನ ಪ್ರಕರಣವನ್ನು ಮೌನವಾಗಿ ಬೈಪಾಸ್ ಮಾಡಬಹುದು. ಕೋಡ್ "ಸಮಂಜಸವಾಗಿದೆ" ಆದರೆ ತಪ್ಪಾಗಿದೆ. ಪ್ರತಿವಿಷ: ಸಂಕಲನ, ಪರೀಕ್ಷೆ, ಸ್ಥಿರ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ದೃಶ್ಯ ತಪಾಸಣೆ.
2. ಭದ್ರತಾ ಅಪಾಯ. ತರಬೇತಿ ಡೇಟಾದಲ್ಲಿ AI ಅಸುರಕ್ಷಿತ ಮಾದರಿಗಳನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು: SQL ಇಂಜೆಕ್ಷನ್ಗೆ ಗುರಿಯಾಗುವ ಪ್ರಶ್ನೆ, ದೃಢೀಕರಿಸದ ಬಳಕೆದಾರ ಇನ್ಪುಟ್, ದುರ್ಬಲ ಎನ್ಕ್ರಿಪ್ಶನ್, ಅಸುರಕ್ಷಿತ ಡೀಸರಲೈಸೇಶನ್, ತೆರೆದ ಮರುನಿರ್ದೇಶನ. ಕೋಡ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಆದರೆ ದಾಳಿಗೆ ಗುರಿಯಾಗುತ್ತದೆ. ಪ್ರತಿವಿಷ: ಭದ್ರತೆ-ಕೇಂದ್ರಿತ ವಿಮರ್ಶೆ, ಸ್ವಯಂಚಾಲಿತ ಸ್ಕ್ಯಾನರ್ಗಳು (SAST), ಮತ್ತು ತಿಳಿದಿರುವ ಸುರಕ್ಷಿತ ಮಾದರಿಗಳನ್ನು ಹೇರುವುದು.
3. ಮೂಲ/ಪರವಾನಗಿ ಅಪಾಯ. ಕೃತಿಸ್ವಾಮ್ಯ ಅಥವಾ ನಿರ್ಬಂಧಿತ ಪರವಾನಗಿ ಕೋಡ್ ಅನ್ನು ಹೋಲುವ ಔಟ್ಪುಟ್ ಅನ್ನು AI ಉತ್ಪಾದಿಸಬಹುದು ಅಥವಾ ಅನುಚಿತವಾಗಿ ಪರವಾನಗಿ ಪಡೆದ ಅವಲಂಬನೆಯನ್ನು ಸೂಚಿಸಬಹುದು. ಪ್ರತಿವಿಷ: ಅವಲಂಬನೆ ಮತ್ತು ಪರವಾನಗಿ ಪರಿಶೀಲನೆ, ಸ್ವಂತಿಕೆಯ ಪರಿಶೀಲನೆ, ಕಾರ್ಪೊರೇಟ್ ನೀತಿ.
ಎಚ್ಚರಿಕೆ: ಈ ಮೂರು ಅಪಾಯಗಳಲ್ಲಿ ಅತ್ಯಂತ ಕಪಟವೆಂದರೆ ಭದ್ರತೆ; ಏಕೆಂದರೆ ಕೋಡ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣವಾಗಬಹುದು, ಉತ್ಪಾದನೆಯಲ್ಲಿ ಸರಾಗವಾಗಿ ಚಲಿಸಬಹುದು ಮತ್ತು ಆಕ್ರಮಣಕಾರರು ಅದನ್ನು ಕಂಡುಕೊಂಡಾಗ ಮಾತ್ರ ದುರ್ಬಲತೆಯನ್ನು ಬಹಿರಂಗಪಡಿಸಲಾಗುತ್ತದೆ. "ಕೆಲಸ" ಎಂಬುದು "ಸುರಕ್ಷಿತ" ದಂತೆಯೇ ಅಲ್ಲ.
ಹಂತ ಹಂತವಾಗಿ: ಲೇಯರ್ಡ್ ದೃಢೀಕರಣ ಗೇಟ್
- ತಿಳುವಳಿಕೆಯಿಂದ ಓದಿ. ಕೋಡ್ ಅನ್ನು ಸ್ವೀಕರಿಸುವ ಮೊದಲು ಅದನ್ನು ನಿಜವಾಗಿಯೂ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ; ನಿಮಗೆ ಅರ್ಥವಾಗದ ಕೋಡ್ ಅನ್ನು ವಿಲೀನಗೊಳಿಸಬೇಡಿ. "ಅದು ಏಕೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ" ಎಂಬುದನ್ನು ನೀವು ವಿವರಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಅದನ್ನು ಇನ್ನೂ ಮೌಲ್ಯೀಕರಿಸಲಾಗಿಲ್ಲ.
- ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಬಳಸಿದ ಪ್ರತಿಯೊಂದು ಕಾರ್ಯ, API ಮತ್ತು ಪ್ಯಾಕೇಜ್ ನಿಜವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಸರಿಯಾಗಿ ಬಳಸಲಾಗಿದೆ ಎಂದು ದೃಢೀಕರಿಸಿ (ಭ್ರಮೆ ಗೇಟ್).
- ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳನ್ನು ರನ್ ಮಾಡಿ. ಕಂಪೈಲರ್, ಲಿಂಟರ್ (ಶೈಲಿ/ಎರರ್ ಸ್ಕ್ಯಾನರ್), ಟೈಪ್ ಚೆಕರ್, ಯುನಿಟ್ ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ಸಾಧ್ಯವಾದರೆ SAST (ಸ್ಟ್ಯಾಟಿಕ್ ಅಪ್ಲಿಕೇಶನ್ ಸೆಕ್ಯುರಿಟಿ ಟೆಸ್ಟಿಂಗ್ - ದೌರ್ಬಲ್ಯಗಳಿಗಾಗಿ ಮೂಲ ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಸಾಧನ).
- ಭದ್ರತಾ ದೃಷ್ಟಿಕೋನದಿಂದ ಅದನ್ನು ನೋಡಿ. ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಿಸಲಾಗಿದೆಯೇ? ಪ್ರಶ್ನೆಯನ್ನು ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲಾಗಿದೆಯೇ? ರಹಸ್ಯವನ್ನು ಹೂಳಲಾಗಿದೆಯೇ? ಅಧಿಕಾರ ನಿಯಂತ್ರಣವಿದೆಯೇ?
- ಮೂಲ ಮತ್ತು ಪರವಾನಗಿಯನ್ನು ಪರಿಶೀಲಿಸಿ. ಹೊಸ ಅವಲಂಬನೆಗಳು ಪರವಾನಗಿ ಪಡೆದಿವೆಯೇ? ಔಟ್ಪುಟ್ ತಿಳಿದಿರುವ ಕೋಡ್ಬೇಸ್ಗೆ ಹೆಚ್ಚು ಹೋಲುತ್ತದೆಯೇ?
- ಇದು ಭದ್ರತೆ-ನಿರ್ಣಾಯಕವಾಗಿದ್ದರೆ, ತಜ್ಞರ ಅನುಮೋದನೆಯನ್ನು ಕೇಳಿ. ದೃಢೀಕರಣ, ಪಾವತಿ, ಕ್ರಿಪ್ಟೋಗ್ರಫಿ, ಪ್ರವೇಶ ನಿಯಂತ್ರಣದಂತಹ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಸಮರ್ಥ ಎಂಜಿನಿಯರ್ನಿಂದ ಸ್ವತಂತ್ರ ವಿಮರ್ಶೆ ಕಡ್ಡಾಯವಾಗಿದೆ.
ಮೂರು ಮಿನಿ ಪ್ರಕರಣಗಳು
ಪ್ರಕರಣ 1 - ತಪಾಸಣೆ ಗೇಟ್ನಲ್ಲಿ ಸಿಕ್ಕಿಬಿದ್ದ SQL ಇಂಜೆಕ್ಷನ್. ಹುಡುಕಾಟದ ಅಂತಿಮ ಬಿಂದುವಿಗೆ ("... ಎಲ್ಲಿ ಹೆಸರು = '" + q + "'") ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ ಅನ್ನು ನೇರವಾಗಿ SQL ಪ್ರಶ್ನೆಗೆ ಸಂಯೋಜಿಸುವ AI ರಚಿಸಲಾಗಿದೆ. ಕೋಡ್ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಮತ್ತು ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದರು. ಭದ್ರತೆ-ಕೇಂದ್ರಿತ ತಪಾಸಣೆ ಮತ್ತು SAST ಸ್ಕ್ಯಾನಿಂಗ್ ಇದನ್ನು ಹಿಡಿಯಿತು; ಇದನ್ನು ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲಾದ ಪ್ರಶ್ನೆಯಾಗಿ ಪರಿವರ್ತಿಸಲಾಗಿದೆ (ತಯಾರಿಸಿದ ಹೇಳಿಕೆ). ಇದು ಸಿಕ್ಕಿಹಾಕಿಕೊಳ್ಳದಿದ್ದರೆ, ಇದು ಕ್ಲಾಸಿಕ್ ಡೇಟಾ ಸೋರಿಕೆ ದುರ್ಬಲತೆಯಾಗುತ್ತಿತ್ತು.
ಪ್ರಕರಣ 2 - ಭ್ರಮೆಯ ಪ್ಯಾಕೇಜ್. AI ಒಂದು ಕಾರ್ಯಕ್ಕಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ npm ಪ್ಯಾಕೇಜ್ ಅನ್ನು (ಫಾಸ್ಟ್-ಸೇಫ್-ಪಾರ್ಸ್) ಸೂಚಿಸಿದೆ. ಡೆವಲಪರ್ ಅದನ್ನು ಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ಪ್ಯಾಕೇಜ್ ಕಂಡುಬಂದಿಲ್ಲ. ಕೆಟ್ಟದ್ದು: ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಆಕ್ರಮಣಕಾರರು ಅಂತಹ "ಭೂತ" ಪ್ಯಾಕೇಜ್ ಹೆಸರುಗಳನ್ನು ನೈಜ, ದುರುದ್ದೇಶಪೂರಿತ ಪ್ಯಾಕೇಜ್ಗಳೊಂದಿಗೆ ತುಂಬಬಹುದು (ಅವಲಂಬನೆ ಗೊಂದಲ). ಪಾಠ: ಅಧಿಕೃತ ನೋಂದಾವಣೆ ಮತ್ತು ಡೌನ್ಲೋಡ್/ನಿರ್ವಹಣೆ ಇತಿಹಾಸದ ವಿರುದ್ಧ ಪ್ರತಿ ಶಿಫಾರಸು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ.
ಪ್ರಕರಣ 3 - ಪರವಾನಗಿ ಅಸಾಮರಸ್ಯ. AI ಸೂಚಿಸಿದ ನಿಫ್ಟಿ ಕಂಪ್ಯಾನಿಯನ್ ಲೈಬ್ರರಿಯು ಸಂಸ್ಥೆಯ ಉತ್ಪನ್ನ ಪರವಾನಗಿಯೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗದ ಬಲವಾದ ಕಾಪಿಲೆಫ್ಟ್ ಪರವಾನಗಿಯನ್ನು ಹೊಂದಿತ್ತು. ಅವಲಂಬನೆ ಪರವಾನಗಿ ಸ್ಕ್ಯಾನ್ ಇದನ್ನು ವರದಿ ಮಾಡಿದೆ; ತಂಡವು ಪರವಾನಗಿಯನ್ನು ಸೂಕ್ತವಾದ ಪರ್ಯಾಯದೊಂದಿಗೆ ಬದಲಾಯಿಸಿತು. ಪರಿಶೀಲನೆ ಇಲ್ಲದೆ, ಉತ್ಪನ್ನ ವಿತರಣೆಯಲ್ಲಿ ಕಾನೂನು ಹೊರೆ ಉಂಟಾಗುತ್ತದೆ.
ನಾಲ್ಕು ನಕಲು ಮಾಡಬಹುದಾದ ಟೆಂಪ್ಲೇಟ್ಗಳು
ಪ್ರವೇಶ ಪೂರ್ವ ಸ್ವಯಂ ಪರಿಶೀಲನೆ:
ಕೆಳಗಿನ AI ರಚಿತ ಕೋಡ್ ಅನ್ನು ಸ್ವೀಕರಿಸುವ ಮೊದಲು, ಪರಿಶೀಲಿಸಿ: 1) ಅದು ಬಳಸುವ ಪ್ರತಿಯೊಂದು ಕಾರ್ಯ/API/ಪ್ಯಾಕೇಜ್ ನಿಜವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೇ? ಶಂಕಿತರನ್ನು ಫ್ಲ್ಯಾಗ್ ಮಾಡಿ.2) ಯಾವುದಾದರೂ ಮೌಲ್ಯೀಕರಿಸದ ಇನ್ಪುಟ್, SQL/ಕಮಾಂಡ್ ಸಂಯೋಜನೆ, ಸಮಾಧಿ ರಹಸ್ಯ, ದುರ್ಬಲ ಕ್ರಿಪ್ಟೋ?3) ವಿಳಾಸವಿಲ್ಲದ ದೋಷಗಳು/ಅಂಚಿನ ಪ್ರಕರಣಗಳು ಯಾವುವು? ಪ್ರತಿ ಕಂಡುಹಿಡಿಯುವಿಕೆಯನ್ನು "ನಿರ್ದಿಷ್ಟ / ಸಂಭವನೀಯ" ಎಂದು ಲೇಬಲ್ ಮಾಡಿ ಮತ್ತು ಪರಿಹಾರಗಳನ್ನು ಸೂಚಿಸಿ.{{code}}
ಭದ್ರತೆ ಕೇಂದ್ರಿತ ವಿಮರ್ಶೆ:
ಭದ್ರತಾ ಕಣ್ಣಿನೊಂದಿಗೆ ಈ ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ. ಸಾಮಾನ್ಯ OWASP ಶೈಲಿಯ ದುರ್ಬಲತೆಗಳನ್ನು ನೋಡಿ: ಇಂಜೆಕ್ಷನ್, ಮುರಿದ ದೃಢೀಕರಣ/ಅಧಿಕಾರ, ಸೂಕ್ಷ್ಮ ಡೇಟಾ ಬಹಿರಂಗಪಡಿಸುವಿಕೆ, ಅಸುರಕ್ಷಿತ ಡೀರಿಯಲೈಸೇಶನ್, ದೃಢೀಕರಿಸದ ಮರುನಿರ್ದೇಶನ. ಪ್ರತಿ ಸಂಶೋಧನೆಗೆ: ಅಪಾಯ, ಶೋಷಣೆಯ ಸನ್ನಿವೇಶ, ಪರಿಹಾರ. ಇದು ಪ್ರಾಥಮಿಕ ಸ್ಕ್ರೀನಿಂಗ್ ಆಗಿದೆ; ಮಾನವ ಭದ್ರತಾ ಪರಿಶೀಲನೆಗೆ ನಿರ್ಣಾಯಕ ಸಂಶೋಧನೆಗಳನ್ನು ಉಲ್ಲೇಖಿಸಿ.{{code}}
ಅವಲಂಬನೆ ಮತ್ತು ಪರವಾನಗಿ ಪರಿಶೀಲನೆ:
ಈ ಕೋಡ್ನಿಂದ ಸೇರಿಸಲಾದ/ಸೂಚಿಸಲಾದ ಅವಲಂಬನೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ. ಪ್ರತಿಯೊಂದಕ್ಕೂ: ಪ್ಯಾಕೇಜ್ ನಿಜವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆಯೇ, ಅದನ್ನು ನಿರ್ವಹಿಸಲಾಗಿದೆಯೇ, ಅದರ ವಿಶಿಷ್ಟ ಪರವಾನಗಿ ಏನಾಗಿರುತ್ತದೆ (ಪರಿಶೀಲಿಸಿರಬೇಕು), ಮತ್ತು ಇದು ಯೋಜನೆಗೆ ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿದೆಯೇ ಅಥವಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಉಪಕರಣದಿಂದ ಇದನ್ನು ಮಾಡಬಹುದೇ?{{ಕೋಡ್ ಅಥವಾ ಅವಲಂಬನೆ ಪಟ್ಟಿ}}
ಸುರಕ್ಷಿತ ಫಾರ್ಮ್ವರ್ಕ್ ಹೇರುವಿಕೆ (ಉತ್ಪಾದನೆಯಲ್ಲಿ):
{{task}} ಗಾಗಿ ಕೋಡ್ ಬರೆಯಿರಿ. ಕಡ್ಡಾಯ ಭದ್ರತಾ ನಿಯಮಗಳು:- ಎಲ್ಲಾ ಬಾಹ್ಯ ಇನ್ಪುಟ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ/ಸ್ವಚ್ಛಗೊಳಿಸಿ.- ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶದಲ್ಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲಾದ ಪ್ರಶ್ನೆಯನ್ನು ಮಾತ್ರ ಬಳಸಿ.- ಕೋಡ್ನಲ್ಲಿ ರಹಸ್ಯಗಳನ್ನು ಎಂಬೆಡ್ ಮಾಡಬೇಡಿ; ಪರಿಸರ ವೇರಿಯಬಲ್/ರಹಸ್ಯ ನಿರ್ವಾಹಕವನ್ನು ಊಹಿಸಿಕೊಳ್ಳಿ - ದೋಷಗಳನ್ನು ನುಂಗಬೇಡಿ; ಅದನ್ನು ಅರ್ಥಪೂರ್ಣವಾಗಿ ಪರಿಗಣಿಸಿ. 3 ಐಟಂಗಳಲ್ಲಿ ಕೋಡ್ ಈ ನಿಯಮಗಳನ್ನು ಹೇಗೆ ಅನುಸರಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸಿ.
ದುರ್ಬಲ ಪ್ರಾಂಪ್ಟ್ / ಬಲವಾದ ಪ್ರಾಂಪ್ಟ್
ದುರ್ಬಲ: "ಬಳಕೆದಾರಹೆಸರಿನಿಂದ ಹುಡುಕುವ ಪ್ರಶ್ನೆಯನ್ನು ಬರೆಯಿರಿ." (ಇಂಜೆಕ್ಷನ್ಗೆ ದುರ್ಬಲವಾದ ಕೋಡ್ ಸಂಭವಿಸಬಹುದು.)
ಪ್ರಬಲ: "ಬಳಕೆದಾರಹೆಸರಿನಿಂದ ಹುಡುಕುವ ಕಾರ್ಯವನ್ನು ಬರೆಯಿರಿ. ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ ಅನ್ನು ಸ್ಟ್ರಿಂಗ್ನಂತೆ ಎಂದಿಗೂ ಸೇರಬೇಡಿ; ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲಾದ ಪ್ರಶ್ನೆಯನ್ನು (ತಯಾರಿಸಿದ ಹೇಳಿಕೆ) ಬಳಸಿ. ಉದ್ದ ಮತ್ತು ಅಕ್ಷರಕ್ಕಾಗಿ ಇನ್ಪುಟ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ. ಕೋಡ್ ಅನ್ನು ಇಂಜೆಕ್ಷನ್ಗೆ ಏಕೆ ಮುಚ್ಚಲಾಗಿದೆ ಎಂಬುದನ್ನು 2 ವಾಕ್ಯಗಳಲ್ಲಿ ವಿವರಿಸಿ."
ಬಲವಾದ ಆವೃತ್ತಿಯು ಮೊದಲಿನಿಂದಲೂ ಸುರಕ್ಷಿತ ಮಾದರಿಯನ್ನು ಹೇರುತ್ತದೆ; ಹೀಗಾಗಿ, ದುರ್ಬಲತೆಯು ನಂತರ ಅದನ್ನು ಹಿಡಿಯುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಸಂಭವಿಸುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಪರಿಶೀಲನಾ ಗೇಟ್ಗಳ ಮೂಲಕ ರಚಿಸಲಾದ ಕೋಡ್ ಅನ್ನು ರವಾನಿಸುವುದು ಅತ್ಯಗತ್ಯ.
ದೃಢೀಕರಣ ಪದರ
ಉಪಕರಣ/ವಿಧಾನ
"AI ಹೇಳಿದರು" ಸಾಕೇ?
ನಿಖರತೆ
ಸಂಕಲನ, ಪರೀಕ್ಷೆ, ದೃಶ್ಯ ತಪಾಸಣೆ
ಇಲ್ಲ
API/ಪ್ಯಾಕೇಜ್ ರಿಯಾಲಿಟಿ
ಅಧಿಕೃತ ದಾಖಲೆ/ದಾಖಲೆ ನಿಯಂತ್ರಣ
ಇಲ್ಲ
ಭದ್ರತೆ
SAST, ಭದ್ರತಾ ವಿಮರ್ಶೆ
ಇಲ್ಲ
ಪರವಾನಗಿ/ಮೂಲ
ಅವಲಂಬನೆ ಮತ್ತು ಪರವಾನಗಿ ಪರಿಶೀಲನೆ
ಇಲ್ಲ
ಭದ್ರತೆ-ನಿರ್ಣಾಯಕ ತರ್ಕ
ತಜ್ಞ ಎಂಜಿನಿಯರ್ ಅನುಮೋದನೆ
ಖಂಡಿತ ಇಲ್ಲ
ಜವಾಬ್ದಾರಿಯನ್ನು ವರ್ಗಾಯಿಸಲಾಗುವುದಿಲ್ಲ
AI ಟೂಲ್ನಿಂದ ಉತ್ಪತ್ತಿಯಾಗುವ ಕೋಡ್ನಿಂದ ಉಂಟಾಗುವ ದೋಷಗಳು, ದುರ್ಬಲತೆಗಳು ಅಥವಾ ಉಲ್ಲಂಘನೆಗಳ ಜವಾಬ್ದಾರಿಯು ಆ ಕೋಡ್ ಅನ್ನು ಜೋಡಿಸುವ ಮತ್ತು ವಿತರಿಸುವ ತಂಡಕ್ಕೆ ಸೇರಿದೆ, ಟೂಲ್ ಪೂರೈಕೆದಾರರಿಗೆ ಅಲ್ಲ. ಇದು ವೃತ್ತಿಪರ ಸತ್ಯ ಮತ್ತು ಕಾನೂನು: ನೀವು ಸಹಿ ಮಾಡಿ. ಆದ್ದರಿಂದ "AI ಅದನ್ನು ಉತ್ಪಾದಿಸಿತು" ಒಂದು ಕ್ಷಮಿಸಿಲ್ಲ, ಆದರೆ ಹೆಚ್ಚುವರಿ ಎಚ್ಚರಿಕೆಯ ಸಮರ್ಥನೆಯಾಗಿದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ ಸುರಕ್ಷತೆ-ನಿರ್ಣಾಯಕ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, AI ಔಟ್ಪುಟ್ ಯಾವುದೇ ಸಂದರ್ಭಗಳಲ್ಲಿ ಅರ್ಹ ಇಂಜಿನಿಯರ್ನಿಂದ ಪರಿಶೀಲನೆ ಮತ್ತು ಅನುಮೋದನೆಗೆ ಪರ್ಯಾಯವಾಗಿರುವುದಿಲ್ಲ; ಹೆಚ್ಚೆಂದರೆ, AI ಆ ಇಂಜಿನಿಯರ್ನ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸುವ ನೀಲನಕ್ಷೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಸಲಹೆ: ನಿಮ್ಮ ತಂಡದಲ್ಲಿ ನೀವು "AI-ರಚಿಸಿದ ಕೋಡ್ಗಾಗಿ ಮೌಲ್ಯೀಕರಣ ಗೇಟ್" (ನಿರ್ಮಾಣ + ಪರೀಕ್ಷೆ + ಭದ್ರತಾ ಸ್ಕ್ಯಾನ್ + ದೃಶ್ಯ ತಪಾಸಣೆ) ಎಂದು ಕರೆಯುವ ಚಿಕ್ಕ ಪರಿಶೀಲನಾಪಟ್ಟಿಯನ್ನು ರಚಿಸಿ. ಈ ಗೇಟ್ ಅಭ್ಯಾಸವಾದ ನಂತರ, ವೇಗದ ನಷ್ಟವು ಕಡಿಮೆ ಮತ್ತು ಅಪಾಯದ ಕಡಿತವು ಗರಿಷ್ಠವಾಗಿರುತ್ತದೆ.
ಸಾಮಾನ್ಯ ತಪ್ಪುಗಳು
- "ಕೆಲಸಗಳನ್ನು" "ಸುರಕ್ಷಿತ" ಎಂದು ಗೊಂದಲಗೊಳಿಸುವುದು. ಪರೀಕ್ಷೆಯನ್ನು ಹಾದುಹೋಗುವ ಕೋಡ್ ದಾಳಿಗೆ ಗುರಿಯಾಗಬಹುದು.
- ಪ್ಯಾಕೇಜ್/API ಅನ್ನು ಪರಿಶೀಲಿಸದೆಯೇ ಬಳಸುವುದು. ಭ್ರಮೆಯ ಪ್ಯಾಕೆಟ್ಗಳು ಭ್ರಷ್ಟಗೊಳಿಸುತ್ತವೆ ಮತ್ತು ಭದ್ರತಾ ಅಪಾಯವನ್ನುಂಟುಮಾಡುತ್ತವೆ.
- ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡುವುದು. ಲಿಂಟರ್, ಟೈಪ್ ಪರೀಕ್ಷಕ ಮತ್ತು SAST ಅಗ್ಗವಾಗಿ ಮಾನವರು ತಪ್ಪಿಸಿಕೊಳ್ಳುವುದನ್ನು ಹಿಡಿಯುತ್ತಾರೆ.
- ಪರವಾನಗಿಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತಿದೆ. ಅನುಚಿತ ಪರವಾನಗಿ ಅವಲಂಬನೆಯು ವಿತರಣೆಯ ಮೇಲೆ ಕಾನೂನು ಹೊರೆಯನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ.
- ವಾಹನದ ಮೇಲೆ ಜವಾಬ್ದಾರಿಯನ್ನು ಹಾಕುವುದು. ಉತ್ಪಾದನೆಯಲ್ಲಿ ಕೋಡ್ಗೆ ತಂಡವು ಜವಾಬ್ದಾರವಾಗಿದೆ; "AI ಅದನ್ನು ಮಾಡಿದೆ" ಯಾವುದೇ ಕ್ಷಮಿಸಿಲ್ಲ.
ಸಾರಾಂಶದಲ್ಲಿ
AI ಔಟ್ಪುಟ್ ಅನ್ನು ಸ್ವೀಕರಿಸಲು ಪರಿಶೀಲನೆಯ ಮೂರು ಪದರಗಳ ಅಗತ್ಯವಿದೆ: ಸರಿಯಾಗಿರುವುದು (ಕಂಪೈಲ್, ಪರೀಕ್ಷೆ, ದೃಶ್ಯ ತಪಾಸಣೆ), ಭದ್ರತೆ (SAST ಮತ್ತು ಭದ್ರತೆ-ಕೇಂದ್ರಿತ ವಿಮರ್ಶೆ), ಮತ್ತು ಮೂಲ/ಪರವಾನಗಿ (ಅವಲಂಬನೆ ಪರಿಶೀಲನೆ). ಬಳಸಿದ ಪ್ರತಿಯೊಂದು ಪ್ಯಾಕೇಜ್ ಮತ್ತು API ನಿಜವಾಗಿಯೂ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಎಂಬುದನ್ನು ದೃಢೀಕರಿಸಿ, ಪ್ರಾರಂಭದಿಂದಲೇ ಸುರಕ್ಷಿತ ಮಾದರಿಗಳನ್ನು ಜಾರಿಗೊಳಿಸಿ ಮತ್ತು ಅರ್ಹ ಇಂಜಿನಿಯರ್ನಿಂದ ಅನುಮೋದನೆಗಾಗಿ ಭದ್ರತಾ-ನಿರ್ಣಾಯಕ ಕೋಡ್ ಅನ್ನು ಸಲ್ಲಿಸಿ. "ವರ್ಕ್" ಎಂದರೆ ಸುರಕ್ಷಿತವಲ್ಲ ಮತ್ತು "AI ಉತ್ಪಾದಿಸಿದ" ಹೊಣೆಗಾರಿಕೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ. ಪರಿಶೀಲನಾ ಗೇಟ್ ವೃತ್ತಿಪರತೆಯ ಬೆಲೆಯಾಗಿದೆ, ವೇಗವಲ್ಲ.
ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯ
ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ AI ಗೆ ಭದ್ರತಾ-ಸೂಕ್ಷ್ಮ ಕಾರ್ಯವನ್ನು ನೀಡಿ (ಉದಾ. "ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ನೊಂದಿಗೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಹುಡುಕುವ ಕಾರ್ಯ"), ಈ ಬಾರಿ ಸುರಕ್ಷಿತ ಮಾದರಿಯನ್ನು ಹೇರದೆ. ಒಳಬರುವ ಕೋಡ್ ಅನ್ನು "ಪೂರ್ವ ಪ್ರವೇಶ ಸ್ವಯಂ ಆಡಿಟ್" ಮತ್ತು "ಭದ್ರತೆ-ಕೇಂದ್ರಿತ ವಿಮರ್ಶೆ" ಟೆಂಪ್ಲೇಟ್ಗಳ ಮೂಲಕ ರವಾನಿಸಿ: ಯಾವುದೇ ಇಂಜೆಕ್ಷನ್, ಸಮಾಧಿ ರಹಸ್ಯ, ಭ್ರಮೆಗೊಂಡ ಪ್ಯಾಕೆಟ್ ಅಥವಾ ದೃಢೀಕರಿಸದ ಇನ್ಪುಟ್ ಇದೆಯೇ? ನಂತರ "ಸುರಕ್ಷಿತ ನಮೂನೆ ಹೇರಿಕೆ" ಟೆಂಪ್ಲೇಟ್ನೊಂದಿಗೆ ಅದೇ ಕೆಲಸವನ್ನು ಮತ್ತೊಮ್ಮೆ ಕೇಳಿ ಮತ್ತು ಎರಡು ಔಟ್ಪುಟ್ಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ. ಸಾಧ್ಯವಾದರೆ, ಲಿಂಟರ್/SAST ಉಪಕರಣವನ್ನು ರನ್ ಮಾಡಿ ಮತ್ತು AI ನ ಸ್ವಯಂ ನಿಯಂತ್ರಣಕ್ಕೆ ಸಂಶೋಧನೆಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಿ.
ಪರಿಶೀಲನಾಪಟ್ಟಿ
- [ ] ನಾನು AI ಔಟ್ಪುಟ್ ಅನ್ನು ಮೂರು ಲೇಯರ್ಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸುತ್ತೇನೆ: ನಿಖರತೆ, ಭದ್ರತೆ ಮತ್ತು ಪರವಾನಗಿ.
- [ ] ಬಳಸಿದ ಪ್ರತಿಯೊಂದು ಕಾರ್ಯ, API ಮತ್ತು ಪ್ಯಾಕೇಜ್ ನಿಜವಾಗಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಎಂದು ನಾನು ದೃಢೀಕರಿಸುತ್ತೇನೆ.
- [ ] ನಾನು ಕಂಪೈಲ್, ಟೆಸ್ಟ್, ಲಿಂಟರ್ ಮತ್ತು ಸಾಧ್ಯವಾದರೆ, SAST ಉಪಕರಣಗಳನ್ನು ರನ್ ಮಾಡುತ್ತೇನೆ.
- [ ] ನಾನು ಮೊದಲಿನಿಂದಲೂ ಸುರಕ್ಷಿತ ಮಾದರಿಗಳನ್ನು (ಪ್ಯಾರಾಮೀಟರ್ ಮಾಡಲಾದ ಪ್ರಶ್ನೆ, ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣ, ರಹಸ್ಯ ನಿರ್ವಹಣೆ) ವಿಧಿಸುತ್ತೇನೆ.
- [ ] ನಾನು ಹೊಸ ಅವಲಂಬನೆಗಳ ಪರವಾನಗಿ ಮತ್ತು ಅಗತ್ಯವನ್ನು ಪರಿಶೀಲಿಸುತ್ತೇನೆ.
- [ ] ನಾನು ಸಮರ್ಥ ಇಂಜಿನಿಯರ್ನಿಂದ ಅನುಮೋದನೆಗಾಗಿ ಭದ್ರತಾ-ನಿರ್ಣಾಯಕ ಕೋಡ್ ಅನ್ನು ಸಲ್ಲಿಸುತ್ತಿದ್ದೇನೆ ಮತ್ತು ನಾನು ಜವಾಬ್ದಾರನಾಗಿದ್ದೇನೆ ಎಂದು ನಾನು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೇನೆ.